我有一个24核心Opteron 8435系统与48GB的RAM。 但是,性能远远低于我们拥有30GB内存的6核Intel。 我想知道为什么有人可以这样做? 我们在这个盒子里运行一个Drupal网站,在同一个盒子上安装mysql 5.0。 PHP 5.6.13和Apache 2.2.9。 时不时的反应比减轻反而更快,但大部分时间都在挣扎。 mpstat -P ALL显示小活动,但它几乎就像阿帕奇儿童有问题启动,但一旦开始罚款? 这是一个CPUcaching问题?
我的dmesg在http://pastebin.com/KSWxqmJe
这台机器尚未投入生产,正在testing和我们的托pipe设施,所以没有任何改变/重启等问题。
我已经closures了BIOS内存交错,这确实有所作为,但仍然在ab -c 10 -n 10的12核心盒之后约100毫秒。
我现在也可以看到这个过程在核心上移动得更好了。
你需要做的是在你的实验室在类似的机器上产生一个合成的负载,并将其行为与另一个不发生问题的行为进行比较。
如果您在testing环境中将其部署到生产环境中,则可能会遇到麻烦。
在高性能环境下在同一台计算机上运行MySQL作为Web服务器的想法会让我感到困扰…您可以在负载很小的情况下获得更好的性能,但通常会减小规模。 不过你的经验可能会有所不同
关键是要精确地重现环境,并对其进行负载testing,这不一定容易,但它是了解在进入生产之前将会发生什么并且影响用户的唯一方法。
你有没有做任何调整? 否则我认为你只能期待一个速度的增加而不是一个哇的改变。
你能不能把服务器分成两个小盒子,所以你有DB和networking服务器? 这将使所有的debugging过程变得更容易。
对于Apache,你使用分叉? 如果是这样的话,尝试调整subprocess号,这会给你更多的并发性(默认数量为150个进程太低,至less在centos上)
我不太了解drupal。 系统表InnoDB? 我很想尝试读一些关于如何增加mysql的缓冲区内存。 坚持这一点