打开JMeter,对商品列表和获取用户信息进行压力测试。
优化前:
对Redis进行压力测试
页面缓存+对象缓存之后:单位时间吞吐量翻倍
我们使用Redis作为缓存。为了防止数据库和缓存之间的不一致问题,我们使用了经典的解决方案,即:
- 读数据时:先读缓存,假如缓存为空,则读数据库,然后将数据库的值更新到缓存
- 写数据时:先写数据库,然后删除缓存。
在这里,写数据时,我们不直接修改缓存而是删除缓存,是为了避免缓存的频繁更新。
在压力测试时,我们分别测试了:商品列表,模拟单个用户登录,模拟多个用户登录这三种情况。其中模拟多个用户时需要设置CSV数据文件,在这里我们模拟5000个用户。将其id和token存储到txt文件中。