我有一个 24 核 Opteron 8435 系统,配备 48GB RAM。但是,其性能远低于配备 30GB RAM 的 6 核 Intel。我想知道是否有人能解释为什么?我们在这个机器上运行 Drupal 网站,并在同一个机器上安装了 mysql 5.0。PHP 5.6.13 和 Apache 2.2.9。有时响应比闪电还快,但大多数时候都很吃力。mpstat -P ALL 显示的活动很少,但这几乎就像 Apache 子进程在启动时遇到问题,但一旦启动就没问题了?这是 CPU 缓存问题吗?
我的 dmesg 位于http://pastebin.com/KSWxqmJe
答案1
该机器尚未投入生产,并且正在测试和托管设施中,因此进行更改/重启等不会出现问题。
我已经关闭了 BIOS 内存交叉存取,这确实产生了一些影响,但到目前为止,仍然比 ab -c 10 -n 10 上的 12 核盒落后约 100 毫秒。
我现在也可以看到该流程在核心中进展得更好。
答案2
您需要做的是在实验室中的类似机器上产生合成负载,并将其行为与未出现问题的另一台机器进行比较。
如果您没有在测试环境中尝试就将其部署到生产中,那么您可能会遇到麻烦。
在同一台机器上运行 MySQL 和 Web 服务器以实现高性能环境的想法让我有点困扰……虽然负载较小,但性能会更好,但通常扩展性会较差。不过您的体验可能会有所不同。
关键是准确地重现环境并对其进行负载测试,这并不容易,但这是在投入生产并影响用户之前了解会发生什么的唯一方法。
答案3
您是否做了任何调整?否则我认为您只能期待速度的提升,而不会期待令人惊叹的变化。
您能否将服务器分成两个较小的盒子,以便拥有数据库和网络服务器?这将使所有调试过程变得更加容易。
对于 Apache,您是否使用分叉?如果是,请尝试调整子进程数,这将为您提供更多并发性(默认的 150 个进程数太低,至少在 centos 上)
我对 drupal 了解不多。系统表是 InnoDB 吗?我尝试阅读一些有关如何增加 mysql 缓冲内存的文章。坚持这