linux下PHP性能优化

1. 打开文件数

linux在默认打开的文件数为1024,是非常低的。然而nginx与php-fpm通信时使用的是Uninx sockets(在linux上即为文件),这样会影响他们之间的并发通信。

1 > vi /etc/security/limits.conf
2 * soft nofile 100000
3 * hard nofile 100000
4 > ulimit -n 100000

2. 关闭文件系统访问时间

默认情况下, 大多数Linux发行版中, 文件系统会跟踪上次文件访问或阅读的时间。访问跟踪基本上是没有用的,而且还会产生I/O操作。这们可以禁用php文件所在分区上的这个特征。

vi /etc/fstab
#修改如下示例内容,你的可能不内
/dev/sdb1 / ext4 errors=remount-ro 0 1
#个性为
/dev/sdb1 / ext4 noatime,nodiratime,errors=remount-ro 0 1
mount -o remount /dev/sdb1

3. 存储临时文件到内存(tmpfs)中

如果你的应用中用户上传很频繁的话,那么将会产生大量的I/O操作,通过使用tmpfs,把/tmp目录放在内存中,php和nginx处理文件上传缓存时将更高效。不过这种方式只适合于处理小图片/文件之类的。

vi /etc/fstab
tmpfs /tmp tmpfs defaults,nosuid,noatime 0 0
#重新加载/tmp目录
mount /tmp
#查看文件系统状态
df -h

4. 调整您的php.ini改善性能

1 > vi /etc/php5/fpm/php.ini
2 [PHP]
3 engine = On
4 expose_php = Off
5
6 max_execution_time = 5
7 memory_limit = -1
8 error_reporting = E_ALL & ~E_DEPRECATED
9 display_errors = Off
10 display_startup_errors = Off
11 html_errors = Off
12 default_socket_timeout = 5
13
14 file_uploads = On
15 upload_tmp_dir = /tmp/php
16 upload_max_filesize = 50M
17 post_max_size = 50M
18 max_file_uploads = 20
19
20 date.timezone = 'UTC'
21
22 cgi.fix_pathinfo = 0



 

你可能感兴趣的:(linux下PHP性能优化)