Elasticsearch VS Easysearch 性能测试
off999 2025-01-07 14:56 27 浏览 0 评论
压测环境
虚拟机配置
使用阿里云上规格:ecs.u1-c1m4.4xlarge,PL2: 单盘 IOPS 性能上限 10 万 (适用的云盘容量范围:461GiB - 64TiB)
vCPU | 内存 (GiB) | 磁盘(GB) | 带宽(Gbit/s) | 数量 |
16 | 64 | 500 | 5000 | 24 |
Easysearch 配置
7 节点集群,版本:1.9.0
实例名 | 内网 IP | 软件 | vCPU | JVM | 磁盘 |
i-2zegn56cijnzklcn2410 | 172.22.75.144 | Easysearch | 16 | 31G | 500GB |
i-2zegn56cijnzklcn240u | 172.23.15.97 | Easysearch | 16 | 31G | 500GB |
i-2zegn56cijnzklcn240i | 172.25.230.228 | Easysearch | 16 | 31G | 500GB |
i-2zegn56cijnzklcn240y | 172.22.75.142 | Easysearch | 16 | 31G | 500GB |
i-2zegn56cijnzklcn240x | 172.22.75.143 | Easysearch | 16 | 31G | 500GB |
i-2zegn56cijnzklcn240z | 172.24.250.252 | Easysearch | 16 | 31G | 500GB |
i-2zegn56cijnzklcn240r | 172.24.250.254 | Easysearch | 16 | 31G | 500GB |
Elasticsearch 配置
7 节点集群,版本:7.10.2
实例名称 | 内网 IP | 软件 | vCPU | JVM | 磁盘 |
i-2zegn56cijnzklcn240m | 172.24.250.251 | Elasticsearch | 16 | 31G | 500GB |
i-2zegn56cijnzklcn240p | 172.22.75.145 | Elasticsearch | 16 | 31G | 500GB |
i-2zegn56cijnzklcn240o | 172.17.67.246 | Elasticsearch | 16 | 31G | 500GB |
i-2zegn56cijnzklcn240t | 172.22.75.139 | Elasticsearch | 16 | 31G | 500GB |
i-2zegn56cijnzklcn240q | 172.22.75.140 | Elasticsearch | 16 | 31G | 500GB |
i-2zegn56cijnzklcn240v | 172.24.250.253 | Elasticsearch | 16 | 31G | 500GB |
i-2zegn56cijnzklcn240l | 172.24.250.250 | Elasticsearch | 16 | 31G | 500GB |
监控集群配置
单节点 Easysearch 集群,版本:1.9.0
实例名 | 内网 IP | 软件 | vCPU | 内存 | 磁盘 |
i-2zegn56cijnzklcn240f | 172.25.230.226 | 监控集群:Console | 16 | 64G | 500GB |
i-2zegn56cijnzklcn240j | 172.23.15.98 | 监控集群:Easysearch | 16 | 64G | 500GB |
压测 loadgen 配置
loadgen 版本:1.25.0
4 台压 Easysearch,4 台压 Elasticsearch。
实例名 | 内网 IP | 软件 | vCPU | 内存 | 磁盘 |
i-2zegn56cijnzklcn240n | 172.17.67.245 | Loadgen - 压 Easysearch | 16 | 64G | 500GB |
i-2zegn56cijnzklcn2411 | 172.22.75.141 | Loadgen - 压 Easysearch | 16 | 64G | 500GB |
i-2zegn56cijnzklcn240k | 172.25.230.227 | Loadgen - 压 Easysearch | 16 | 64G | 500GB |
i-2zegn56cijnzklcn240e | 172.22.75.138 | Loadgen - 压 Easysearch | 16 | 64G | 500GB |
i-2zegn56cijnzklcn240h | 172.24.250.255 | Loadgen - 压 Elasticsearch | 16 | 64G | 500GB |
i-2zegn56cijnzklcn240w | 172.24.251.0 | Loadgen - 压 Elasticsearch | 16 | 64G | 500GB |
i-2zegn56cijnzklcn240g | 172.24.250.248 | Loadgen - 压 Elasticsearch | 16 | 64G | 500GB |
i-2zegn56cijnzklcn240s | 172.24.250.249 | Loadgen - 压 Elasticsearch | 16 | 64G | 500GB |
压测索引 Mapping
PUT nginx
{
"mappings": {
"properties": {
"method": {
"type": "keyword"
},
"bandwidth": {
"type": "integer"
},
"service_name": {
"type": "keyword"
},
"ip": {
"type": "ip"
},
"memory_usage": {
"type": "integer"
},
"upstream_time": {
"type": "float"
},
"url": {
"type": "keyword"
},
"response_size": {
"type": "integer"
},
"request_time": {
"type": "float"
},
"request_body_size": {
"type": "integer"
},
"error_code": {
"type": "keyword"
},
"metrics": {
"properties": {
"queue_size": {
"type": "integer"
},
"memory_usage": {
"type": "integer"
},
"thread_count": {
"type": "integer"
},
"cpu_usage": {
"type": "integer"
},
"active_connections": {
"type": "integer"
}
}
},
"cpu_usage": {
"type": "integer"
},
"user_agent": {
"type": "keyword"
},
"connections": {
"type": "integer"
},
"timestamp": {
"type": "date",
"format": "yyyy-MM-dd'T'HH:mm:ss.SSS"
},
"status": {
"type": "integer"
}
}
},
"settings": {
"number_of_shards": 7,
"number_of_replicas": 0,
"refresh_interval": "30s"
}
}
压测方法
每 4 个 loadgen 使用批量写入接口 bulk 轮询压测同一集群的 7 个节点,每个请求写入 10000 个文档。
具体请求如下:
requests:
- request: #prepare some docs
method: POST
runtime_variables:
# batch_no: uuid
runtime_body_line_variables:
# routing_no: uuid
# url: $[[env.ES_ENDPOINT]]/_bulk
url: $[[ip]]/_bulk
body_repeat_times: 10000
basic_auth:
username: "$[[env.ES_USERNAME]]"
password: "$[[env.ES_PASSWORD]]"
body: |
{"index": {"_index": "nginx", "_type": "_doc", "_id": "$[[uuid]]"}}
$[[message]]
压测数据样本
{"method":"DELETE","bandwidth":1955,"service_name":"cart-service","ip":"120.204.26.240","memory_usage":1463,"upstream_time":"1.418","url":"/health","response_size":421,"request_time":"0.503","request_body_size":1737,"error_code":"SYSTEM_ERROR","metrics":{"queue_size":769,"memory_usage":1183,"thread_count":65,"cpu_usage":68,"active_connections":837},"cpu_usage":70,"user_agent":"Mozilla/5.0 (iPad; CPU OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1","connections":54,"timestamp":"2024-11-16T14:25:21.423","status":500}
{"method":"OPTIONS","bandwidth":10761,"service_name":"product-service","ip":"223.99.83.60","memory_usage":567,"upstream_time":"0.907","url":"/static/js/app.js","response_size":679,"request_time":"1.287","request_body_size":1233,"error_code":"NOT_FOUND","metrics":{"queue_size":565,"memory_usage":1440,"thread_count":148,"cpu_usage":39,"active_connections":1591},"cpu_usage":87,"user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1","connections":354,"timestamp":"2024-11-16T05:37:28.423","status":502}
{"method":"HEAD","bandwidth":10257,"service_name":"recommendation-service","ip":"183.60.242.143","memory_usage":1244,"upstream_time":"0.194","url":"/api/v1/recommendations","response_size":427,"request_time":"1.449","request_body_size":1536,"error_code":"UNAUTHORIZED","metrics":{"queue_size":848,"memory_usage":866,"thread_count":86,"cpu_usage":29,"active_connections":3846},"cpu_usage":71,"user_agent":"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)","connections":500,"timestamp":"2024-11-16T15:14:30.424","status":403}
压测索引 1 主分片 0 副本
Elastic 吞吐
Elastic 线程及队列
资源消耗
Easysearch 吞吐
Easysearch 线程及队列
资源消耗
对比
软件 | 平均集群吞吐 | 平均单节点吞吐 | 最大队列 | 磁盘消耗 |
Elasticsearch | 5w | 5w | 811 | 10G |
Easysearch | 7w | 7w | 427 | 4G |
压测索引 1 主分片 1 副本
Elastic 吞吐
Elastic 线程及队列
资源消耗
Easysearch 吞吐
Easysearch 线程及队列
资源消耗
对比
软件 | 平均集群吞吐 | 平均单节点吞吐 | 最大队列 | 磁盘消耗(~3000 万文档) |
Elasticsearch | 10w | 5w | 791 | 22G |
Easysearch | 14w | 7w | 421 | 7G |
压测索引 7 主分片
Elastic 吞吐
Elastic 线程及队列
资源消耗
网络
单节点平均接收 26MB/s,对应带宽:1456 Mb/s
5 千万文档,总存储 105 GB,单节点 15 GB
Easysearch 吞吐
Easysearch 线程及队列
资源消耗
对比
软件 | 平均集群吞吐 | 平均单节点吞吐 | 最大队列 | 磁盘消耗 |
Elasticsearch | 35w | 5w | 2449 | 105G |
Easysearch | 60w | 8.5w | 1172 | 36G |
总结
通过对不同场景的压测结果进行对比分析,得出以下结论:
- Easysearch 相比 Elasticsearch 的索引性能显著提升
Easysearch 集群的吞吐性能提升了 40% - 70%,且随着分片数量的增加,性能提升效果更为显著。 - Easysearch 相比 Elasticsearch 的磁盘压缩效率大幅提高
Easysearch 集群的磁盘压缩效率提升了 2.5 - 3 倍,并且随着数据量的增加,压缩效果愈发明显。
此测试结果表明,Easysearch 在日志处理场景中具有更高的性能与存储效率优势,尤其适用于大规模分片与海量数据的使用场景。
如有任何问题,请随时联系我,期待与您交流!
- 上一篇:Nginx-性能优化
- 下一篇:分布式服务一体化自动化测试平台附源码
相关推荐
- 怎么查询家里wifi密码(怎么查询家里wifi密码是多少)
-
一、通过已连接wifi的电脑查看1、找到电脑右下角的无线网图标,就是类似信号的图标,点开;2、然后右键自己的wifi名称,选择“属性”;3、进去之后勾选“显示字符”,然后就可以看见密码框的密码以数字显...
- 分区工具diskgenius怎么合并分区
-
DiskGenius是一款功能全面的磁盘管理工具,其可以帮助我们进行磁盘分区管理,包括创建新分区、删除分区、扩展分区等。如果您想要合并分区到C盘,可以按照以下步骤进行操作:1.打开DiskGeniu...
- windows10易升怎么用(微软windows10易升使用教程)
-
windows10易升是微软官方的。windows10易升是微软官方发布的升级助理或者叫升级助手(官方下载),帮助你升级到win10最新版本,同时也帮助Win7Win8.1用户升级到Windows1...
- 300兆光纤买什么路由器(300兆光纤买3000m的路由器有用吗)
-
对于300Mbps的网速,推荐选择支持AC750及以上的路由器型号。比如TP-LinkArcherC20、D-LinkDIR-816、NetgearR6020等,都是性价比不错的选择。此类路由...
- windows10产品密钥查询(查看windows10产品密钥)
-
要查看电脑上Windows10的产品密钥,你可以按照以下步骤进行操作:打开“开始”菜单,然后点击“设置”图标(齿轮状图标)。在“设置”窗口中,点击“更新和安全”选项。在左侧导航栏中,选择“激活”选项...
- 电脑总死机卡住不动怎么办(电脑老是死机卡住)
-
如果你的电脑经常卡死,而且只能强制关机,别忘了说明电脑这个配置不够造成的,你需要提高一下它的配置,比如说加一个内存条或者换一个固态硬盘,这样才能够正常运行,不然的话这种电脑是没有办法使用的,现在电脑都...
- win10自动修复死循环无法开机
-
答:1、请确保电脑有充足的电源供应,确保电源可以正常供电;2、检查U盘是否正常安装;3、检查是否有新的软硬件设备接入;4、运行chkdsk,检查硬盘并修复文件系统;5、检查Windows更新,如果存在...
-
- 查看台式电脑ip地址(查询台式电脑ip地址)
-
如何查看主机名和IP地址:右击我的电脑-属性-网络标识(win2000)/计算机名(winxp)-完整的计算机名称后面的就是你的主机名.右击网上邻居-,属性-右击本地连接-属性-双击INTERNET协议(tcp/ip)就可以看到自己的I...
-
2025-12-15 19:03 off999
- windows7 ultimate(windows7ultimate无法启动)
-
32位的。1、在下载操作系统镜像的时候,带有x86标识的一般是32位系统,指的是CPU地址总线是32位、fetch、decode解压指令时也按32位字长来进行。x64一般表示系统为64位。2、x86是...
- 雨林系统u盘安装步骤(雨林重装系统)
-
如果是ISO镜像那就刻盘安装,如果不想刻盘,就硬盘安装。问题又来了,大部分的都是GHOST的系统,还有就是纯安装版的。我只说一下GHOST的,先把ISO文件给解压了,然后里边会有占主要空间大小的.GH...
-
- 0xc000021a手动修复(修复0xc0000225)
-
出现这样的问题很常见,用以下方法及解决方案就可以解决1、错误代码0xc000021a表示用户模式子系统有所损坏。一般按照蓝屏提示重启系统,即可正常运行。2、如果重启没能解决,则建议通过“最后一次正确的配置”方式启动系统。3、如果系统文件被破...
-
2025-12-15 17:51 off999
-
- windows7网络驱动(win7网络驱动在哪个文件夹)
-
1.Networkcarddriver。2.右键我的电脑,点击“属性”,选择左侧“设备管理器”3.点击“网络适配器”,如果方框内没有驱动,请下载驱动精灵安装网卡驱动。在Windows7操作系统中,网络驱动程序的名称通常以网络适配器的品...
-
2025-12-15 17:03 off999
- diskgenius的功能介绍(diskgenius是什么)
-
先打开DiskGenius(如果系统打不开了,可以在PE下运行),在弹出分区工具Diskgenius工具中,依次点击“硬盘——重建主引导记录(MBR)”选项,无需理会弹出的提示窗口,直接按下“是”即可...
- 网速快但是打开网页慢(网速快但是打开网页慢怎么回事)
-
原因有很多,有可能是路由器的原因,也有可能是其他原因,总的来说,网速慢的常见原因有以下几种:1.wifi被人蹭网,别人占用了带宽或者给你限速了,可以登录路由器管理页面查看连接的设备数。2.路由器性能...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
python入门到脱坑 输入与输出—str()函数
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
失业程序员复习python笔记——条件与循环
-
使用 python-fire 快速构建 CLI_如何搭建python项目架构
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
