高并发解决方案

如何解决高并发
缓存
静态页面
图片服务器分离
优化数据库结构,多做索引
数据库集群和库表散列
开启多线程,使用多线程+队列,异步响应高并发请求


不要频繁得使用new对象,能使用单例模式就使用, 对于utility类型的类通过静态方法来访问。
使用线程安全的集合对象vector  hashtable
使用线程池

尽量使用缓存,包括用户缓存,信息缓存等,多花点内存来做缓存,可以大量减少与数据库的交互,提高性能。
用jprofiler等工具找出性能瓶颈,减少额外的开销。
优化数据库查询语句,减少直接使用hibernate等工具的直接生成语句(仅耗时较长的查询做优化)。
优化数据库结构,多做索引,提高查询效率。
统计的功能尽量做缓存,或按每天一统计或定时统计相关报表,避免需要时进行统计的功能。
能使用静态页面的地方尽量使用,减少容器的解析(尽量将动态内容生成静态html来显示)。
解决以上问题后,使用服务器集群来解决单台的瓶颈问题。


html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现,比如论坛中论坛的公用设置信息,这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数据库访问请求。

posted @ 2017-12-28 23:35  沉迷学习,日渐消瘦  阅读(398)  评论(0编辑  收藏  举报