ab命令对发出负载的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却会给目标服务器造成巨大的负载,因此是某些DDOS攻击之必备良药,老少皆宜。自己使用也须谨慎。否则一次上太多的负载,造成目标服务器直接因内存耗光死机,而不得不硬重启,得不偿失。
在带宽不足的情况下,最好是本机进行测试,建议使用内网的另一台或者多台服务器通过内网进行测试,这样得出的数据,准确度会高很多。远程对web服务器进行压力测试,往往效果不理想(因为网络延时过大或带宽不足)。
>
不要盯着线程池,而是看问题在哪。
比如是任务太多,CPU太满,调大线程池无用。这时应该先加CPU,或者加机器。如果CPU很富裕,是线程池上限卡住了,简单调大最大值即可。如果是任务执行时间实在是太长了,让“请求在任务完成后再返回”这个设定不合适,造成用户体验差,那么应该将系统设计为启动任务后请求就返回+定时的ping任务完没完。
引入spring-boot-starter-cache依赖
@EnableCaching
@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正常等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)