This topic created in 1652 days ago, the information mentioned may be changed or developed.
我们的项目是单机部署。
有一个接口,平常访问是 300ms 左右,有一次 4 分钟内项目所有请求是 12000 次,其中这个接口被访问了 8000 次,有 1000 次左右响应时间都是 11s 。
我们的服务器是 8 核 16 线程的,一共部署了 4 个项目,其他项目是内部使用,访问量不会太大,tomcat 参数没有配置过。
现在我想问一下,那次访问变慢是 8 核 cpu 处理太多请求的原因,还是 tomcat 限制 200 并发的原因?
求各位大佬解答
19 replies 2021-11-05 15:00:48 +08:00  | | 2 liuxu Nov 3, 2021 3 我的电脑平时用的挺好了,开了个软件就卡了,怎么回事,是不是我的电脑限制了这个软件运行,求大佬解答 |
 | | 3 BBCCBB Nov 3, 2021 要做监控.. 才能知道是 tomcat, cpu 还是说压力大了你代码里某部分执行的慢了. 比如 sql 在压力下执行的慢了.
猜是猜不出来的. |
 | | 4 theOneMe Nov 3, 2021 就你单机部署,单个接口而言,限制并发的原因就是接口的响应耗时和线程数配置,当然这些影响因素要以其中的短板来说 |
 | | 5 Mithril Nov 3, 2021 性能调优要先做 profile ,不要虚空打靶随便瞎调。除非这问题你见过,不然纯属浪费时间。 |
 | | 6 hiranye Nov 3, 2021 这个信息不够啊,你只描述了现象,响应慢的话和 CPU 负载、数据库负载都有关系的,还是得看当时的服务器状态 |
 | | 7 securityCoding Nov 3, 2021 接口反应慢第一时间查 sql ,一上来就开始 tomcat 调优大概率会调了个寂寞 |
 | | 8 clf Nov 3, 2021 接口做了啥操作,数据库是啥,信息呢?
(我电脑很卡,你能帮我修一下吗) |
 | | 9 MaxTan Nov 3, 2021 我最近在拿上游接口数据,也是跑个几分钟就开始变慢,最后干脆 timeout 无响应,老实说是不是你? |
 | | 10 dqzcwxb Nov 3, 2021 接口响应 11s 你不去优化再怎么提高线程池数并发数都白搭 |
 | | 11 ch2 Nov 3, 2021 查日志 |
 | | 12 byte10 Nov 3, 2021 只有一个原因那就是代码烂,8 核 闭着眼睛写,只要逻辑正确,随便几千的并发问题不大。4 分钟 8000 次,平均每秒 40 并发,赶紧看看代码把,tomcat 默认配置都不至于这么差的并发,哪怕配置负优化,也不至于这么差。 |
 | | 14 3kkkk Nov 3, 2021 查代码吧你是有多看不起 tomcat 和 8 核主机。 |
 | | 15 Latin Nov 3, 2021 开个 ssh 让我上去看看( |
 | | 16 yuseoikei Nov 3, 2021 看一下哪些更新操作的 sql 比较耗时,而且没走索引 |
 | | 17 nekoyaki Nov 3, 2021 老板让你同时干 10 个活,你干得比干一个活的时候慢,是公司的限制还是老板的限制? |
 | | 18 zeni123 Nov 3, 2021 用 java 自带工具 jvisualvm 连上去看看
1. CPU 占用量 2. 线程的数量 一台机器最大 10000 ,也也可看看有多少是 WAITING 状态。看看是否有死锁 3. Full GC 是否频繁
上面是 JAVA 的,然后就是看数据库的了 |
 | | 19 Konys Nov 5, 2021 遇到这种问题我一般先往 SQL 上想 |