lighttpd:SMP 工作者导致性能下降

lighttpd:SMP 工作者导致性能下降

我正在尝试使用多核 SMP 工作器来提高 lighttpd 系统的性能。但结果发现,它不但没有提高性能,反而降低了性能。我似乎不明白为什么会这样。

文档声称当配置的 SMP 工作器数量大约为核心数量的两倍时,它应该与核心/处理器数量线性扩展。我针对核心:工作器比率和进行了1:1测试1:2

我正在用 对此进行基准测试ab。我的设置有 4 个虚拟核心。

以下是使用小文档进行的测试结果

ab -n 10000 -c 50  http://localhost/index.html

1. Default(no smp workers)
   Requests per second:    3581.99 [#/sec] (mean)
   Time per request:       13.959 [ms] (mean)
   Time per request:       0.279 [ms] (mean, across all concurrent requests)
   Transfer rate:          1518.15 [Kbytes/sec] received

2. 8 SMP workers
   Requests per second:    2292.12 [#/sec] (mean)
   Time per request:       21.814 [ms] (mean)
   Time per request:       0.436 [ms] (mean, across all concurrent requests)
   Transfer rate:          971.46 [Kbytes/sec] received

3. 4 SMP workers
   Requests per second:    2510.13 [#/sec] (mean)
   Time per request:       19.919 [ms] (mean)
   Time per request:       0.398 [ms] (mean, across all concurrent requests)
   Transfer rate:          1063.86 [Kbytes/sec] received

这些结果对我来说很有意义。这些结果在任何其他机器上也很容易重复。事实上,随着机器的功率越来越大,降解效果也越来越明显。有什么解释吗?

答案1

如果你有 4 个核心,那为什么要用 8 个线程进行测试?我会选择 2、3、4 和 5

您正在与 Web 服务器在同一台机器上运行 ab。您是否隔离了 ab 和 lighttpd 之间的处理器?如果没有,那么它们将争夺 CPU,如果您的负载过高,那么 Web 服务器进程将过早地被踢出 CPU。

尝试从单独的硬件运行 ab。

相关内容