Linux
分类: LINUX
2015-07-03 10:43:41
首先 ATS 内存占用大概分这么几部分
1、程序本身占用
2、硬盘索引
3、硬盘内容在内存中的cache
4、处理请求所占用的内存
前3项是固定的基本不变,4项根据流量和内容增大,一般来说控制前3项不超过总内存容量的1/2是最好的(针对大流量,如果你流量不2/3或者3/4都可以)
ATS 本身大概占用100MB左右(不包含插件)
硬盘索引(磁盘大小 / min_average_object_size) * 10
min_average_object_size 在 records.config 可以设置
# This controls how many objects (average) the disk caches can hold, and
# how much memory it’ll consume for the directory structure.
CONFIG proxy.config.cache.min_average_object_size INT 8000
3T硬盘
(3000592433152 / 8000)*10=3750740541.44=3662832.56k=3576.984921875Mb
~3.6G
尽量设置此值和你的业务最佳匹配
硬盘的内存cache
这个在records.config里进行设置,这个设置不是启动后立刻分配内存的,而是随着使用而慢慢占用的
我这里设置的是定置,我不喜欢自己不能掌握的感觉
# default the ram cache size to AUTO_SIZE (-1) based on cache size
# (approximately 10 MB of RAM cache per GB of disk cache)
# alternatively, set to a fixed value such as 21474836480 (20GB)
# 1073741824 (1G)
CONFIG proxy.config.cache.ram_cache.size INT 2147483648
希望在选购硬件的时候对大家有帮助
另,如果做大cache的话还是单机强一点比较好