1、
监控网站数据库负载。
2、 "explain"所有的SQL语句。
3、
缓存所有能缓存的东西。
4、
归档好代码。
硬件方面:
先要找出瓶颈在哪个部分:是CPU负荷太高(经常100%),还是内存不够用(大量使用虚拟内存),还是磁盘I/O性能跟不上(硬盘指示灯狂闪)?这几个都是可以通过升级硬件来解决或者改善的(使用更高等级的CPU,更快速和更大容量的内存,配置硬件磁盘阵列并使用更多数量的高速SCSI硬盘),但这需要较大的投入。
软件方面:
如果使用了更大容量的内存和改善的I/O性能,已经能够大幅提高数据库的运行效率,还可以配置查询缓存和进一步优化数据库结构和查询语句,就能让数据库的性能再进一大步。
开发:
建议应用只需要包含三个层就可以了,数据(实体)层,业务逻辑层,表现层。太复杂的设计容易降低开发效率,提高维护成本,在出现性能问题或者突发事件的时候也不容易找到原因。
高效的SQL:一般是那个最简单的SQL;例如查看MySQL的SlowQuery Log。
架构设计
良好设计并实现的应用+中间件+良好的分布式设计的数据库+良好的系统配置+良好的服务器/网络结构,就可以支撑起一个较大规模的网站。
待续~
文章来源:刘俊涛的博客
地址:http://www.cnblogs.com/lovebing
时间: 2024-10-11 17:07:41