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