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