我有一个应用程序在开发服务器上运行 symfony + wordpress。开发服务器运行的是最低套餐网络派系,这是一个共享服务器,为我提供了 80MB 的 RAM。
该站点通过 mod_fcgid 运行 apache。
目前,该应用程序在该服务器上的运行速度非常快。
我进行了ab
基准测试:
ab -n 1000 -c 10 http://devserver/
并获得了 6.33 个请求/秒,这不是最快的,但该网站似乎足够快。
我将网站移至暂存服务器,该服务器是具有以下规格的 VPS:
> sysctl hw.physmem
3212058624
> sysctl -a | egrep -i 'hw.machine|hw.model|hw.ncpu'
hw.machine: i386
hw.model: Intel(R) Xeon(TM) CPU 3.20GHz
hw.ncpu: 2
hw.machine_arch: i386
所以它看起来是一台相当强大的机器。我运行的是 apache+mod_php,基本上是开箱即用的。有时速度会有明显的差异。有时速度会有非常明显的差异。
我尝试了相同的 ab 基准测试,但它只达到了 20 就认为太多了。
每隔一段时间,速度就可以接受,但是当我回到开发服务器时,我就会想起它的运行速度有多快。
为什么应用程序在高级盒子上运行速度会慢得多?有什么原因吗?
答案1
如果是 wordpress,请尝试查看数据库而不是服务器。你可能需要实现一个像 memcached 这样的缓存层
答案2
我建议尝试nginx
+php-fpm
配置,
该设置易于实现,您可能会观察到显著的性能提升(在各方面,速度和资源、配置和维护的简易性)。
看nginx更准确地说nginx+phpfpm的设置。
答案3
我不熟悉 Wordpress,但即使是你们的开发服务器性能在我看来也相当差。我猜瓶颈可能是内存量。(但为什么要为托管开发机器付费呢?)
至于暂存服务器。不知道。什么是“免费”报告?负载是多少?CPU 使用率是多少?apache 是如何配置的?解决单个请求需要多长时间?对于如此糟糕的性能,它表明系统正在等待 DNS 查询或套接字超时。netstat 报告了什么?iotop?
关于如何调查和解决 Apache 和 PHP 性能问题的完整解释将会写成一本厚厚的书 - 因此您可能无法在 SF 上找到明确的答案。