高并发 压力测试 代码优化
1、寻找问题
打印本地请求操作时间 request.getSession().getId() + System.currentTimeMillis() 来找到请求时间受限的最大问题。
2、处理问题
如果是sql问题,优化sql。代码问题就优化代码。关键是找到访问时间受限的位置(我这边是建立对象耗时过长,需要4s,处理方式:静态对象,判断为空则进行初始化,避免每次请求都进行新建对象)
3、异步
将与主流程无关操作进行异步
4、究极解决方式
缓存 采用 双重校验锁(DCL,即 double-checked locking)