磁盘/石墨的磁盘容量规划

有没有人有任何公式,或者从他们的环境,可以帮助我估计有多less磁盘空间将被每个数据点石墨使用一些示例数据?

    whisper-info.py给你很多的深入了解每个文件是什么和如何汇总,包括文件的大小。

    但是它只对现有的低语文件有用。

    如果您想在预先确定模式的大小之前进行预测,请尝试使用Whisper计算器,例如https://gist.github.com/jjmaestro/5774063

    编辑:

    当被问及一个例子…

    storage_schema:

     { :catchall => { :priority => "100", :pattern => "^\.*", :retentions => "1m:31d,15m:1y,1h:5y" } } 

    看着我的文件applied-in-last-hour.wspls -l得到

     -rwxr-xr-x 1 root root 4415092 Sep 16 08:26 applied-in-last-hour.wsp 

    whisper-info.py ./applied-in-last-hour.wsp产量

     maxRetention: 157680000 xFilesFactor: 0.300000011921 aggregationMethod: average fileSize: 4415092 Archive 0 retention: 604800 secondsPerPoint: 10 points: 60480 size: 725760 offset: 52 Archive 1 retention: 2678400 secondsPerPoint: 60 points: 44640 size: 535680 offset: 725812 Archive 2 retention: 157680000 secondsPerPoint: 600 points: 262800 size: 3153600 offset: 1261492 

    因此,基本上,您将每个保留期间细分的保留匹配与每个统计的保留匹配结合起来,再乘以您打算应用的系统因子,这也是您要跟踪的新统计数量的因素。 然后你把任何数量的存储,至less加倍(因为我们正在购买存储,我们知道我们会用它…)

    statsd的文档中, 他们给出了一个数据保留策略的例子 。

    保留时间为10s:6h,1min:7d,10min:5y ,即2160 + 10080 + 262800 = 275040个数据点 ,它们的归档大小为3.2MB

    假设线性关系,这将是每个数据点大约12.2字节

    没有与Graphite的直接经验,但我想象我们用于Cacti相同的逻辑或其他任何RRD或时间滚动驱动将适用(Graphite不再使用内部RRD,但存储逻辑似乎相当。)

    简单的回答是“可能没有你想象的那么多的空间”。


    长的答案涉及到一些特定的网站math。 对于我们的监控系统(InterMapper),我计算出保留时间,分辨率和数据点的大小,做一些倍增,并增加开销。

    作为一个例子,我将使用磁盘空间 – 我们将精度为5分钟的数字存储30天,对于另外60天精确度为15分钟,然后每隔300天计算一次精度,我们使用64位(8字节)整数来存储它:

    • 总共21600个样本,细分为:
      • 8640个样品为30天5分钟的精度
      • 5760个样品为60天,15分钟精度
      • 7200个样本为300天1小时的精度

    每个样本8个字节大约为173KB,加上存储索引等的健康开销,对于一个分区的磁盘使用率数据(任何趋向于过高估计的错误),都会带来大约200KB的空间。

    从基本指标来看,我可以计算出“每台机器”的平均大小(10个磁盘分区,交换空间,内存,平均负载,networking传输以及其他一些东西) – 每台机器大约5MB。

    我还在最后的数字之上加了一个健康的10%,所以我把每个机器的大小设置为6MB。

    然后,我看看我已经放置的1TB空间,用于存储制图的度量数据,并说:“是的,除非我们成长壮大,否则我可能没有用完存储空间。 🙂