前天遇到了一个高手,给我讲了一下高并发的时候需要注意的一些问题,在此先列出来,后面再慢慢完善。
1.数据库设计
1.1表结构
很重要的一个,将常用表和非常用表分开,因为常用表的数据经常用于共享,如果全部共享那就造成数据冗余,降低效率;另外一个,表结构好,查询速度,数据的处理都会快很多;
1.2 善用索引,触发器,存储过程,事务,高效率sql语句等等
2.分布式,服务器负载均衡
具体实现可以Google方案。
3.数据库集群
Oracle、Sybase等都有很好的方案,常用的MySQL提供的Master/Slave也是类似的方案,您使用了什么样的DB,就参考相应的解决方案
4.数据库表散列
http://blog.csdn.net/xiechao240/article/details/5863691
5.session共享
以memcache为内存管理系统来设计的高可用,高负载,高性能的中央存储区之session共享。
http://blog.csdn.net/kongdeqian1988/article/details/38434457
6.缓存
html静态页面缓存,数据库缓存,服务器缓存等等
7.图片服务器分离
图片是最消耗资源的,于是我们有必要将图片与页面进行分离,这是基本上大型网站都会采用的策略,他们都有独立的、甚至很多台的图片服务器
总结:所用的方法主要都是为了
1.少用内存;
2.降低cpu占有率;
3.降低操作io的频繁性:文件io,网络io,数据io。