当网站有很多人访问的时候,并发量增大,这个时候我们所设计的网站就会遇到挑战。很多本来是没有问题的设计,这个时候可能就会暴露出问题了。
就像宏观物理定理不适合微观一样。
下面是一些优化的建议方法。
这个是在硬件上提升服务器,因为任何软件上的优化都是有瓶颈和极限的,所以提高服务器数量和配置是比较简单也很有效的解决办法。假如性能不是很好,那么就保证数量。最好再有一台作为冗余的来保障服务器的故障,提高鲁棒性。
这个词在现在很火,因为很多网站都在收集大量的数据,所以数据的并发量也很好。负载均衡是解决集中并发访问的核心技术,也是一种比较有效的方法。
主要设备就是负载均衡服务器,安装负载均衡软件,把大规模用户产生的高并发均衡分流到各个服务器上。
这部分内容也很多,一般都是对数据库结构,数据库语句进行优化。下面我会详细写一下数据库的优化方法。
这部分我接触不多,当时也没好好学。
如Apache, IIS, Tomact, WebLogin 这些都是中间件。
缓存是把数据库的常用数据用Cache缓存起来,减少服务器重新请求的压力。提高速度。
数据库高并发的情况,要先找一下瓶颈所在。CPU还是IO还是网络。
所以我们可以有下面的一些解决方案:
这里写下我平时学的还有书上的一些知识,关于数据库的一些设计简易。
1. 多表设计。
2. 不要用自增属性作为主键与子表进行关联,不便于系统迁移和恢复。
放弃索引会进行全表扫描的操作
- 对NULL值进行判断。( 默认值为0会改善 )
- 用!= 或者 <> 操作符
- 用or链接
in 和 not in
where
子句中对字段使用函数操作。=
左边进行表达式操作。group by
union all
取代 union
尽量避免使用游标,基于集的方法可能更有效。
建立高效的索引。
大型数据库一般有两种索引:簇索引和非簇索引。
没有簇索引的表是按照堆结构存储的。所数据添加在表的尾部。
一个表只有一个簇索引,数据在物理上是按照簇索引的顺序存储的(B树结构)。提高查询速度。会降低插入更新删除操作的性能。
大致如上。学习笔记。
原文地址:http://blog.csdn.net/alps1992/article/details/45101685