当前位置:网站首页>openEuler 资源利用率提升之道02:典型应用下的效果
openEuler 资源利用率提升之道02:典型应用下的效果
2022-08-08 19:06:00 【InfoQ】
案例 1:CPU 调度敏感型应用
- 在线业务选用 「Web Serving」
- 测试套[3]:模拟用户向社交网络服务器发送不同请求的场景,服务端基于社交网络引擎(Elgg)实现,客户端根据 Faban工作负载生成器实现。业务性能度量指标为平均每秒操作数、响应时延等。
- 离线业务选用 「In-Memory Analytics」
- 测试套[4]:通过 Apache Spark在内存中运行协作过滤算法训练用户电影评级模型,生成测试用户推荐电影列表。业务性能度量指标为计算电影推荐的时间(以秒为单位)。
- 在线业务单独运行时,在线业务 Web Serving 的性能数据
- 在离线业务混部、无混部 QoS 特性干预下,在线业务 Web Serving 的性能数据
- 在离线业务混部、有混部 QoS 特性干预下,在线业务 Web Serving 的性能数据

案例 2:CPU 限流敏感型应用
- 单个应用实例 CPU 规格较小 ,使用率较低,有规律突发增长
- 应用长期平稳运行,运行过程中突发 CPU 使用飙升
- 应用总体使用率较低,但启动时使用率较高
- 通过 Stress 工具来担任在线业务,模拟业务流量短时冲高的场景。在平稳运行时仅占用 1 个 CPU ,每 30 秒规律突发时长为 1ms 的高峰流量,在高峰时期会占用 3 个 CPU
- 将该在线业务部署于 Kubernetes 集群,并限制该业务最大可用 CPU 数为 2 个 CPU

案例 3:内存敏感型应用

- 在线业务(nginx):因其对时延敏感,担任在线业务。测试时下载用户指定的文件并连续进行传输
- 离线业务(stress):对时延不敏感,但会大量使用内存,担任离线业务。测试时让其同时进行内存和磁盘写、占用一定数量的匿名内存和
- 客户端(siege):由其模拟用户行为,对在线业务 nginx 发送 HTTP 请求 在测试时,重点观测点是在线业务的
- 在离线业务混部,不开启混部 QoS 的 FSSR 特性
- 在离线业务混部,开启混部 QoS 的 FSSR 特性
- 仅运行在线业务

- 如左半图所示,随着测试时连续下载次数的增加,在线业务的 QoS(下载耗时)开始下降。相比于没有开启 FSSR 策略的测试1,在开启了 FSSR 策略的测试 2 里,在线业务的 QoS 得到了显著的提升。这意味着,当请求下载次数增加,开启 FSSR策略时,在线业务的内存上限会随着使用量增大而增大,page cache中会缓存大量已经读取的文件,从而减少了磁盘读写的次数,保障了在线业务的 QoS
- 如右半图所示,当开启 FSSR 策略时(测试 2 ),在线业务的 QoS 能够与仅运行在线业务(测试3)的内存使用量相近。这意味着在线应用会尽可能的利用内存的资源,从而在和离线应用竞争时能够处于竞争优势地位
案例 4:网络 IO 敏感型应用

- 通过 rubik 开启 Pod 带宽管理特性,设置 node 上的离线业务的总体带宽和在线业务的限流水位
- 给在离线业务容器所在的 cgroup 设置不同的 qos_level,进行在离线业务的标识
- 在测试刚开始时,在线业务尽可能的占据网络带宽,而离线业务未启动
- 时刻 1 ,在第 5 秒时,离线业务上线。此时在离线业务开始竞争网络资源
- 时刻 2 ,在第 10 秒时,在线业务下线。此时仅留离线业务继续运行 时刻 3 ,在第 15秒时,在线业务上线。此时在离线业务再次竞争网络资源
- 时刻 4 ,在第 20 秒时,离线业务下线。此时仅留在线业务继续运行
- 时刻 1 时,离线业务开始竞争网络资源。在测试 1 ,在线业务的带宽受到了影响;而测试 2 ,在线业务的带宽几乎不受影响;
- 时刻2 时,在线业务停止处理请求。在测试 2 里,之前一直被压制的离线业务,终于获得更多的网络带宽;
- 时刻 3时,在线业务恢复处理请求。测试 2 的在线业务马上获得了尽可能多的网络带宽,同时离线业务的带宽受到了压制。相比之下,测试 1 的在线业务始终没法获得充足的网络带宽;
- 时刻 4 时,离线业务停止竞争网络资源。此时测试 1 的在线业务才可以获得足够的网络带宽

总结
- openEuler 资源利用率提升之道 01:概论:https://mp.weixin.qq.com/s/x9sdogEslRJJ5mDbs5bxgQ
- CloudSuite | A Benchmark Suite for Cloud Services:https://www.cloudsuite.ch/
- Web Serving:https://github.com/parsa-epfl/cloudsuite/blob/main/docs/benchmarks/web-serving.md
- In-Memory Analytics:https://github.com/parsa-epfl/cloudsuite/blob/main/docs/benchmarks/in-memory-analytics.md
- iPerf - The TCP, UDP and SCTP network bandwidth measuremen t tool:https://iperf.fr/
系列文章回顾
加入我们
边栏推荐
- 轻量全景查看器 pannellum初探
- Geometric g6 will carry harmonyos system, a comprehensive upgrade competitiveness of products
- hdu2018 母牛的故事(模拟)
- What is the main purpose of software testing?
- 使用 lua 运行 fscript
- [极客大挑战 2019]BuyFlag&&[HCTF 2018]admin
- 在Unity URP中实现Forward+
- FastDFS distributed file system
- 软件测试基础笔记
- WPF DataGrid 展示数据
猜你喜欢
Lecture 4: Database Definition Language of DDL Type of SQL Statements
【kali-权限提升】(4.2.6)社会工程学工具包(上):中间人攻击原理
ptorch
PX4-做飞控二次开发需要知道的事情-Cxm
wps表格怎么设置公式自动计算?wps表格设置公式自动计算的方法
PG's huge page
WPF DataGrid 展示数据
Ability in general, but it can be large horizontal jump freely?Where is the better?
SSM project integration, integrated case
微信小程序第一集
随机推荐
鹅厂机器狗花式穿越10m梅花桩:前空翻、单桩跳、起身作揖...全程不打一个趔趄
Redis之SDS数据结构
oracle视图v$active_session_history,dba_hist_active_session_history如何记录IP地址
Codeforces Round #722 (Div. 2)
C语言初阶-结构体
Performance optimization | CPU power management from the perspective of ping delay
16. Learn Lua file I/O together
Word清除格式在哪里?Word清除格式使用方法
数据泵导出数据报39006是什么原因
商品期货需要多少钱开户。有资金门槛吗?期货开户在哪开安全?
室外光纤资源管理——可视化管理平台
[BJDCTF2020]Easy MD5
laravel run scheduler command on weekdays (except holidays)
Will ODPS spark on Dataworks process data more efficiently than directly using ODPS SQL?
The history of cartoon rendering
Research on ORACLE subqueries that lead to inability to push predicates
Geometric g6 will carry harmonyos system, a comprehensive upgrade competitiveness of products
黑猫带你学Makefile第9篇:menuconfig/Kconfig/deconfig/.config及Makefile之间的关系
Rethinking HTAP database caused by rereading GPDB and TiDB papers
Codeforces Round #705 (Div. 2)