首先得找台足够性能的机器来测试,性能不足时代码运行会出现各种奇怪的现象,导致浪费时间

文章: https://www.jianshu.com/p/4cd8596352ad   只改了5行代码吞吐量提升10倍多

SQL 改为异步执行   提升2倍

中间一通折腾,效果不佳

观察到CPU使用率仍然较高,在砍掉大量线程后,   代码慢?转向 CPU高?

打印堆栈(JAVA)发现大量的 getBean->createBean的情况, 找到最终点: 调用redis时会重复创建新的 jedis实例, 每秒会进行10次createBean

改为New

排查涉及的命令如下:

查询服务进程CPU情况: top –Hp pid

查询JVM GC相关参数:jstat -gc pid 2000 (对 pid [进程号] 每隔 2s 输出一次日志)

打印当前堆栈信息: jstack -l pid >> stack.log

结果是好的,过程是曲折的。总的来说还是知识的欠缺,文章看起来还算顺畅,但都是事后诸葛亮,不对,应该是时候臭皮匠。基本都是边查资料边分析边操作,前后花费了4天时间,尝试了很多。

Mysql : Buffer Pool 、Change Buffer 、Redo Log 大小、双一配置...
代码 : 异步执行,线程池参数调整,tomcat 配置,Druid连接池配置...
JVM : 内存大小,分配,垃圾收集器都想换...
总归一通瞎搞,能想到的都试试。 后续还需要多了解一些性能优化知识,至少要做到排查思路清晰,不瞎搞。 最后5行代码有哪些: new Redis实例:1
耗时统计:3
SQL异步执行 @Async: 1(上图最终的结果是包含该部分的,时间原因未对SQL进行处理,后续会考虑Redis原子操作+定时同步数据库方式来进行,避免同时操数据库)

最新文章

  1. 关于openssl几个API的一点小收获
  2. CSS Shake – 摇摆摇摆!动感的 CSS 抖动效果
  3. 洛谷OJ P1196 银河英雄传说(带权并查集)
  4. Unity3D之空间转换学习笔记(三):3D数学
  5. [MySQL5.6] 一个简单的optimizer_trace示例
  6. Error creating bean with name 'contentCategoryController': Injection of autowired dependencies failed;
  7. 8.17HTML 标签
  8. 使用.Net+非关系型数据库MongoDB 实现LBS商家按距离排序_按离我最近排序
  9. 【Vue.js】代码优化:在dom中加一行v-if就可少写一个循环类方法
  10. vivado2016.1下载程序出错:End of startup status: LOW
  11. wxWidgets 和 QT 之间的选择
  12. Help Me Escape ZOJ - 3640
  13. mysql error(2003) 10060的再解决
  14. Ceph 集群整体迁移方案(转)
  15. function的toString方法
  16. 洛谷试炼场-简单数学问题-P1403 [AHOI2005]-因数
  17. k8s device plugin
  18. Java类、属性、方法、构造方法、块、内部类的基本概念
  19. 【甘道夫】CDH5.2的Maven依赖
  20. junit 知识点

热门文章

  1. Python elasticsearch 使用心得
  2. vue移动端禁止弹层穿透、点击元素滚动到视图中心杂文日志
  3. iOS开发 调试技巧
  4. CVE-2020-1938 Tomcat AJP漏洞复现
  5. virtualBox虚拟机中安装linux系统并连接
  6. Jest - Using test function to test the function
  7. nginx重启报错 nginx: [error] open() “/run/nginx.pid“ failed (2: No such file or directory)
  8. JDK-11.0.17 + Neo4j-4.4.12
  9. vuecli创建项目-vue项目目录介绍-es6导入导出语法-小练习登录功能-scoped
  10. 【三维重建】Ubuntu20.04进行RealSenseD435环境配置及初步使用