-
Notifications
You must be signed in to change notification settings - Fork 190
Performance measurement basics
Before you can start with this tool, you should know the basics of performance measurement of web applications.
Performance metrics are usually based on multiple requests (and especially when using request-log-analyzer). Taking only a single request into account is not very useful, because the duration of a request can vary greatly and it does not take the frequency into account.
For Rails applications, it makes sense to look at groups of requests belonging to a certain action. Every request that is handled by the same action usually has a similar performance, because the same code is executed, similar queries are executed.
- Requests per second is the amount of requests that can be handled within a second. The bigger this number is, the better. It is the most well-known performance metric for web applications, but it isn’t without criticism .
- Average server time is the average time that the server needs to handle a request. This duration is what the visitor has to wait for and determines the user experience. The lower this number is, the better.
- Cumulative server time is the sum of all the server time that was needed to handle all requests for a given group (action). This is what your server “feels”, or is similar to the load on your server. This measurement takes the relative popularity of an action into account. Again, the lower this number is, the better.
- Client time is a metric that takes into account how long it takes to execute the action, but also other factors that impact the performance in the browser, like downloading images, executing javascript, latency, etc. This is an even better performance metric for user experience. As log files are generated on the server, this information is not available to request-log-analyzer and this metric cannot be used.
The reports of request-log-analyzer include average server time and cumulative server time, but also some other metrics like database time and rending time.