一个电子商务工作负载
在这个小节中,我将在另一种类型的工作负载上比较调控器的效果。以下结果来自一个电子商务购物应用程序,该程序在一个模拟在线购物会话期间收集许多统计数据,包括延迟时间和每秒请求数。这个应用程序使用一个 Apache 前端,一个 PHP 实现和一个 MySQL 数据库来创建一个可用的购物站点。注意,这些结果没有针对最优性能进行调优,不应被视为针对系统的正式结果。我们将在不同的利用率负载水平上比较这个工作负载上的效果。
默认调控器比较
以下图形比较 conservative 和 ondemand 这两个可调优内核调控器和作为基准比较的 performance 调控器。所有调控器使用默认设置运行,调优方法 sched_mc_power_savings 和 sched_smt_power_savings 在运行期间关闭。
图 13 系列展示一个总共带有 500 个客户端的在线购物会话的统计数据。测试系统在运行 500 个客户端时的平均利用率为 8-12%。
图 13a. 性能(请求/秒)
图 13b. 延迟时间(毫秒)
Figure 13c. 平均电能(瓦特)
Figure 13d. 性能/瓦特
图 13a 展示这个购物会话的性能,单位为 “请求/秒”。您可以看到,所有 3 个调控器每秒的请求数几乎完全相同。
图 13b 显示平均延迟时间稍微有一些区别。conservative 调控器比 performance 调控器几乎延迟 7 毫秒,但对于在线购物车这样的应用程序来说,多数用户不会注意到增加的几毫秒,因此这个区别可以忽略。
图 13c 显示平均电能消耗。可以看出,conservative 调控器比 performance 调控器大约节约了 20W;也就是说,没有处理器变频且 ondemand 调控器平均节约 15W。
图 13d 通过用每秒请求数除以平均电能消耗显示 “性能/瓦特”。三个调控器的类似性能和两个动态调控器的电能节约意味着后者具有更高的 “性能/瓦特” 值。conservative 调控器在 8-12% 的利用率负载水平上的能效最高,紧随其后的是 ondemand 调控器。