- 在考虑性能调优之前,需要花些时间让你的代码正常工作
- 一旦代码可以很好的工作,你就可以找出较慢的部分
- 优化代码的目标通常为缩短运行时间和减少内存占用
apache基准测试---ab
ab -c 10 -n 1000 http://davidzhao.cc
测试php脚本速度,用10个并发请求执行1000次
microtime()来包围代码标识消逝时间
- 避免使用printf,只用echo
- 避免在循环中重新计算值
- 只包含必要的文件
- 用数据库,要使用持久化数据库连接,开关数据库连接速度慢
- 当可以用简单的字符串操作函数时就不要用正则表达式
- 用数字代替字符串
- 处理完大字符串,把保存字符串的变量置为空
- 只包含必要的文件,使用_once
- 处理完mysql的结果集后立即释放
反向代理缓存
反向代理是放在网页服务器前端的程序,它处理所有客户端浏览器的连接
负载均衡和重定向
- 分摊负载到几台机器上
- 一个"负载均衡系统"通过均衡的分布负载或转发请求到较少负载的机器上来实现
- 重定向器是一个程序,它重写传入的URL,允许细粒度的控制请求到独立服务器上的分布
数据库复制
- 很多并发查询可能会拖垮一个服务器,从而导致表现低能
- 复制是一个很好的解决方案
- 把发生在一个数据库上的所有同步带到其他一个或多个数据库上
- 最有效的模型是用单向复制,就是你只有一个主数据库要复制到几个从数据库上.
- 写数据库到主服务器,读数据库是用负载均衡的跨多个从库
- 这个技术的目标架构是多读和少写
网友评论