如何计算服务器可用性指标(SAI)?
参照此表,您可以估算出服务器在繁忙时段的平均扩展系数,并且还可以为 Server_Transinfo_Range 设定合理的数值,以此得到一个比较理想的服务器可用性指标。以下内容节选自 Domino Administrator 651 帮助文档。集群中的每个服务器都定期判断自己的工作负载,判断将基于服务器最近处理请求的响应时间作出。系统用 0 到 100 之间的数字表示工作负载,其中 0 表示服务器负载过重;100 表示服务器负载很轻。这个数值称为服务器的可用性指标。随响应时间增加,服务器可用性指标减小。服务器的可用性指标约等于仍然可用的总服务器容量百分比。例如,如果服务器的可用性指标为 65,则仍然有 65% 的服务器容量可用。尽管企业中的服务器功率和资源可能不同,但每台服务器上的服务器可用性指标都代表同一件事 -- 仍然可用的服务器容量。服务器可用性指标基于扩展系数生成,用于指示服务器上的当前工作负载。扩展系数是由特定类型事件的响应时间与服务器曾经完成此类事务的最短时间之比决定的。例如,如果服务器当前执行“打开数据库”事务的平均时间为 12 毫秒,而服务器曾经执行“打开数据库”事务的最短时间为 3 毫秒,则“打开数据库”事务的扩展系数为 4(当前时间 12 毫秒除以最快时间 3 毫秒)。换言之,扩展系数决定完成当前事务所花的时间是在最佳条件下所花时间的多少倍。IBM(R) Domino(TM) 将每种事务的最短时间存储在内存和 LOADMONNCF 文件中,服务器每次启动时都会读取该时间。服务器关机时,Domino 会用最新信息更新 LOADMONNCF 文件。为确定当前的扩展系数,Domino 会在指定的时间段内跟踪最常用的几种 Domino 事务类型。缺省情况下,Domino 会在 5 个时间段内跟踪这些事务,每段时间为 15 秒。然后,Domino 就可以确定完成每种事务平均要花的时间,并用该时间除以它曾经完成每种同类事务所花的最短时间。这样就可确定每种事件的扩展系数。为确定整个服务器的扩展系数,Domino 会取所有类型事务的扩展系数的平均值,并对最常用的事务类型给予较大的加权数。当服务器繁忙时,对服务器添加更多负载会显著地影响服务器的性能和可用性。因此,向繁忙的服务器中添加负载也比向不繁忙的服务器中添加负载要更快地增大扩展系数。因为各个服务器的速度、容量和处理能力各不相同,能够处理的工作负载也不尽相同。所以,两个不同服务器的扩展系数相同并不一定意味着二者能够承担相当的工作负载。例如,对于一个在空闲状态下执行事务都需要花费很长时间的小型服务器来说,扩展系数 40 可能表示用户需要等待若干秒才能得到响应。而对于一个处理速度非常快的超大型服务器来说,扩展系数 400 可能表示用户只需等待不到一秒的时间就能得到响应。注意:下表中的值是根据扩展系数 64 生成的,该值表示服务器处于满负载状态。 扩展系数可用性指标 1 100 2 83 4 67 8 50 16 33 32 17 64 0 注意:扩展系数和可用性指标仅用于度量服务器响应时间,该时间通常只是客户机经历的响应时间的一小部分。例如,客户机和服务器之间的网络响应时间通常占客户机经历的响应时间的很大部分。更改表示服务器处于满负载状态的扩展系数值 要有效利用 Domino 工作负载平衡,必须调整扩展系数与可用性指标之间的关系,以便服务器在达到预期的故障转移工作负载时进行故障转移。通过指定表示服务器处于满负载状态的扩展系数值,可以实现此目的。Domino 中的缺省值为 64。当扩展系数达到该值时,便可将服务器视为负载已满,可用性指标降为 0(零)。如果服务器的功能特别强大,处理速度特别快,则可提高表示服务器处于满负载状态的扩展系数值。对于一些处理速度极快的服务器来说,该值可以提高到几百或更高。如果服务器的处理速度特别慢,则可降低该值。要更改表示满负载服务器的扩展系数值,请将下面的设置添加到 NOTESINI 文件,然后重新启动服务器。SERVER_TRANSINFO_RANGE= n 其中,值 n 表示服务器处于满负载状态的扩展系数值等于 2 的 n 次幂。 n 的缺省值为 6,这说明扩展系数值为 64,因为 2 的 6 次幂为 64;如果将 SERVER_TRANSINFO_RANGE 设为 7,则满负载时的扩展系数值为 128;如果将 SERVER_TRANSINFO_RANGE 设为 8,则该值为 256。要确定 SERVER_TRANSINFO_RANGE 的最优值,请执行下列操作:1 在服务器负载过重的期间内,监控服务器的扩展系数。可以使用控制台命令“show stat serverexpansionfactor”来执行此任务。另外,还可以在这些期间内监控性能统计信息。记录有关此类期间的足够多的扩展系数值,以便确定使用哪个扩展系数值来表示服务器处于满负载状态。 2 为 SERVER_TRANSINFO_RANGE 确定一个值,以 2 为底数, 该值为指数计算而得的值,即为在步骤 1 中选择的扩展系数值。 如果更改了表示服务器处于满负载状态的扩展系数值,扩展系数与可用性指标之间的关系就会发生变化。下表列出了当 SERVER_TRANSINFO_RANGE 值为 8 时的一些扩展系数以及由之转换而来的可用性指标。因为 2 的 8 次幂为 256,所以本例中的最大扩展系数为 256。扩展系数可用性指标1100288475863165032386425128132560更改用于计算扩展系数的数据量 尽管不是必需的操作,但还是可以使用下列 NOTESINI 设置来更改 Domino 收集用以配置扩展系数的数据量。 要更改 Domino 使用的数据收集时间段数,请使用 NOTESINI 的 Server_Transinfo_Max=x 设置,其中 x 是您希望 Domino 使用的收集时段数量。 要更改每个数据收集时间段的时间长度,请使用 NOTESINI 的 Server_Transinfo_Update_Interval=x 设置,其中 x 是每个时间段的长度(秒)。
计算 + 存储 + 网络 就是服务器资源
计算: CPU + 内存, 也有GPU计算
存储:常规的数据存储,如文件系统存储,块存储, 对象存储
网络:如软件定义网络,虚拟网络等
一、CPU使用率其实就是运行的程序占用的CPU资源,表示你的机器在某个时间点的运行程序的情况。使用率越高,说明机器在这个时间上运行了很多程序,反之较少。使用率的高低与你的CPU强弱有直接关系。而且CPU和内存占用是跟你的脚本挂钩的。 脚本复杂,占用的就多。
二、步骤
方法一:
1首先你需要用压测工具(比如webbench)持续模拟请求, 在压测期间每秒运行ps aux |grep php-fpm一次,把结果记录在文件中。
2等压测结束后,可以通过分析统计这个文件(结果第三列是cpu占用,第四列是内存占用),然后就可以绘制出php-fpm进程的cpu,内存占用了。
方法二:
如果在某一型号的设备上进行过测试,现在需要规划下一次测试任务需要的CPU资源;或者在同一型号的设备上,对比不同应用类型、同一应用不同版本之间的差异,可以采用简单估算。
1 计算方法
CPU个数x利用率/吞吐量=CPU个数x利用率/(交易笔数/秒)=CPU个数x利用率x秒/交易笔数=每笔交易消耗的CPU持续了一秒钟。
2 举例说明
假设某应用在一台8核服务器上运行,当每秒处理100笔交易的情况下,CPU利用率为70%。此时CPU个数x利用率=56。
每笔交易消耗一秒钟CPU的个数=56/100=0056。
假设下次测试需要测试吞吐量为每秒200笔交易,大约要求CPU利用率在50%左右。则需要给测试服务器大约的CPU个数为:0056x200/05=224。至于这个224C的服务器能不能达到每秒200笔交易的能力,是另一回事。
0条评论