华为云云耀云服务器L实例评测|轻量级应用服务器对决:基于 STREAM 深度测评华为云云耀云服务器L实例的内存性能

本文收录在专栏:#云计算入门与实践 - 华为云 专栏中,本系列博文还在更新中
相关华为云云耀云服务器L实例评测文章列表如下:
- 华为云云耀云服务器L实例评测 | 从零开始:云耀云服务器L实例的全面使用解析指南
- 华为云云耀云服务器L实例评测|轻量级应用服务器对决:基于 Geekbench 深度测评华为云云耀云服务器L实例的处理器性能
- 华为云云耀云服务器L实例评测|轻量级应用服务器对决:基于 STREAM 深度测评华为云云耀云服务器L实例的内存性能
华为云云耀云服务器L实例评测|轻量级应用服务器对决:基于 fio 深度测评华为云云耀云服务器L实例的磁盘性能 - [ 云计算 华为云 ] 解决办法:如何更换华为云云耀云服务器L实例的镜像
文章目录
- 一、评测背景
- 二、评测声明
- 三、被评测服务器参数及准备
- 3.1 被评测服务器基本参数
- 3.2 测试机采购
- 3.2.1 华为云云耀云服务器L实例
- 3.2.2 友商的轻量应用服务器 lighthouse
- 四、使用 Stream 测试内存性能
- 4.1 Stream 安装
- 4.2 在华为云云耀云服务器L实例运行 Stream 测试
- 4.3 在友商的轻量应用服务器 lighthouse 运行 Stream 测试
- 五、最终测试比对结果(本文重点)
- 六、文末总结
一、评测背景
本文是继上篇:《华为云云耀云服务器L实例评测|轻量级应用服务器对决:基于 Geekbench 深度测评华为云云耀云服务器L实例》后,继续探讨华为云的创新产品【华为云云耀云服务器L实例】,为读者提供全面的评测信息,本篇文章重点是测试其【华为云云耀云服务器L实例】的内存性能。我们仍然选取了对比机器,也就是友商的轻量级应用服务器 lighthouse,经过使用 STREAM 的详细测试,我们将对华为云的最新云耀云服务器L实例的CPU处理器性能进行严格测试和分析,以帮助你更加清晰的认识华为云的最新云耀云服务器L实例,以及帮助你更好的在众多繁杂的服务器中进行选择判断。
二、评测声明
本人任何测试其云计算或者其他商品,都站在如下声明立场
尽管本文是在参与华为云云耀云服务器L实例评测活动的背景下编写的,但是本博主是站在一个中立的角度来进行评测,不存在因为是活动文上来就无脑吹,这有背征文的目的以及我的个人初衷。
三、被评测服务器参数及准备
3.1 被评测服务器基本参数
华为云云耀云服务器L实例现阶段提供2核2G、2核4G、2核8G的 3 种 CPU 和内存规格,不同 CPU 和内存规格与系统盘、峰值带宽和流量包组合共有 6 种实例规格。这里选择的友商测试机为轻量应用服务器 lighthouse,该友商的轻量型应用服务器与华为云云耀云服务器L实例类似,都提供不同的应用场景,不通过的镜像支持以及规格,可以说是相互的对标产品。
本测试使用的华为云云耀云服务器L实例与友商的轻量应用服务器 lighthouse均位于广州区域,且配置均为2核2G,配置参数表格为:
| 规格配置 | 华为云云耀云服务器L实例 | 友商的轻量应用服务器 lighthouse |
|---|---|---|
| 核心数 | 2核 | 2核 |
| 内存 | 2G | 2G |
| 操作系统 | CentOS 7.6 | CentOS 7.6 |
| 区域 | 广州 | 广州 |
3.2 测试机采购
3.2.1 华为云云耀云服务器L实例
因为本文重点是对华为云云耀云服务器L实例进行处理器层面的评测,由于篇幅有限,此处步骤略过,对于如何采购华为云云耀云服务器L实例具体步骤细节,参考我之前的博文中的第三节即可:华为云云耀云服务器L实例评测 | 从零开始:云耀云服务器L实例的全面使用解析指南
购买后服务器规格如下:

3.2.2 友商的轻量应用服务器 lighthouse
对比测试机采购步骤略过,因为不是今天的主角,直接在下面贴出购买后的截图

四、使用 Stream 测试内存性能
STREAM 软件是一款内存带宽性能测试的关键工具,也是衡量服务器内存性能的通用标杆。随着处理器核心数量的增加,内存带宽对于提升整个系统性能变得愈发关键。如果系统无法高效地将内存中的数据传送到处理器,那么多个处理核心可能会因等待数据而处于闲置状态。这种闲置时间不仅会减少系统效率,还会抵消多核心和高主频带来的性能优势。
STREAM 软件在内存带宽性能测试中表现出色,具备出色的空间局部性,并且与缓冲区TLB(Translation Lookaside Buffer)以及缓存的兼容性极佳。该软件支持四种运算方式,包括复制(Copy)、尺度变换(Scale)、矢量求和(Add)以及复合矢量求和(Triad),从而全面评估内存带宽性能。这使得 STREAM 成为一个不可或缺的工具,用于深入了解系统内存性能,优化系统配置,提高整体性能表现。
下面是我们使用 STREAM 测试内存性能的过程:
为了演示如何使用 STREAM 我们这里直接使用华为云云耀云服务器L实例进行演示
4.1 Stream 安装
官方源码地址:http://www.cs.virginia.edu/stream/FTP/Code/stream.c
[root@hcss-ecs-d51e stream]# wget http://www.cs.virginia.edu/stream/FTP/Code/stream.c
[root@hcss-ecs-d51e stream]# yum install gcc -y# stream 版本 5.10 使用
[root@hcss-ecs-d51e stream]# gcc -O3 -fopenmp -DSTREAM_ARRAY_SIZE=10000000 -DNTIMES=10 stream.c -o stream
# stream 版本 5.9 使用
[root@brinnatt ~]# gcc -O3 -fopenmp -DN=2000000 -DNTIMES=10 stream.c -o stream[root@hcss-ecs-d51e stream]# ls
stream stream.c
[root@hcss-ecs-d51e stream]#
含义、方法及相关解释:
- -O3:指定最高编译优化级别,即 3
- -fopenmp:启用 OpenMP,适应多处理器环境,更能得到内存带宽实际最大值。开启后,程序默认运行线程为 CPU 线程数
- -DSTREAM_ARRAY_SIZE:指定测试数组
a[]、b[]、c[]的大小(Array size)。该值对测试结果影响较大(5.10 版本,参数名为-DSTREAM_ARRAY_SIZE,默认值 10000000;若 stream.c 为 5.9 版本参数名为-DN,默认值 2000000)。- 注意:必须设置测试数组大小远大于 CPU 最高级缓存(一般为 L3 Cache)的大小,否则就是测试 CPU 缓存的吞吐性能,而非内存吞吐性能。
- -DNTIMES=10:执行的次数,并从这些结果中选最优值。
- stream.c:待编译的源码文件
- stream:输出的可执行文件名
- 其他参数:
- -mtune=native -march=native:针对 CPU 指令的优化,-mtune=native会在已选指令集约束下生成本地机器优化代码;使用-march=native将启用本地机器支持的所有指令子集。更多编译器对 CPU 的优化参考(点击这里)
- -mcmodel=medium :当单个 Memory Array Size 大于 2GB 时需要设置此参数
- -DOFFSET=4096 :数组的偏移,一般可以不定义
推荐计算公式:{最高级缓存X MB}×1024×1024×4.1×CPU路数/8,结果取整数。
解释:由于 stream.c 源码推荐设置至少 4 倍最高级缓存,且 STREAM_ARRAY_SIZE 为 double 类型 = 8 Byte。所以公式为:最高级缓存(单位:Byte)×4.1倍×CPU路数/8。
例如:测试机器是双路 CPU,最高级缓存 32MB,则计算值为 32×1024×1024×4.1×2/8≈34393292。

4.2 在华为云云耀云服务器L实例运行 Stream 测试
使用命令指定运行线程为 n,即使用如下命令运行测试
export OMP_NUM_THREADS=4
./stream
在编译输出的可执行文件(stream)所在目录下运行:
[root@hcss-ecs-d51e stream]#
[root@hcss-ecs-d51e stream]#
[root@hcss-ecs-d51e stream]# export OMP_NUM_THREADS=4
[root@hcss-ecs-d51e stream]# ./stream
-------------------------------------------------------------
STREAM version $Revision: 5.10 $
-------------------------------------------------------------
This system uses 8 bytes per array element.
-------------------------------------------------------------
Array size = 10000000 (elements), Offset = 0 (elements)
Memory per array = 76.3 MiB (= 0.1 GiB).
Total memory required = 228.9 MiB (= 0.2 GiB).
Each kernel will be executed 10 times.The *best* time for each kernel (excluding the first iteration)will be used to compute the reported bandwidth.
-------------------------------------------------------------
Number of Threads requested = 4
Number of Threads counted = 4
-------------------------------------------------------------
Your clock granularity/precision appears to be 1 microseconds.
Each test below will take on the order of 4504 microseconds.(= 4504 clock ticks)
Increase the size of the arrays if this shows that
you are not getting at least 20 clock ticks per test.
-------------------------------------------------------------
WARNING -- The above is only a rough guideline.
For best results, please be sure you know the
precision of your system timer.
-------------------------------------------------------------
Function Best Rate MB/s Avg time Min time Max time
Copy: 14426.1 0.011183 0.011091 0.011345
Scale: 21105.4 0.007770 0.007581 0.008006
Add: 22676.0 0.010729 0.010584 0.010963
Triad: 22710.3 0.010724 0.010568 0.011247
-------------------------------------------------------------
Solution Validates: avg error less than 1.000000e-13 on all three arrays
-------------------------------------------------------------
最终测试结果图,如下:

4.3 在友商的轻量应用服务器 lighthouse 运行 Stream 测试
在上述 4.2 节中,华为云云耀云服务器L实例上运行 Stream 测试步骤里已经详细介绍如何使用 Stream 以及相关的细节介绍,这里节约篇幅省略中间过程,直接给出在友商的轻量应用服务器 lighthouse 运行 Stream 的结果:

五、最终测试比对结果(本文重点)
这里和之前使用 Geekbench 跑分的时候一样,废话不多,直接上 STREAM 的最终结果:
| STREAM version $Revision: 5.10 | 数组大小 | 复制(Copy)MB/S | 尺度变换(Scale)MB/S | 矢量求和(Add)MB/S | 复合矢量求和(Triad)MB/S |
|---|---|---|---|---|---|
| 华为云云耀云服务器L实例 | 10000000 | 14426.1 | 21105.4 | 22676.0 | 22710.3 |
| 友商的轻量应用服务器 lighthouse | 10000000 | 10108.7 | 12778.5 | 13467.9 | 13361.6 |
注意:上述表格数据建议多次跑分取平均值后在进行统计
从上表中可以看出,同样是测试数组大小为 10000000 个的情况下,华为云云耀云服务器L实例的各项指标完胜友商的轻量应用服务器 lighthouse,其中复制的速率比友商的机器略高,几乎差不多,但是在尺度变换、矢量求和与复合矢量求和的速率几乎是友商机器的 2 倍左右。
在我们上篇文章:《华为云云耀云服务器L实例评测|轻量级应用服务器对决:基于 Geekbench 深度测评华为云云耀云服务器L实例》中,对华为云云耀云服务器L实例进行了处理器 CPU 的测试,当时的结果也是华为云云耀云服务器L实例的性能要优于友商的同类型竞品,而这次的内存测试上,同样的完胜,不得不说,华为的这个新产品,抛开价格以外的因素,性能上几乎是优于同类型竞品。
六、文末总结
在本文中,我们深入研究了华为云云耀云服务器L实例和友商的轻量应用服务器 lighthouse,特别关注了它们的内存性能。从评测背景开始,我们明确了本文的研究目的。接着,我们详细介绍了被评测服务器的基本参数和测试机采购过程,包括华为云云耀云服务器L实例和友商的轻量应用服务器 lighthouse。
在本文的重点部分,我们使用 STREAM 工具来测试这两款服务器的内存性能。我们介绍了 STREAM 工具的安装过程,并分别在两种服务器上运行了 STREAM 测试,以深入评估它们的内存带宽性能。
过本文的评测和比对,可以帮助读者更好地了解这两款服务器的内存性能表现,为他们做出明智的决策提供有价值的信息。无论是在企业环境还是个人应用中,优化内存性能都是提高整体系统性能的关键一步。
[ 本文作者 ] bluetata
[ 原文链接 ] https://bluetata.blog.csdn.net/article/details/132920474
[ 最后更新 ] 09/18/2023 1:50
[ 版权声明 ] 如果您在非 CSDN 网站内看到这一行,
说明网络爬虫可能在本人还没有完整发布的时候就抓走了我的文章,
可能导致内容不完整,请去上述的原文链接查看原文。
相关文章:
华为云云耀云服务器L实例评测|轻量级应用服务器对决:基于 STREAM 深度测评华为云云耀云服务器L实例的内存性能
本文收录在专栏:#云计算入门与实践 - 华为云 专栏中,本系列博文还在更新中 相关华为云云耀云服务器L实例评测文章列表如下: 华为云云耀云服务器L实例评测 | 从零开始:云耀云服务器L实例的全面使用解析指南华为云云耀云服务器L实…...
Windows安装Neo4j
图数据库概述 图数据库是基于图论实现的一种NoSQL数据库,其数据存储结构和数据查询方式都是以图论(它以图为研究对象图论中的图是由若干给定的点及连接两点的线所构成的图形)为基础的, 图数据库主要用于存储更多的连接数据。 Neo…...
vue3开发必备核心要点
1、route/router的区别 ● $route 表示当前激活的路由的状态信息,包含了当前URL解析得到的信息,包含当前的path路径,params参数,query对象,name路径名等属性 ● r o u t e r 路由器对象( n e w 的路由器对…...
针对敏感数据的安全转录服务
即便在新冠肺炎疫情期间,继续保持了最高级别的机密性 新冠肺炎疫情带来的各种限制向所有服务提供商提出了挑战,促使提供商们想方设法采取更富想象力的新方法来满足客户的需求。澳鹏采用了一种由两种方案组成的工作机制,服务于客户机密材料的…...
leetcode 10. 正则表达式匹配
2023.9.20 感觉是目前做过dp题里最难的一题了... 本题首要的就是需要理解题意,翻了评论区我才发现之前一直理解的题意是错的。 我原来理解的 “ *匹配0次” 是指:*直接消失,不会影响到前面的字符。 但是*和前一个字符其实是连体的࿰…...
Vue前端开发中的输入限制与输入规则探究
前言 在Vue前端开发中,我们经常需要对用户的输入进行限制和规范,以确保数据的准确性和安全性。本文将介绍如何使用Vue的el-input组件来实现输入限制和输入规则,并提供相应的代码示例。 一、输入限制 最大长度限制 我们可以使用maxlength属…...
自己封装 vue3+ts 组件库并且发布到 NPM
自己封装 vue3ts 组件库并且发布到 NPM 创建项目 pnpm create vite配置 package.json 按照提示创建好项目,然后再 package.json 中进行如下配置: {"name": "tribiani-vue-tools","private": false,"version"…...
MySQL学习系列(6)-每天学习10个知识
目录 1. 管理和维护大量的数据库表和数据2. 检测和修复MySQL性能瓶颈3. MySQL的视图缓存4. 处理MySQL并发问题5. 函数索引和全文索引6. UNION ALL 和 UNION 的区别7. 存储引擎的选择8. 存储过程和触发器9. 数据表管理和优化10. 数据库安全性和一致性 👍 点赞&#x…...
“毛细血管”的进化:华为分销业务如何让伙伴也有“高能级”
作者 | 曾响铃 文 | 响铃说 数字化蓬勃发展的大时代,除了那些中、大型企业,数量更为庞大的小微企业同样有借助数字化产品、服务来提升企业经营的需求,由此也带来了广袤的数字化分销市场。 这里处在聚光灯之外,很少被数字化时代…...
警惕!多本SCI/SSCI被剔除,9月SCI/SSCI期刊目录已更新~(附下载)
【SciencePub学术】 2023年9月20日,科睿唯安更新了Web of Science核心期刊目录。 继上次SCI期刊目录和SSCI期刊目录更新之后,本次9月更新共有9本期刊发生变动: • SCIE:有3本期刊不再被SCIE期刊目录收录(Editorial De-listing/Pr…...
一点整理
(1) 美国在2010年以后开始流行数字化转型的。 在2010年以前, 2006年社交网络FB “YOU”:在2004-2006 Web2.0热之前,企业是无法直接触达到每个消费者的2006年Amazon电子商务:这个是我瞎凑的,但因…...
Vulnhub系列靶机---Deathnote: 1死亡笔记
文章目录 信息收集主机发现端口扫描目录扫描dirsearchgobusterdirb扫描 漏洞利用wpscan扫描Hydra爆破 总结 靶机文档:Deathnote: 1 下载地址:Download (Mirror) 难易程度:so Easy 信息收集 主机发现 端口扫描 访问靶机的80端口,报…...
从基础到高阶:史上最小白的Attention机制详解——揭秘人工智能中的核心技术
1. Encoder-Decoder 想象一下你正在和一个会说多种语言的朋友对话。你用中文对他说了一句话,他将其“编码”成他的“内部语言”,然后再“解码”成英语给你回复。在这个过程中,“编码”就是Encoder,而“解码”就是Decoder。 在机…...
9.20金融科技(比特币)
比特币的起源和发展 2008年爆发全球金融危机,同年11月1日,一个自称中本聪(Satoshi Nakamoto)的人在P2P foundation网站上发布了比特币白皮书《比特币:一种点对点的电子现金系 ,陈述了他对电子货币的新设…...
什么是内存碎片?
在嵌入式系统中,内存是十分有限而且是十分珍贵的,用一块内存就少了一块内存,而在分配中随着内存不断被分配和释放,整个系统内存区域会产生越来越多的碎片。 因为在使用过程中,申请了一些内存,其中一些释放…...
C语言堆排序
堆排序(Heapsort)是一种在时间复杂度上达到了最优的基于比较的排序算法。堆排序算法是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子节点的键值或索引总是小于࿰…...
【学习笔记】CF573E Bear and Bowling
感觉贪心的做法比较自然🤔,推荐 这篇博客 非常经典牛逼的贪心思路: 考虑每次加入一个数,位置 i i i的贡献为 V i k i a i b i V_ik_i\times a_ib_i Vikiaibi,其中 k i k_i ki表示 i i i以前被选的位置的…...
函数扩展之——内存函数
前言:小伙伴们又见面啦。 本篇文章,我们将讲解C语言中比较重要且常用的内存函数,并尝试模拟实现它们的功能。 让我们一起来学习叭。 目录 一.什么是内存函数 二.内存函数有哪些 1.memcpy (1)库函数memcpy &…...
【在线机器学习】River对流数据进行机器学习
River是一个用于在线机器学习的Python库。它旨在成为对流数据进行机器学习的最用户友好的库。River是crme和scikit-multiflow合并的结果。 https://github.com/online-ml/river 举个简单示例,将训练逻辑回归来对网站网络钓鱼数据集进行分类。下面介绍了数据集中的…...
第 4 章 串(串的块链存储实现)
1. 背景说明 该实现和链表的实现极为相似,只是将链接的内存拆分为具体的大小的块。 2. 示例代码 1). status.h /* DataStructure 预定义常量和类型头文件 */#ifndef STATUS_H #define STATUS_H#define CHECK_NULL(pointer) if (!(pointer)) { \printf("FuncN…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
