关于传统行业项目的并发问题,想请教一下

            说一下前提背景,医院用户传统行业,项目技术比较陈旧,我也是刚来不久,所以关于系统架构的这些问题就暂时忽略吧,公司也没有架构师。

----------------------------------------------------------------------------------------------------------------------------------------------------

进入主题,问题大概流程是这样的,上百个终端同时轮询直接请求接口数据,查询list到页面处理,频率大概是 单终端每2秒请求三次,没有任何中间件,最近连续两天出现早高峰系统死锁,由于场景特殊,必须马上重启来提供使用,所以无法复现并且无法暂留追踪问题,想咨询一下根据目前的状况来看有什么好的建议吗

(调整架构这些长远的就暂时不说了吧,毕竟我们说了也不算的……)

评论区

JFinal

2019-10-22 15:37

对热点区域要心中有个大致的数,如果希望很小的改动就可以解决问题,可以在热点区域用一下缓存,这样相以让系统直接响应缓存,而不是直接查询数据库

当然,如果数据实时性很高的话缓存也不合适,要考虑数据库的优化,或者考虑将部分数据从关系型数据库转移到类似于 redis 这样的地方

JFinal

2019-10-22 15:38

还有一个办法,开启 druid 的统计功能,可以得到查询慢的 sql, 找到慢的 sql 以后,可以针对性的优化这部分数据库逻辑,例如将 select * 改成 select x, x, x .... 这样的

JFinal

2019-10-22 15:38

最后,这个问题与 jfinal 的关系是?

tinshen

2019-10-22 16:40

贴一下你的tomcat、数据库类型、配置,我的tps在2000多,跑的很开心。

smile_5478

2019-10-24 17:11

@JFinal 谢谢回答,又在忙另一个项目忘了看帖子了,最终是增加了线程池的最大数量和把最大的关系表的所有字段增加索引来暂时解决了问题,后续问题可能会考虑项目架构转型了,

smile_5478

2019-10-24 17:12

@tinshen 谢谢回答,问题暂时通过增加线程数最大数量缓解了

JFinal

2019-10-24 17:33

@smile_5478 增加索引应该是解决该问题的真正原因,线程池数量除非原本配置很小,否则一般是不会出现瓶颈的

热门反馈

扫码入社