项目出现的问题记录

项目场景:多用户同时访问页面,大量用户同时进入导致列表页面无法加载出来和二维码详情页二维码无法打开.

描述: 列表页会加载此用户所有拥有的二维码门票列表,用户点击单个二维码将进入二维码详情页面,此页面会查询很多次将详情页面所有需要的数据加载至页面上,访问数据库的操作比较多

问题描述:访问登录页面,二维码列表页,二维码详情页很慢

原因分析:

1 首先肯定是大量用户同时登陆注册进入系统导致系统负载变大,系统执行效率很低
2 二维码会在服务器端进行base64位加密, 这个加密操作很消耗时间
3 代码优化

解决方案:

  1. 首先增大了服务器内存和CPU ,扩展完服务器后cpu占用降低至30%左右, 内存占用20%吧好像,扩增完之后服务器负荷已经减少很多,但是项目执行访问效果并不如意,
  2. 负载均衡 nginx 两个服务器切换使用
  3. 优化Tomcat 增大内存 增大并发数量 默认200 直接增大至5000 但是实际测试好像没什么用
  4. 优化代码 将多个请求合并 请求二维码和二维码覆盖的请求合并 但是后来又取消合并了 认为同时加载二维码和查询日志记录表会很慢 还不如拆分开来获取二维码更快
  5. 优化mysql 建立查询索引 日志表 建立多行索引 多列索引比单列索引查询效率更高
ALTER TABLEADD INDEX  索引名(1,2,3)

这些操作做完之后实际效果并不如意,明天看看再说

你可能感兴趣的:(Java,Bug,mysql,java)