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

本文通过JMeter对一个使用Guava-BloomFilter的简单项目进行了性能测试,对比了Redis无缓存、有缓存及配合BloomFilter的情况。测试结果显示,Redis缓存能显著提升响应速度,而BloomFilter进一步增强了性能。项目代码和测试文件已上传至GitHub。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用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(){
   
        BloomFilter<String> bloomFilter = BloomFilter.create(new
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值