PHP Web System Optimization(undone)
程序员文章站
2022-05-04 08:10:51
...
目录 0 . 引言 1 . PHP Pool 2 . listen 3 . Process Manage(PM) 4 . pm.max_children 5 . PHP DB Connection Pool(数据库连接池) 0. 引言 0x1: WEB系统的性能优化需要考虑哪些方面 对于一个WEB系统来说,从client发起请求,到服务器端处理,最后到返回到cli
目录
0. 引言 1. PHP Pool 2. listen 3. Process Manage(PM) 4. pm.max_children 5. PHP DB Connection Pool(数据库连接池)
0. 引言
0x1: WEB系统的性能优化需要考虑哪些方面
对于一个WEB系统来说,从client发起请求,到服务器端处理,最后到返回到client显示结果,在大多数情况下这是一个较长的链路,其中的每一个环节都存在可以优化性能的热点,例如
1. 将多台web server配置成集群模式,在集群的前端(逻辑)部署Load Balance Server,将客户端的访问请求"平均地"负载到集群的子节点server中 2. 在Load Balance Server和集群之间部署Cache Server,例如对于典型的DB驱动型的应用,使用Redis代替直接Mysql连接就是一个很好的实践 1) 对于insert操作,在向mysql插入的同时,向redis中也保存一份 2) 对于select操作,优先从redis中查询,如果命中失败,再从mysql中查询 3. 集群中的web server采用nginx+php-fpm的组合,nginx在高并发情况下的表现比apache要更好 4. 针对web server上的业务代码进行逻辑优化 5. 将单点的DB,例如mysql,改为读写分离的主从集群架构 6. 使用DB Connection Pool(数据库连接池)代替每次请求都重新创建并销毁DB连接的操作
0x2: PHP解析工作方式
微信