Apache worker mpm,一个进程和多个线程:了解性能

Apache worker mpm,一个进程和多个线程:了解性能

有一个用 mod_perl 编写的服务器端程序。我使用共享的 apache worker mpm 内存,只有一个进程和大约 60 个线程。我使用锁来临时保护对共享内存的访问,不过 1.7 秒中只有 0.1 秒是锁定时间。

问题是,10 个连续请求和 10 个并发请求的速度相同。

我的压力脚本启动了n每次请求间隔 0.1 秒的繁重 URL 处理请求数。括号中的数字为请求数。

perl stressTestServer.pl n=1
DONE  ( 0 ) > 1.778257 sek 

perl stressTestServer.pl n=5
DONE  ( 3 ) > 8.71926 sek 
DONE  ( 0 ) > 8.85207 sek 
DONE  ( 1 ) > 8.976061 sek 
DONE  ( 4 ) > 9.119936 sek 
DONE  ( 2 ) > 9.218552 sek 

perl stressTestServer.pl n=10
DONE  ( 9 ) > 8.840539 sek 
DONE  ( 7 ) > 9.130133 sek 
DONE  ( 8 ) > 9.271598 sek 
DONE  ( 6 ) > 9.873936 sek 
DONE  ( 5 ) > 10.02668 sek 
DONE  ( 4 ) > 18.169001 sek 
DONE  ( 3 ) > 18.432776 sek 
DONE  ( 2 ) > 18.617186 sek 
DONE  ( 1 ) > 18.775277 sek 
DONE  ( 0 ) > 18.821972 sek 

对于这种设置来说,这是否正常?这是在双核上测试的。换成四核,我能期待这种设置带来什么性能差异?我很难相信更多的内核会有帮助。感觉序列化执行可能比并发线程更有效率。

tx 输入!

相关内容