首页   快速返回

aerospike write-block-size 参数说明     所属分类 aerospike
write-block-size [static]
Context: namespace	
Subcontext: storage-engine device	
Default: 1M		

Size in bytes of each I/O block that is written to the disk. 
This effectively sets the maximum object size. 

每个写入磁盘的I/O块的大小(以字节为单位) , 有效地设置对象最大大小。


The maximum allowed size is 8388608 (or 8M) for versions 4.2 and higher. 
For versions prior to 4.2, the maximum allowed size is 1048576 (or 1M). 
Larger write-block-size may adversely impact performance. 
较大的写块大小可能会对性能产生负面影响。

adversely 不利

https://discuss.aerospike.com/t/faq-write-block-size/681


The configuration write-block-size defines the size in bytes of each I/O block that is written to the disk. 
You can increase or decrease this depending on your record size. 
The default value is 1MB and the configured value of this parameter must be a power of 2, 
so the different options are: 128K, 256K, 512K, 1M (and 2M, 4M or 8M as of version 4.2). 
To identify the optimal settings, we would recommend running a benchmark tool 

What are the recommended values for write-block-size?
Based on testing, the recommended values for write-block-size are 128K for SSD and NVMe drives and 1MB for Hard Disk Drives (the default value).

最优的大小需要经过测试
NVM Express(NVMe), Non-Volatile Memory express  非易失性内存主机控制器接口规范

SSD 128K
HDD 1M





Having a smaller write-block-size causes more hits to the SSD, 
which in turn creates more I/O operations and increases the defragmentation process. 
This would also result in an increased write amplification on the SSD.

较小的 write-block-size  会对SSD造成更多的命中,从而创建更多的I/O操作并增加碎片整理过程。这也会导致SSD上写放大的增加。


The defragmentation of larger blocks involves longer large-block reads, 
where the entire block is read, injecting latency into other operations.
较大块的碎片整理涉及较长时间的大块读取,即读取整个块,从而将延迟注入到其他操作中。


Note that this configuration is placed inside the storage-engine device stanza. 
This is not applicable for storage-engine memory.

该配置位于 存储引擎 设备 配置中 ,
不适用于 内存 存储引擎 !!! 


storage-engine device {
                file /app/admin/opt/aerospike/data/data.dat                  
                filesize 700G
                data-in-memory true
        }
        
        
This configuration upper-limits the maximum size of the record that can be written on the cluster. 
Any records with a size bigger than write-block-size  will trigger an error to the client and a write-failure.


fail_record_too_big  statistic 

客户端错误
AS_PROTO_RESULT_FAIL_RECORD_TOO_BIG - Error code 13


A few considerations on the write-block-size parameter:

This configuration is on a per-namespace basic and is only configurable if the storage-engine is device for the namespace.
The value of this parameter must be a power of 2, so your options to decrease are: 128K, 256K, 512K, 1M etc.
Performance characteristics of your cluster may change so careful monitor is necessary.

使用 storage-engine  device 才需要配置
值为 2的幂   128K, 256K, 512K, 1M 2M 等
小心监控集群性能

上一篇     下一篇
lsof命令介绍

linux网络测速iperf

应用部署策略

kubernetes核心概念

为何Hashtable ConcurrentHashmap不允许key 和 value为null

prometheus VS influxdb