用JMeter对使用Guava-BloomFilter的简易项目的性能测试(github带代码、测试文件等)

用JMeter对使用Guava-BloomFilter的简易项目的性能测试(带github代码)

Jmeter查看QPS和响应时间随着时间的变化曲线(转载)
A component required a bean of type ‘redis. clients. jedis. JedisPool’ that could not be found.
SpringBoot高级篇Redis之Jedis配置
Guava教程-BloomFilter

0. github测试代码demo项目

先贴上对应的github项目链接(项目很粗糙)
这个项目里包括

  • docker-compose文件
  • JMeter的测试项目jmx文件
  • MySQL的sql文件
  • 以及Java代码
    在这里插入图片描述

1. 前言

这里不对Guava进行介绍了,完全不了解的可以网上查查相关的内容。Guava粗糙的理解就是bit版本的hashmap,但仅用于判断XX数据是否存在,并不能用于读取实际对应的数据。
这篇文章主要是自己正好想试试BloomFilter,姑且做下超粗略的测试,记录一下过程。

2. 测试环境

操作系统:MacOS 10.50.7
CPU:2.4GHZ 8核-i9
内存:32GB 2667MHz DDR4
测试工具:JMeter 5.3
数据库:MySQL 8.0.19、Redis 6.0.8
SpringBoot 2.3.4.RELEASE

3. 项目测试大致介绍

  1. MySQL简单的一张表,仅含有id和name字段的myuser表,100W条记录的SQL文件,但是不想压榨自己的电脑,实际只用了约1W条数据。(毕竟代码也就测试代码,没有考虑各种高并发优化等策略)
    在这里插入图片描述

  2. 比较三种情况的耗时

    • 120s内1W线程,初次查询,Redis无缓存
    • 120s内1W线程,Redis已有缓存(将近一般数据命中缓存的情况)
    • 120s内1W线程,Reids有缓存(近一半),且配有BloomFilter
  3. JMeter设置
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

4. 部分代码

(1)BloomFilter代码

这里让BloomFilter记住数据库的那100W条模拟数据

@Configuration
public class BloomFilterConfig {
   

    @Bean
    public BloomFilter<String> bloomFilter()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值