接口压力测试软件jmeter

请参考地址:https://www.cnblogs.com/by-dream/p/5611555.html
另外如果接口请求的是json参数,请参考
http://blog.csdn.net/nyist327/article/details/44653965,

这里说优化方案:
当用压力测试软件测试接口在高并发的情况下出现内存溢出,数据库死锁等系统奔溃情况的时候,就要考虑优化代码,优化途径一般有二:
1)用redis缓存

public List<UserInfoVO> getUserInfoByCache(Integer userId) {
        Gson gson = new Gson();
        String indexRecommendListCache = "indexRecommend_" + userId;
        List<UserInfoVO> userInfoVOList = new ArrayList<>();
        String jsonStr = redisCacheManger.getRedisCacheInfo(indexRecommendListCache);
        if (StringUtils.isNotBlank(jsonStr)) {
            logger.info("从缓存取出为你推荐用户...");
            userInfoVOList = gson.fromJson(jsonStr, new TypeToken<List<UserInfoVO>>() {
            }.getType());
        } else {
            logger.info("从数据库取出为你推荐用户...");
            userInfoVOList = indexRecommendUserList(userId);
            redisCacheManger.setRedisCacheInfo(indexRecommendListCache, RedisCacheManger.REDIS_CACHE_DAY_EXPIRE_DEFAULT, gson.toJson(userInfoVOList));
        }
        return userInfoVOList;
    }

2)开线程池分批执行调度任务

 NoticeExecutor.getExecutor().execute(() -> pushUserMapper.updateByPrimaryKeySelective(pushUser)); 

经优化,压力测试通过!

你可能感兴趣的:(JAVA,Web编程宝典)