搜索

JAVA中高访问量高并发的问题怎么解决?

发布网友 发布时间:2022-04-20 02:03

我来回答

7个回答

热心网友 时间:2022-04-08 08:26

你指的高并发量大概有多少?

几点需要注意:

尽量使用缓存,包括用户缓存,信息缓存等,多花点内存来做缓存,可以大量减少与数据库的交互,提高性能。

用jprofiler等工具找出性能瓶颈,减少额外的开销。

优化数据库查询语句,减少直接使用hibernate等工具的直接生成语句(仅耗时较长的查询做优化)。

优化数据库结构,多做索引,提高查询效率。

统计的功能尽量做缓存,或按每天一统计或定时统计相关报表,避免需要时进行统计的功能。

能使用静态页面的地方尽量使用,减少容器的解析(尽量将动态内容生成静态html来显示)。

解决以上问题后,使用服务器集群来解决单台的瓶颈问题。

基本上以上述问题解决后,达到系统最优。

至于楼上有人提到别用JAVA来做,除非是低层的连接数过大(如大量的端口占用需求),这种情况下考虑直接C来写,其他的可以用JAVA来做。

热心网友 时间:2022-04-08 09:44

concurrentmap 一写,多读,线程安全,这应该是你要的答案
synchronizedmap 一写一读
如果数据量达到10TB以上 那建议用 Hadoop 或 spark

热心网友 时间:2022-04-08 11:19

这个问题问的太广了,

首先要了解高并发的的瓶颈在哪里? 

1、可能是服务器网络带宽不够 2.可能web线程连接数不够 3.可能数据库连接查询上不去。

 

根据不同的情况,解决思路也不同。

像第一种情况可以增加网络带宽,DNS域名解析分发多台服务器。

负载均衡,前置代理服务器nginx、apache等等

数据库查询优化,读写分离,分表等等


还有其他多种,多学习学习!!!具体情况具体分析。 想要做到淘宝那样,每一个细节都要扣出来。想网页传输的内容压缩等等

热心网友 时间:2022-04-08 13:10

如果有高访问,高并发的需求,就别用java来做。
java不适合做这种方面的工作,它在web上的用途更多是用来做行业性软件开发,对讲求效率方面的网站性工作不太适合。
如果非要用java做的话,一是调优,二是采用集群模式布署。三是写好网站的程序。4是不要做实时性要求比较高的工作,降低对严谨性方面的要求。

热心网友 时间:2022-04-08 15:18

1:提高数据库连接池
2:引入多线程Thread
3:多设临时状态(好控制)
4:详谈qq:863432026

热心网友 时间:2022-04-08 17:43

可以考虑分布式部署

热心网友 时间:2022-04-08 20:24

做负载均衡吧
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top