大并发高负载下的PHP-FPM参数调优

大并发高负载下的PHP-FPM参数调优

主要针对PHP在Linux下的参数调优

调整文件描述符限制

# ulimit -n 1000000

# vi /etc/security/limits.conf

# Setting Shell Limits for File Descriptors

*  soft nofile 1000000

*  hard nofile 1000000

禁止PHP代码文件所在分区的文件系统访问时间更新

# vi /etc/fstab

比如PHP代码所在分区:

/dev/sdb1   ext4    errors=remount-ro  0  1

修改为:

/dev/sdb1   ext4    noatime,nodiratime,errors=remount-ro  0  1

将临时文件存储到tmpfs

(需要注意的地方)在网站有需要处理大量的小图片上传的时候,使用内存文件系统tmpfs来存储,可以减少一些I/O的开销.但是如果用户是上传非常大的文件(比如:视频)的话,就不适合使用tmpfs.

# vi /etc/fstab

tmpfs                   /tmp                    tmpfs   defaults,nosuid,noatime 0 0

php.ini配置调优

# vi php-app.ini

[PHP]

engine = On

expose_php = Off

max_execution_time = 5

memory_limit = 256M

error_reporting = E_ALL & ~E_DEPRECATED

display_errors = Off

display_startup_errors = Off

html_errors = Off

default_socket_timeout = 5

file_uploads = On

upload_tmp_dir = /tmp/php

upload_max_filesize = 50M

post_max_size = 50M

max_file_uploads = 20

date.timezone = ‘Asia/Shanghai‘

注意这里设置max_execution_time只有5秒.对于一个快的web应用来说,我们真的不想要web应用里有任何长时间运行的web请求,一个web请求持续超过5秒通常意味着有些东西出了问题.我们的目标是页面响应在300-500ms之内.

PHP-FPM配置调优

# vi php-fpm.conf

[my_app]

;FastCGI/PHP-FPM使用UNIX Sockets

listen = /data/my_app/tmp/php.sock

listen.backlog = 300

user = www

group = www

pm = dynamic

;估算pm.max_children = (MAX_MEMORY - 500MB) / 20MB

pm.max_children = 100

;推荐为最大的pm.max_children的%10

pm.start_servers = 10

pm.min_spare_servers = 5

pm.max_spare_servers = 15

pm.max_requests = 1000

pm.status_path = /php_status

request_terminate_timeout = 0

request_slowlog_timeout = 0

slowlog = /data/my_app/logs/slow.log

以上就是这些参数的总结

时间: 2024-10-18 07:23:46

大并发高负载下的PHP-FPM参数调优的相关文章

java处理高并发高负载类网站的优化方法

一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF.尤其是Web2.0的应用,数据库的响应是首先要解决的. 一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降.常用的优化措施是M-S(主-从)方式进行同步复制,将查询和操作和分别在不同的服务器上进行操作.我推荐的是M-M-Slaves方式,2个主Mysql,多个Slaves,需要注意的是,虽然有2个Master,但是同时只有1个是Activ

高并发高负载的大型站点系统架构

大型站点的系统架构须要考虑非常多问题.大型站点有高并发高负载的特点,在面对大量用户訪问.高并发请求方面.主要的解决方式集中在这样几个环节:使用高性能的server.高性能的数据库.高效率的编程语言.还有高性能的Web容器.本文从低成本.高性能和高扩张性的角度来探讨了一些大型站点系统架构须要考虑的问题. AD:WOT2014:用户标签系统与用户数据化运营培训专场 一个小型的站点.比方个人站点,能够使用最简单的html静态页面就实现了.配合一些图片达到美化效果,全部的页面均存放在一个文件夹下,这种站

高并发高负载的大型网站系统架构(转)

高并发高负载的大型网站系统架构(转) 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构.性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件.编程语言.数据库.WebServer.防火墙等各个领域都有了很高的要求,已经不是原来简单的html静态网站所能比拟的. 大型网站,比如门户网站

高并发高负载的大型网站系统架构

大型网站的系统架构需要考虑很多问题.大型网站有高并发高负载的特点,在面对大量用户访问.高并发请求方面,基本的解决方案集中在这样几个环节:使用高性能的服务器.高性能的数据库.高效率的编程语言.还有高性能的Web容器.本文从低成本.高性能和高扩张性的角度来探讨了一些大型网站系统架构需要考虑的问题. AD:WOT2014:用户标签系统与用户数据化运营培训专场 一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统

大型高并发高负载网站的系统架构(转)

一个小型的网站,比如个人网站,可以使用最简单的html静态页面就能实现了,配合一些图片达到美化的效果,所有的页面均放在一个目录下,这样的网 站对系统架构.性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采 用的技术更是涉及面非常广,从硬件到软件.编程语言.数据库.webServer.防火墙等各个领域都有了很高的要求,已经不是原来的简单的html静态 网站的所能比拟的. 大型网站,比如门户网站.在面对大量用户访问.高并

由 12306.cn 谈谈高并发+高负载网站性能技术

12306.cn 网站挂了,被全国人民骂了.我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题.因为仓促,而且完全基于本人有限的经验和了解, 所以,如果有什么问题还请大家一起讨论和指正.(这又是一篇长文,只讨论性能问题,不讨论那些用户界面.用户体验.或是是否把支付和购票下单环节分开的功 能性的东西) 甲.认识业务的特殊性 任何技术都离不开业务需求,所以,要说明性能问题,首先还是想先说说业务问题. 其一,有人可能把这个东西和扣扣或是网游相比.但我觉得这两者是不一样的,网游和扣

mysql主主+keepalived高并发高负载情况测试数据一致性问题

我们对mysql双主+keepalived高可用做了一下测试, mysql做了gtid多线程复制,也做了优化,最后我们的目的是看看,这种高可用在高并发高负载的情况下,down机一台,最后看看两者之间的数据是否一致性,经过几次测试, 我们让开发写了一小段程序,持续往数据库中写数据, 我们找了大概6,7台客户端,同时去想数据库写数据,每个客户端30个线程, 然后在将一台mysql关机,看最后的效果, 其中一台关机,另一台持续写数据,down机的一台在数据写完之前启动起来,而且这台机器上面keepal

大数据技术之_30_JVM学习_01_JVM 位置+JVM 体系结构概览+堆体系结构概述+堆参数调优入门+JVM 的配置和优化+Tomcat 的配置和优化

1.JVM 位置2.JVM 体系结构概览3.堆体系结构概述4.堆参数调优入门5.JVM 的配置和优化6.Tomcat 的配置和优化 熟悉 JVM 架构与 GC 垃圾回收机制以及相应的 JVM 调优,有过在 Linux 系统下的调优经验. 淘宝的周志明<深入理解 Java 虚拟机>中说 JVM 的优化,其中 99% 优化的是堆,1% 优化的是方法区. 内地女歌手照片--李嘉欣,贴在桌面上. 1.JVM 位置 JVM 是运行在操作系统之上的,它与硬件没有直接的交互 2.JVM 体系结构概览 详解如

linux下安装nginx与nginx调优

linux系统为rhel5.6,nginx版本为nginx-1.1.6.tar.gz,可以到网上下载最新的安装,由于nginx是基于很多模块实现强大的功能,所以要安装并编译其他模块软件包,这里安装的模块软件包有:agentzh-encrypted-session-nginx-module-v0.02-0-gc752861.tar.gz.chunkin-nginx-module-0.23rc2.tar.gz.google-perftools-1.8.3.tar.gz.libunwind-0.99.