我有一个 Drupal 站点,它在启动时可能会获得非常高的命中率。我们为首次发布租用了一个非常强大的服务器,之后我们将缩减规模。该服务器具有 Xeon E5-2670 8 核处理器 @ 2.6ghz 和 30gb RAM。
MySQL 已经获得了大量内存,我已经确认 MySQL 实际上是通过“top”使用这些内存的:
innodb_buffer_pool_size = 15G
Run Code Online (Sandbox Code Playgroud)
PHP 已经获得了大量内存(几乎可以肯定是太多了,因为我注意到评论说“每个脚本”):
memory_limit = 6000M
Run Code Online (Sandbox Code Playgroud)
Apache 配置是开箱即用的默认配置:
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
Run Code Online (Sandbox Code Playgroud)
我一直在运行 JMeter 测试(基本上“在站点上抛出尽可能多的线程并尽可能快地请求页面”)并且我可以看到性能随着并发用户数量的增加而下降:
但是,机器上的负载仍然很低。在测试期间,“top”报告有 26gb 的可用内存,“uptime”的平均负载不超过 0.63。我怀疑我们仍然有很多资源可以用来提高性能,但是 Apache 并没有充分利用这些资源。也就是说,我是一名开发人员而不是系统管理员,我也不是服务器性能方面的专家。
为了提高性能,我可以做出的最佳改进是什么?