尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Jmeter压测newbee-mall-plus:10万请求0异常!家用电脑6核12线程性能优化实践

Jmeter压测newbee-mall-plus:10万请求0异常!家用电脑6核12线程性能优化实践 Jmeter压测newbee-mall-plus10万请求0异常家用电脑6核12线程性能优化实践【免费下载链接】newbee-mall-plus newbee-mall-plus 项目是 newbee-mall 项目的升级版本增加了优惠券模块、商品秒杀模块、支付宝支付优化了搜索功能后续会继续增加功能模块以及流行的技术栈。项目地址: https://gitcode.com/gh_mirrors/ne/newbee-mall-plusnewbee-mall-plus是newbee-mall项目的升级版本增加了优惠券模块、商品秒杀模块、支付宝支付优化了搜索功能后续会继续增加功能模块以及流行的技术栈。本文将分享如何在6核12线程的家用电脑上通过Jmeter对newbee-mall-plus进行压测并实现10万请求0异常的性能优化实践。一、压测环境与准备工作在进行压测之前我们需要准备好相应的环境。本次压测使用的是一台6核12线程的家用电脑操作系统为Linux。首先我们需要克隆项目仓库仓库地址是https://gitcode.com/gh_mirrors/ne/newbee-mall-plus。二、Jmeter压测结果展示通过Jmeter进行压测我们得到了令人惊喜的结果。在1秒内发送10万请求的情况下系统表现稳定无任何异常。以下是压测结果的截图从图中可以看到总请求数为100000平均响应时间为57毫秒90%的请求响应时间在78毫秒以内95%的请求响应时间在103毫秒以内99%的请求响应时间在500毫秒以内最小响应时间为25毫秒最大响应时间为929毫秒错误率为0.00%。这样的性能表现对于家用电脑来说非常出色。三、性能优化实践3.1 Redis缓存优化Redis缓存是提升系统性能的重要手段之一。在newbee-mall-plus项目中通过合理配置Redis缓存可以有效减轻数据库的压力提高系统的响应速度。在项目的CacheConfig.java文件中对Redis缓存进行了详细的配置。其中设置了缓存的默认过期时间为300秒通过entryTtl(Duration.ofSeconds(300))实现。同时使用了GenericFastJsonRedisSerializer作为值的序列化器提高了序列化和反序列化的效率。相关代码如下private RedisCacheConfiguration defaultCacheConfig() { return RedisCacheConfiguration.defaultCacheConfig() .prefixCacheNameWith(Constants.REDIS_KEY_PREFIX) .entryTtl(Duration.ofSeconds(300)) .disableCachingNullValues(); }此外还配置了Lettuce客户端的Socket选项启用了TCP keep-alive机制设置了keep-alive的间隔为10秒空闲时间为30秒尝试次数为3次。这有助于保持与Redis服务器的连接减少连接建立的开销。3.2 线程池配置优化合理的线程池配置可以充分利用系统资源提高并发处理能力。在newbee-mall-plus项目的TaskService.java文件中使用了ScheduledThreadPoolExecutor来处理定时任务。ScheduledExecutorService executorService new ScheduledThreadPoolExecutor(1, new BasicThreadFactory.Builder().namingPattern(schedule-pool-%d).daemon(true).build());这里创建了一个核心线程数为1的定时线程池通过设置守护线程确保在应用程序关闭时线程能够正常退出。虽然核心线程数为1但在实际应用中可以根据系统的负载情况和任务的特性调整线程池的参数如核心线程数、最大线程数、队列容量等以达到最佳的性能。四、总结通过对newbee-mall-plus项目进行Jmeter压测和性能优化实践在6核12线程的家用电脑上实现了10万请求0异常的良好表现。主要的优化手段包括合理配置Redis缓存和线程池。在实际应用中还可以根据具体的业务场景和性能需求进一步进行优化如数据库优化、代码优化等。希望本文的实践经验能够为newbee-mall-plus的使用者提供一些参考让项目在不同的环境下都能发挥出最佳的性能。【免费下载链接】newbee-mall-plus newbee-mall-plus 项目是 newbee-mall 项目的升级版本增加了优惠券模块、商品秒杀模块、支付宝支付优化了搜索功能后续会继续增加功能模块以及流行的技术栈。项目地址: https://gitcode.com/gh_mirrors/ne/newbee-mall-plus创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表