要想解决高并发,首先要了解网站的高并发的瓶颈是在哪里。
可能有以下几种情况:
1、服务器网络带宽不够
2、访问的web线程连接数不够
3、数据库的连接不够
根据以上的不同的情况可以去考虑不同的解决思路:
1、像第一种情况可以增加网络带宽,DNS域名解析分发多台服务器,不同地区访问该地区的服务器。
2、负载均衡,前置代理服务器nginx、apache等等
3、数据库查询优化,读写分离,分表,分库等等
另外还有些解决的思路来处理高并发:
-
尽量使用缓存,包括用户缓存,信息缓存等,多花点内存来做缓存,可以大量减少与数据库的交互,提高性能。
扫描二维码关注公众号,回复: 5762773 查看本文章 -
用jprofiler等工具找出性能瓶颈,减少额外的开销。
-
优化数据库查询语句,减少直接使用hibernate等工具的直接生成语句(仅耗时较长的查询做优化)。
-
优化数据库结构,多做索引,提高查询效率。
-
统计的功能尽量做缓存,或按每天一统计或定时统计相关报表,避免需要时进行统计的功能。
-
能使用静态页面的地方尽量使用,减少容器的解析(尽量将动态内容生成静态html来显示)。
-
解决以上问题后,使用服务器集群来解决单台的瓶颈问题。