繁体   English   中英

Aerospike:地图大小太大时设备过载错误

[英]Aerospike: Device Overload Error when size of map is too big

该程序在生产中成功运行了几个月后,出现“设备过载”错误。 而且我们发现某些地图的尺寸​​非常大,可能大于1,000。

在检查了源代码之后,我发现“设备超载”的原因是写队列超出了限制,并且写队列的长度与处理效率有关。

所以我检查了“ particle_map”文件,我怀疑即使我们只想在地图中插入一对KV,整个地图也会被重写。

但是我对此不太确定。 有什么建议吗?

所以我检查了“ particle_map”文件,我怀疑即使我们只想在地图中插入一对KV,整个地图也会被重写。

你是对的。 使用持久性时,Aerospike不会就地更新记录。 每个更新/插入都被缓冲到一个内存中的写块中,当写满时,它会排队等待写到磁盘。 该队列允许的短脉冲串超出磁盘的最大IO,但是如果脉冲串持续的时间太长,服务器将因您提到的“设备过载”错误而使写入操作失败。 允许获取磁盘的距离由max-write-cache命名空间storage-engine参数控制。

您可以在https://www.aerospike.com/docs/architecture/index.html上找到有关我们的存储层的更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM