如何在負載較重的情況下對Web應用程序(使用Perl)進行基準測試(比較兩種不同的實現)和配置文件(查找實現中的性能瓶頸)行爲?這個webapp是(據說)IO綁定而不是CPU綁定。如何在負載較重的情況下對IO綁定的Perl Web應用程序進行基準測試和配置文件描述?
我想比較提議的實施(提議的改進)與當前的解決方案,要麼在實際負載上,要麼最小化最終性能命中(可能是負載均衡器後面的不同服務器上的兩種不同實現),或者重新/模擬新實施或模擬繁重的IO使用情況。
我也想分析提議的實現中的CPU和IO瓶頸,但是在重負載下測試行爲。
操作系統是Linux,網絡服務器是Apache。
同樣的問題被髮布在ServerFault:How do I benchmark and profile IO bound Perl web application under heavy load?
我認爲這裏的回答可以是關於基準和分析用Perl編寫的Web應用程序,或許也即將複製現實負載條件下,或尋找措施/基準能夠預測哪種實施方案在重負荷下的IO界限條件下表現更好。
Plain CGI和FastCGI(通過CGI.pm和CGI :: Fast),通過ModPerl :: Registry進行mod_perl部署,通過使用Plack :: App :: WrapCGI進行封裝的PSGI部署 – 2010-09-28 11:21:53
我不確定是否有OS - 或者與驅動程序無關的方式來修改此..您可能會發現一些特定於您的持久性存儲驅動程序的工具,可以告訴您使用情況統計信息,例如字節傳輸,吞吐量等,你可以比較你的不同實現。您可能還想在http://serverfault.com上拋出此問題以查看Linux的磁盤使用實用程序?這不像系統管理那樣是一個真正的Perl問題。 – Ether 2010-09-28 16:18:09
http://www.perl.org/about/whitepapers/perl-profiling.html – eSniff 2010-09-29 18:43:58