服务器配置参考
# 点位测试简表
详情
序号 | 点位数 | Cpu核心(Core) | 内存(G) | 单核算力 | 线程数 | CPU占用率 | 点位/单核 | 磁盘空间(GB) | 增量(KB/点位天) 每10分钟存储一次 | 存储时间(天) |
---|---|---|---|---|---|---|---|---|---|---|
1 | 10000 | 2 | 8 | 2.3 | 100 | 80% | 5000 | 2.35 | 1.37 | 180 |
2 | 100000 | 4 | 8 | 2.3 | 100 | 80% | 25000 | 23.52 | 1.37 | 180 |
3 | 200000 | 8 | 16 | 2.3 | 200 | 80% | 25000 | 47.04 | 1.37 | 180 |
4 | 400000 | 16 | 32 | 2.3 | 200 | 80% | 25000 | 94.07 | 1.37 | 180 |
5 | 500000 | 20 | 32 | 2.3 | 200 | 80% | 25000 | 117.59 | 1.37 | 180 |
6 | 800000 | 32 | 32 | 2.3 | 200 | 80% | 25000 | 188.14 | 1.37 | 180 |
7 | 1000000 | 40 | 64 | 2.3 | 200 | 80% | 25000 | 235.18 | 1.37 | 180 |
1、核心数是如何影响的?
答:从线程方向来理解:理论上核心数越多,可开辟的线程数也就越多,可执行的任务数也会越多。但系统并非可以无限的开核心和开线程,有数据指出,linux系统最大可开32768 个线程,或通过修改系统环境变量来修改上限。即便系统线程数可增加,但应用的线程数也不宜无限增加,.NET框架设计的总可用工作线程为1000个左右,虽然也可以通过配置修改该指标,但随着线程数增加,会造成非托管内存呈指数级增加,因此不能盲目的增加线程,IoTCenter推荐的数采线程数为200个以内。 问题:那么按这个思路,增加核心数实际上不能增加工作线程,那核心数多寡有什么区别? ——由于数据采集作为一项工作任务,其所占用的工作线程实际上是在CPU上执行的任务,而任务又与分配的CPU时间片有关。在核心数较少的情况下,单个核心分配20个任务,假设每个任务分配20ms,每个任务切换还需承担单个1ms的上下文切换时间,那么此时执行完20个任务,需要耗时(20ms20+1ms20)共420ms。增加核心后,工作线程可被分配的CPU时间片也就增加了,同样分配给任务的上下文切换时间也会相应的减少,由此也增加任务的执行效率将得到大幅提升,如将20个任务指派到4个核心,执行完20个任务,就只需(20ms20/4+1ms20/4),共105ms。
2、单核算力是如何影响的?
答:单核算力越强,任务的执行速度越快。例如同样在单核上计算100w以内的求和,如果用1.4gHz的主频的,和用2.3gHz的主频,前者需要的时间将有需要几十秒,而后者只需几秒。同样,在进行数据采集时,主频越强,数据采集任务执行的速度将更快。当然,在通过以太网进行跨主机的外部数据采集时,执行速度可能与带宽有一定的关系。
3、内存是如何影响的?
答:内存对点位测算指标有一定的影响,但超过8g时影响不明显。另外,开启历史曲线记录对内存开销比较大。