发布网友 发布时间:2022-04-20 02:03
共7个回答
热心网友 时间:2022-04-08 08:26
你指的高并发量大概有多少?
几点需要注意:
尽量使用缓存,包括用户缓存,信息缓存等,多花点内存来做缓存,可以大量减少与数据库的交互,提高性能。
用jprofiler等工具找出性能瓶颈,减少额外的开销。
优化数据库查询语句,减少直接使用hibernate等工具的直接生成语句(仅耗时较长的查询做优化)。
优化数据库结构,多做索引,提高查询效率。
统计的功能尽量做缓存,或按每天一统计或定时统计相关报表,避免需要时进行统计的功能。
能使用静态页面的地方尽量使用,减少容器的解析(尽量将动态内容生成静态html来显示)。
解决以上问题后,使用服务器集群来解决单台的瓶颈问题。
基本上以上述问题解决后,达到系统最优。
至于楼上有人提到别用JAVA来做,除非是低层的连接数过大(如大量的端口占用需求),这种情况下考虑直接C来写,其他的可以用JAVA来做。
热心网友 时间:2022-04-08 09:44
concurrentmap 一写,多读,线程安全,这应该是你要的答案热心网友 时间:2022-04-08 11:19
这个问题问的太广了,
首先要了解高并发的的瓶颈在哪里?
1、可能是服务器网络带宽不够 2.可能web线程连接数不够 3.可能数据库连接查询上不去。
根据不同的情况,解决思路也不同。
像第一种情况可以增加网络带宽,DNS域名解析分发多台服务器。
负载均衡,前置代理服务器nginx、apache等等
数据库查询优化,读写分离,分表等等
还有其他多种,多学习学习!!!具体情况具体分析。 想要做到淘宝那样,每一个细节都要扣出来。想网页传输的内容压缩等等
热心网友 时间:2022-04-08 13:10
如果有高访问,高并发的需求,就别用java来做。热心网友 时间:2022-04-08 15:18
1:提高数据库连接池热心网友 时间:2022-04-08 17:43
可以考虑分布式部署热心网友 时间:2022-04-08 20:24
做负载均衡吧