Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I benchmark and profile IO bound Perl web application under heavy load?

How do I benchmark (compare two different implementations) and profile (find performance bottlenecks in an implementation) behavior of a web application (in Perl) under heavy load? This webapp is (supposedly) IO bound rather than CPU bound.

I'd like to compare proposed implementation (proposed improvement) with current solution, either on real load but minimizing eventual performance hit (perhaps two different implementations on different servers behind load balancer), or replay / simulate load on a new implementation, or simulate heavy IO usage.

I'd like also profile CPU and IO bottlenecks in proposed implemetation, but testing behavior under heavy load.

The OS is Linux, web server is Apache.


The same question is posted on ServerFault: How do I benchmark and profile IO bound Perl web application under heavy load?

I think the answer here can be about benchmarking and profiling web application written in Perl, and perhaps also about replicating realistic load conditions, or finding measure / benchmark which would predict which implementation would perform better under IO bound conditions under heavy load.

like image 524
Jakub Narębski Avatar asked Sep 28 '10 09:09

Jakub Narębski


1 Answers

I'd suggest you to use Munin ( http://munin-monitoring.org/ ).

It has tons of plugins to see how a system behaves: cpu, i/o, memory, network usage, mysql transactions, ...almost everything.

like image 132
JoséMi Avatar answered Nov 15 '22 11:11

JoséMi