我们正在对基座进行基准测试并观察一种非常奇怪的行为。
2 x EC2 r3.xlarge,通用80GB SSD(非EBS优化),IOPS 240/3000。
集群:
数据Ram配额:22407 MB
Index Ram配额:2024 MB
索引设置(默认)
斗:
每节点Ram配额:22407 MB
总铲斗尺寸:44814 MB(22407 x 2)
启用副本(1)
磁盘I / O优化(低)
每个节点都运行所有三项服务
1 x EC2 m4.xlarge通用20 GB SSD(EBS优化),IOPS 60/3000。
客户端正在运行“YCSB”基准测试工具。
ycsb load couchbase -s -P workloads / workloada -p recordcount = 100000000 -p core_workload_insertion_retry_limit = 3 -p couchbase.url = http://HOST:8091/pools -p couchbase.bucket = test -threads 20 | tee workloadaLoad.dat
PS:所有计算机都驻留在同一个VPC和子网中。
虽然一切都按预期工作
平均操作/秒为~21000
“磁盘写入队列”图表浮动在200K到600K之间(周期性耗尽)
'temp OOM per sec'图表是常数0。
当事情开始变得怪异
插入约~27M文件后,我们开始看到'磁盘写队列'不断上升(不会耗尽)
在约8M磁盘队列大小时,OOM故障开始显示自己,客户端从couchbase接收“临时故障”。
在每个YCSB线程重试3次后,客户端仅在插入约27%的整个文档后停止
即使YCSB客户端停止运行,“磁盘写入队列”也渐渐向0移动,仅在~15分钟后才会耗尽。
P.S 当我们在MacBook上使用16GB ram + SSD磁盘(本地客户端+一个节点服务器)进行本地基准测试时,我们没有观察到这种行为,并且“磁盘写入队列”会以可预测的方式不断耗尽。
感谢。