接下来我们要讨论的是如何调优服务器,让 PHP 应用的性能维持在更高水平。
默认安装的 PHP 就像是在百货商店里购买的普通套装,虽然合身,却不完美。调优的 PHP 就像是定做的套装,完全匹配你的尺寸。不过,需要注意的是,调优 PHP 只是提升 PHP 性能和效率的举措,对拙劣的代码和无响应的 API 调用无计可施。
php.ini文件
PHP 解释器在php.ini文件中配置和调优,这个文件在不同操作系统中的位置有所不同,而且一般命令行对应的php.ini和 PHP-FPM 对应的php.ini文件是分开的。这里我们假设配置的是 PHP-FPM 对应的php.ini,但是下面讲的优化措施适用于所有php.ini。
内存
运行 PHP 时需要关心每个 PHP 进程要使用多少内存,php.ini中的memory_limit设置用于设定单个 PHP 进程可以使用的系统内存最大值。
这个设置的默认值是 128M,这对于大多数中小型 PHP 应用来说或许合适,不过,如果运行的是微型 PHP 应用,可以降低这个值,以便节省系统资源,反之,如果运行的是内存集中型 PHP 应用,可以增加这个值。这个值的大小由可用的系统内存决定,确定给 PHP 分配多少值是一门艺术,决定给 PHP 分配多少内存,以及能负担起多少个 PHP-FPM 进程时,可以根据以下维度信息进行判断:
*一共可以分配给 PHP 多少内存?*以一个 2G 内存的 VPS 为例,这台设备中可能还运行了其他进程,如 MySQL、Nginx 等,那么留 512M 给 PHP 是合适的。
*每个 PHP 进程平均耗费多少内存?*这个要监控进程的内存使用量,可以使用命令行命令top