SpringBoot--实战开发--压力测试(二十四)

SpringBoot--实战开发--压力测试(二十四),第1张

ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会给目标服务器造成巨大的负载,因此是某些DDOS攻击之必备良药,老少皆宜。自己使用也须谨慎。否则一次上太多的负载,造成目标服务器直接因内存耗光死机,而不得不硬重启,得不偿失。

在带宽不足的情况下,最好是本机进行测试,建议使用内网的另一台或者多台服务器通过内网进行测试,这样得出的数据,准确度会高很多。远程对web服务器进行压力测试,往往效果不理想(因为网络延时过大或带宽不足)。

>

不要盯着线程池,而是看问题在哪。

比如是任务太多,CPU太满,调大线程池无用。这时应该先加CPU,或者加机器。如果CPU很富裕,是线程池上限卡住了,简单调大最大值即可。如果是任务执行时间实在是太长了,让“请求在任务完成后再返回”这个设定不合适,造成用户体验差,那么应该将系统设计为启动任务后请求就返回+定时的ping任务完没完。

引入spring-boot-starter-cache依赖

@EnableCaching

在SpringBoot启动器上添加注解,开启缓存

@Cacheable

在方法上添加此注解,若不指定key则以传入参数生成key,缓存该方法的返回参数。

@CacheEvict

在方法上添加此注解,若不指定key则以传入参数生成key,删除该缓存。

@CachePut

在方法上添加此注解,若不指定key则以传入参数生成key,调用该方法后更新缓存。

引入spring-boot-starter-data-redis依赖,SpringBoot会自动切换

applicationproperties中添加redis主机地址:springredishost=19216837135

@Autowired

StringRedisTemplate stringRedisTemplate;//键值对都为String的 *** 作器

@Autowired

RedisTemplate redisTemplate;//键值对都为对象的 *** 作器,对象需继承序列号接口

自定义RedisTemplate可实现不同的序列化方式,默认为jdk序列化方式。

添加自定义缓存管理器(需定义泛型),在service里添加@CacheConfig(cacheManager="")注解指定缓存管理器。

@Async

此注解标注在方法或类型上,可开启异步处理。

@EnableScheduling

在SpringBoot启动器上添加注解,开启定时任务。

@Scheduled

可以在方法和注解类型上添加注解,设置任务的定时规则。

引入spring-boot-starter-mail

配置applicationproperties

注入邮件发送bean

发送简单邮件

发送带附件的邮件

引入jar包

spring-boot-starter-security

创建一个配置类,继承WebSecurityConfigurerAdapter,需要注解@EnableWebSecurity开启,重写configure(>

以上就是关于SpringBoot--实战开发--压力测试(二十四)全部的内容,包括:SpringBoot--实战开发--压力测试(二十四)、Spring Cloud Config 怎么从配置中心获取配置信息、springboot线程池满了cpu正常等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9477338.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存