Scalability & Profiling

Izzatul Muttaqin
PPL C6 Big Data
Published in
2 min readMay 29, 2019
Profiling (non software)

Scalability & Profiling

Scalability is is an attribute that describes the ability of a process, network, software or organization to grow and manage increased demand. A system, business or software that is described as scalable has an advantage because it is more adaptable to the changing needs or demands of its users or clients.

Profiling is a form of dynamic program analysis (as opposed to static code analysis), is the investigation of a program’s behavior using information gathered as the program executes. The usual purpose of this analysis is to determine which sections of a program to optimize — to increase its overall speed, decrease its memory requirement or sometimes both.

Scalability

Promise snippet for accessing the database

Within our server, the usage of asynchronous used to achieve scalability. Within our project using express, asynchronous is used by Promise(success, fail) and then to solve the success and fail condition of the program. This applied within upload and get data from the postgres database so the server is able to maintain the same performance as the volume of data increases.

Profiling

To profile server of express node.js, V8 Profiler is used which is a default profiler from node.js. In order to get the profiler works, a command is used to run it.

node -prof ./app.

The profiler will create a log file, within the test, a isolate-000002140EC4B010-v8.log is resulted from the command above. To check contain of the log file command.

node -prof-process isolate-000002140EC4B010-v8.log

Within the picture, is shown that the highest ticks of the server is 164 ticks. The ticks is spent mostly on modules, thus it would be hard thing to improve and optimize the server.

--

--