提高Web网站性能和可伸缩性的若干建议
简介:这是提高Web网站性能和可伸缩性的若干建议的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。
class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=358851' scrolling='no'>- 标杆对比(Benchmarking);
- 多应用服务;
- 不要在应用服务上保持状态;
- 无状态;
- 架构优化;
- 缓存点击率高的内容;
- 用测量和检测数据说话,不要猜测;
- 网页静态化;
- 权衡缓存的应用;
- 缓存整个页面;
- 缓存局部页面;
- 缓存复杂的数据;
- 理解MySql查询缓冲;
- 复制数据库表读操作,不要复制写操作;
- 写操作分区表。但96%的应用可以忽略这点;
- 主-主架构使得数据库结构在线更新变得更为方便;
- 创建统计数据库表代替在运行时使用COUNT和GROUP BY查询;
- 保证代码幂等,如果代码运行失败在任何时候都能够恢复;
- 异步装载数据,批量更新数据;
- 尽可能在应用中做处理功能,而不是放在数据库中去;
- 存储过程是危险的;
- 启用查询日志;
- 不同的工作负载使用不同的MySql实例;
- 配置调优帮助和查询优化;
- 慎重考虑数据库持久性连接;
- 不要过度使用数据库,数据库是难于扩展的;
- 使用并行处理;
- 记录HTTP请求日志;
- 轻型任务使用轻量级过程;
- 建立内部APIs,清晰松耦合的APIs便于扩展;
- 自动处理错误;
- 保证服务一直在运转;
- 负责均衡是横向扩展系统的关键;
- 冗余不是负载均衡,确保n+1的负载能力;
- 做好容灾计划;
- 做好备份;
- 确保系统容易部署;
- 任何事情都可以用脚本完成;
- 对任何东西做监控和图表;
- 每台服务器上运行一个服务;
- 不要以内存换硬盘;
- 如果内存足够则使用缓存(Memcached);
- 多使用内存,节省CPU、IO的开销;
- 网络启动应用服务;
- 用图表说话;
- 使用内容分发CDN;
- 使用YSlow查找出客户端的问题;
浙公网安备 33010602011771号