问答题 阅读以下系统性能调优的技术说明,根据要求回答问题。
[说明]
系统性能调优的关键是首先做好性能故障定位,面对系统中运行在不同平台上的多个服务器、多种应用、大量工作站,以及局域网、广域网和其他类型的网络体系结构,故障点交错,故障定位测试非常复杂。以下是《工作流平台系统》的性能测试案例描述及结果数据。
●测试案例描述:模拟多用户登录工作流平台系统,分别针对工作流A、B、C连续创建20个实例,在单机和集群运行环境下分别对系统进行负载压力性能测试。在单机环境下测试用机与一台应用服务器连在同一台交换机上,压力直接加在一台应用服务器上。在集群环境下测试用机与服务器集群连接在同一台交换机上,压力由负载均衡模块分摊到两台应用服务器上。在单机和集群运行环境中应用服务器和一台数据库服务器连接。
●结果数据:在单机运行环境下和在集群运行环境下客户端交易并发执行测试数据分别如表1和表2所示。在单机运行环境下,应用服务器资源占用情况如表3所示,数据库服务器资源占用情况如表4所示。在集群运行环境下,两台应用服务器资源占用情况如表5所示,数据库服务器资源占用情况如表6所示。
{{B}}表1 在单机环境下客户端交易并发执行测试数据{{/B}}
测试案例 并发用户数 响应时间(秒)
最大值 平均值 最小值
创建工作流实例A 120 0.675 0.686 0.03
240 0.756 0.479 0.034
{{B}}表2 在集群环境下客户端交易并发执行测试数据{{/B}}
测试案例 并发用户数 响应时间(秒)
最大值 平均值 最小值
创建工作流实例A 120 0.113 0.088 0.01
240 0.103 0.117 0.01
{{B}}表3 在单机环境下应用服务器资源占用情况{{/B}}
测试案例 并发用户数 资源占用指标 最大值 平均值 最小值
创建工作流实例A 120 CPU Utilization(%) 33.8 10.054 2.9
Paging Rate(page/s) 2.5 0.082 0
Disk traffic(MByte/s) 9.75 0.813 0
240 CPU Utilization(%) 38.1 8.713 0.875
Paging Rate(page/s) 0.25 0.015 0
Disk traffic(MByte/s) 2.6 0.336 0
{{B}}表4 在单机环境下数据库服务器资源占用情况{{/B}}
测试案例 并发用户数 资源占用指标 最大值 平均值 最小值
创建工作流实例A 120 CPU Utilization(%) 44.875 5.085 O.5
Paging Rate(page/s) 4.75 0.274 0
Disk traffic(MByte/s) 8.8 1.824 0.6
240 CPU Utilization(%) 12.2 1.766 0.5
Paging Rate(page/s) 5.4 0.244 0
Disk traffic(MByte/s) 7.2 1.584 0.6
创建工作流实例B和
工作流实例C
60 CPU Utilization(%) 100 87.082 0.875
Paging Rate(page/s) 268.992 158.865 0
Disktraffic(MByte/s) 193.319 110.948 2.25
120 CPU Utilization(%) 99.3 88.419 1.15
Paging Rate(page/s) 751.358 189.785 1.8
Disk traffic(MByte/s) 217.775 146.304 2
240 CPU Utilization(%) 100 88.909 0.6
Paging Rate(page/s) 521.447 151.829 0
Disk traffic(MByte/s) 197.725 146.285 0.6
{{B}}表5 在集群环境下两台应用服务器资源占用情况{{/B}}
CPU 应用服务器1 应用服务器2
最大值 平均值 最小值 最大值 平均值 最小值
创建
工作流
实例A
120 CPU
Utilization(%)
46 21.005 14 46.25 14.025 7.667
Paging Rate
(page/s)
3.5 0.392 0 2.167 0.206 0
Disk traffic
(MByte/s)
65.334 6.647 0 73.833 7.588 0
240 CPU
Utilization(%)
42 27.163 1.583 37.333 17.856 0.75
Paging Rate
(page/s)
3 0.206 0 0.667 0.045 0
Disk traffic
(MByte/s)
7 0.849 0 6 0.674 0
{{B}}表6 在集群环境下数据库服务器资源占用情况{{/B}}
测试案例 并发用户数 资源占用指标 最大值 平均值 最小值
创建工作流实例A 120 CPU Utilization(%) 13 2.868 0.333
Paging Rate(page/s) 0 0 0
Disk traffic(MByte/s) 6.667 1.767 0.6
240 CPU Utilization(%) 34.5 5 644 0.25
Paging Rate(page/s) 10.667 0.508 0
Disk traffic(MByte/s) 5.6 1.596 0.75
问答题 在单机运行环境和集群运行环境下,系统能够提供的客户端并发性能服务等级哪种更好?为什么?
【正确答案】在集群运行环境下,系统能够提供的客户端并发性能服务等级更好。 响应时间短,交易执行效率高
【答案解析】服务器集群(Cluster)是指一组相互独立的服务器在网络中表现为单一的系统,并以单一系统的模式加以管理。此单一系统为客户工作站提供高可靠性的服务,并大幅度提高了服务器的安全性。一个Chaster包含多台(至少两台)拥有共享数据存储空间的服务器,各服务器之间通过内部局域网进行相互通信;当其中一台服务器发生故障时,它所运行的应用程序将由其他的服务器自动接管;在大多数情况下,集群中所有的计算机都拥有一个共同的名称,集群系统内任意一台服务器都可被所有的网络用户所使用。 在Cluster中,客户端并发性能服务等级的考核指标主要包括交易执行响应时间、并发用户数、交易通过率及吞吐量等。本问题主要考虑交易执行响应时间这个技术指标。在集群运行环境下,系统能够提供的客户端交易执行响应时间较短,交易执行效率较高,即其并发性能服务等级更好。
问答题 系统应用服务器和数据库服务器资源使用情况如何?是否有瓶颈存在?单机运行环境和集群运行环境相比,哪种环境下资源占用率更高?为什么?随着系统并发负载的加大,试预测哪种环境下资源占用率递增更快。
【正确答案】在单机运行环境和集群运行环境下,系统后台应用服务器和数据库服务器资源利用率较低。 不存在瓶颈。 与单机运行环境相比,集群运行环境下的资源利用率更高。 为了实现集群策略,系统需要花费资源,所以造成集群运行环境下的资源利用率更高。 随着系统承受并发负载的压力加大,在单机运行环境下资源的使用会递增较快,因为集群的负载均衡策略会发挥作用
【答案解析】系统服务器资源使用的考核指标主要包括CPU占用率(CPU Utilization)、内存页交换率(Paging Rate)、硬盘流量(Disk Traffic)等。资源使用成为瓶颈的标志是:CPU占用率(CPU Utilization)平均值持续达到90%以上,内存页交换率(Paging Rate)平均值持续达到80%以上,硬盘流量(Disk Traffic)平均值持续超过Disk I/O带宽。同时需要注意这三者之间是互相关联的,例如较大的Paging Rate会使CPU Utilization和Disk Traffic的值提高。 在系统服务器中应该主要考查应用服务器,其资源利用率较低,不存在瓶颈。 为了实现集群策略,系统需要花费资源,但随着系统承受并发负载的增加,集群的性能衰减较小。 与单机运行环境相比,在集群运行环境下资源的利用率更高。这是因为在实现集群策略过程中,系统需要花费额外的资源开销。随着系统承受并发负载的继续加大,集群的负载均衡策略将会发挥作用,使得在单机运行环境下资源的使用率比在集群运行环境下递增更快。
问答题 集群对系统性能有哪些贡献?有哪些弊端?该系统是否应该采用此集群部署策略?
【正确答案】集群能够提高系统的客户端并发性能服务等级,用户能够体验到更好的性能。 集群带来较大的花费,同时增加了维护费用。 该系统采用此集群策略是不合适的,因为在单机测试环境下,创建工作流B实例和工作流C实例时,数据库服务器CPU占用率平均值已经达到85%以上,应用服务器的集群策略使系统能够承受更多的并发负载,这样就给数据库服务器带来更大的负载压力,CPU占用率会成为系统瓶颈
【答案解析】服务器集群的优势是能够提高系统的客户端并发性能服务等级,用户能够体验到更好的性能。其弊端是带来较大的花费,同时增加了维护费用。 在单机测试环境下,创建工作流实例B和工作流实例C时,数据库服务器CPU占用率平均值达到85%以上,基本接近瓶颈。应用服务器的集群策略使系统能够承受更多的并发负载,这样就给数据库服务器带来更大的负载压力,CPU占用率会成为系统瓶颈。由此可见,该系统采用集群策略是不合适的。
问答题 假设该工作流平台系统去年全年处理“税票录入”交易约100万笔,考虑到3年后交易量递增到每年200万笔。假设每年交易量集中在8个月,每个月20个工作日,每个工作日8小时,试采用80/20原理估算系统服务器高峰期“税票录入”的交易吞吐量(tans/s)。
【正确答案】业务量为1000000×2,处理时间为8×20×8×3600,交易的吞吐量为(1000000×2×80%)/(8×20×8×3600×20%)=1.74trans/s
【答案解析】本问题主要考查利用80/20法则估算系统服务器高峰期交易处理吞吐量(trans/s)的方法。 80/20法则的原理可以概括为:每个工作日中80%的业务在20%的时间内完成。在本问题中,业务量为1000000×2,处理时间为8×20×8×3600。 系统服务器高峰期“税票录入”的交易吞吐量为 (1000000×2×80%)/(8×20×8×3600×20%)=1.74(trans/s)