Hazelcast性能评估

基准测试

基于benchmarking tool

1
2
3
INFO  Performance IntByteMapTest
Total throughput 100.00% 7,948,805 ops 128,179.66 ops/s
Agent C_A1 100.00% 7,948,805 ops 128,179.66 ops/s

结论

  • int-int每秒可完成17W请求,并发线程10,随机读写,写概率0.1,读0.9
  • int-byte每秒13万请求,value最大2k,并发线程10,随机读写,写概率0.1,读0.9

客户端测试

  • serive为40服务器docker
  • client为本地java
  • 单线程写入对象1万次
  • 多线程10,并发

结论

  • 单线程时,puts:56/s,server并发处理
  • 多线程10个时,puts:496/s,server并发处理
  • 处理延迟,0.02ms

优势

  • 基于Java开发,部署简单、无主从、自动扩展
  • 基础java集合框架,可本地使用,解决分布式缓存问题
  • 提供全局id、消息、队列、分布式锁等分布式服务常见工具
  • 有manager-ui
  • spring boot/cloud默认已集成

劣势

  • 中文材料较少

基准测试方法

下载simulator

安装与测试

  • ./hazelcast-simulator-0.9.8/bin/simulator-wizard –install
  • 测试是否成功。新建一个teminor,输入命令:simulator-wizard –help

执行

1
2
3
simulator-wizard --createWorkDir tests
cd tests
./run

等待console输出结果

修改测试条件

cat test.properties

1
2
3
IntByteMapTest@class = com.hazelcast.simulator.tests.map.IntByteMapTest
IntByteMapTest@threadCount = 10
IntByteMapTest@putProb = 0.1

测试类下载源码可见,默认com.hazelcast.simulator.tests.map.IntIntMapTest

注意

  • 测试模拟器自带Hazelcast,无需安装配置
  • 本地不要启动Hazelcast,否则端口冲突,无法成功
    否则有以下错误:
    1
    2
    FATAL [C_A1] Failed to start Worker: Failed to start Worker
    FATAL [C_A1] Failed to start Worker: Failed to start Worker
------ 本文结束------

本文标题:Hazelcast性能评估

文章作者:Perkins

发布时间:2019年09月12日

原始链接:https://perkins4j2.github.io/posts/19102/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。