![高负载下的 IIS 服务器的 PHP 和 MySQL 配置](https://linux22.com/image/651088/%E9%AB%98%E8%B4%9F%E8%BD%BD%E4%B8%8B%E7%9A%84%20IIS%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%20PHP%20%E5%92%8C%20MySQL%20%E9%85%8D%E7%BD%AE.png)
我在 Windows Server 2012 上使用 IIS 8 运行 PHP/MYSQL 网站。我的旧服务器存在性能问题,高峰时段 CPU 飙升至 100% 以上。
因此,我刚刚将我的服务器升级为双 8 核 Intel® Xeon® E5-2630V3 2.4GHz CPU 设置,配备 64 GB 的 RAM,这实际上是我旧服务器上内核数量的四倍,但我仍然遇到相同的性能问题。我的总 CPU 仍然飙升至 100% 以上。
长话短说,我相信我的问题可能与 PHP 或 MySQL 配置(或两者)有关。从第一天起,我就一直使用 MySQL 的默认 my.ini(我只提高了 max_input_vars 和 post_max_size),但我发现 MySQL 中包含许多其他配置文件,听起来更适合我的服务器负载(my-huge.ini、my-large.ini 等)。
还有一个名为 my-template.ini 的文件,这是唯一一个讨论 mysql_max_connections 的其他 ini 文件。此值当前设置为 100,但根据我的计算,我应该能够将其提高到 800,尽管我不确定这是否会对我的 CPU 峰值产生任何影响,而且它甚至没有包含在任何其他示例 ini 文件中,这让我怀疑它是否重要。
无论如何,正如您所看到的,我是服务器配置方面的新手。我主要只是一名程序员,所以我在寻求这方面的帮助。我可以简单地尝试其他 mysql 配置文件之一,看看是否有区别吗?
添加:我相信我的表上有所有适当的索引,并且我的查询不是过于复杂,并且当网站上的用户很少时,它非常快。