828华为云征文|针对Flexus X实例云服务器的CPU和内存性能测评

目录

一、Flexus X实例云服务器简介

1.1 产品摘要

1.2 产品优势

1.3 本次测评服务器规格

二、CPU性能测试

2.1 操作说明

2.2 操作步骤

2.2 结果分析

三、测试内存负载

3.1 操作说明

3.2 操作步骤

3.3 结果分析

四、测试终评


一、Flexus X实例云服务器简介

1.1 产品摘要

Flexus X实例云服务器是华为云面向广大中小企业和开发者推出的一款创新型柔性算力云服务器。该产品基于华为云独有的柔性计算技术、盘古大模型、擎天软硬协同架构、瑶光云脑等前沿技术,旨在为中小企业提供灵活、高效、品质跃级的云基础设施,助力企业实现业务的高效运行和数字化转型。Flexus X实例打破了传统云服务器固定规格的束缚,通过灵活自定义的CPU、内存配比以及智能资源调度能力,满足了企业不同发展阶段的业务需求。如下图,完全可以选择自己调配的规格。高度自定义了。

1.2 产品优势

  1. 灵活匹配业务需求:Flexus X实例支持CPU、内存等规格的自由配置,通过独有的柔性计算技术和盘古大模型,突破了传统云服务器1:2次幂的固有配比,实现了如1:3、2:5等自定义特殊规格,最高可提供3:1的CPU/内存比。这种定制化的服务确保了企业在不同发展阶段都能获得与业务匹配的高性能云资源,实现了真正的按需定制。

  2. 高效率与低成本的完美结合:Flexus X实例针对从第三方云或离线数据中心迁移至华为云的场景,首创智能资源预画像技术,帮助用户在华为云上推荐匹配其应用真实性能的资源规格,消除了资源浪费。同时,基于客户业务负载进行动态性能画像,持续优化业务性能和成本,使得中小企业在享受旗舰级服务的同时,还能有效控制成本。迁移至Flexus X实例可帮助用户降本高达30%。

  3. 智能化体验和安全性保障:Flexus X实例将原本复杂的云端操作简化为一键式服务,大大降低了技术门槛。从资源配置到运维管理,用户都能轻松掌握,这不仅缩短了中小企业数字化转型的路径,还让他们能够更专注于核心业务的创新。在安全方面,Flexus X实例配备了国内顶尖的SRE团队和全面安全防护措施,确保了用户的数据和应用得到充分保护。同时,它还提供了与华为云旗舰级云服务器产品相同的单AZ 99.975%可用性和跨AZ 99.995%可用性,确保了业务的高可靠性和稳定性。

  4. 高性能与极致体验:Flexus X实例在性能数据方面表现亮眼,与业界U系列独享型实例相比,MySQL性能可达最高6倍,Geekbench跑分更是大幅领先,成绩可达业界U系列实例的1.6倍。同时,结合X-Turbo加速技术和瑶光云脑的智能调度能力,Flexus X实例能够实现高/低负载云主机分布均匀,达到算力分配的长稳态运行,确保用户畅享95%的时间100%的算力。

接下来,本文从CPU性能,内存性能等方面进行测试,看看即使可以自定义规格之下的性能还能否那么好。

1.3 本次测评服务器规格

下面两个表格就是本次测评服务的主要规格

序号规格名规格参数
1实例名称flexusx-154d
2区域华北-北京四
3可用区可用区7
4vCPUs4核
5内存(GiB)12G
6系统盘通用型SSD(100G)
7镜像CentOS 7.5 64bit
8操作系统类型Linux
9带宽类型独享
10带宽大小3Mbit/s

二、CPU性能测试

2.1 操作说明

CPU性能测试也称作计算能力测试,本次评测中使用sysbench命令针对CPU测试模块,通过执行大量的质数计算等计算密集型任务,评估CPU的计算能力和响应速度。即指定--cpu-max-prime参数的值,默认为10000,Sysbench将“计算1~该值范围内所有的质数(也叫素数,只能被1和自身整除的数)”为1个event,最终CPU的性能表现为每秒可以计算多少个这样的event。也就是event值越大,性能越好

2.2 操作步骤

还是,老规矩,我们先使用coludshell远程登录服务器:

登录进去之后,接下来我们针对于计算单核和4核齐驱的情境下进行测试:命令如下:

# 单核

sysbench cpu --cpu-max-prime=20000 --threads=1 --time=120 run

# 多核

sysbench cpu --cpu-max-prime=20000 --threads=`nproc` --time=120 run

参数解析: 

--cpu-max-prime默认为10000,表示一个event要计算10000以内的质数。
--threads线程数,默认为1。取值为1表示Sysbench仅启动1个线程进行质数的计算;指定其他值为对应的多线程数,表示Sysbench会启动多线程同时进行质数的计算。
上述多核命令中使用nproc计算测试系统的CPU核数,并指定对应的核数进行测试。
--time运行时长,单位秒。默认为10,表示Sysbench会在10秒内循环往复进行质数计算,每完成一轮就叫一个event。

上面两条命令的大概意思就是单核下和多核下进行20000以内的质数计算,看谁的计算次数多少,以及平均用时来分析云服务器的性能如何,接下来我们看一下测试结果:

2.2 结果分析

单核结果分析

  • CPU 速度events per second: 1151.54 表示在测试期间,平均每秒能够完成 1151.54 个计算质数的事件。这个数值反映了 CPU 的处理能力。

  • 总时间total time: 120.0004s 表示测试总共运行了 120.0004 秒,接近指定的 120 秒。

  • 总事件数total number of events: 138187 表示在测试期间总共完成了 138187 个计算质数的事件。

  • 延迟(Latency)

    • min:最小的延迟是 0.86 毫秒。
    • avg:平均延迟是 0.87 毫秒,表明大部分事件的计算时间都很接近这个值。
    • max:最大的延迟是 1.46 毫秒,表明偶尔会有稍微长一些的计算时间。
    • 95th percentile:95% 的事件延迟都在 0.87 毫秒以下,这是评估系统性能稳定性的一个重要指标。
    • sum:所有事件的延迟总和是 119977.68 毫秒,接近总测试时间的 120 秒(即 120000 毫秒)。
  • 线程公平性:由于只使用了一个线程,所以这里的公平性是完美的,标准差为 0,表示所有工作都在一个线程上均匀分布。

多核结果分析:

  • 线程数Number of threads: 4 表示测试使用了 4 个线程。

  • CPU 速度events per second: 4591.67 表示在测试期间,所有线程平均每秒能够完成 4591.67 个计算质数的事件。这比单线程测试时(1151.54 events/s)有了显著的提升,这显示了多线程对 CPU 密集型任务的加速效果。

  • 总时间total time: 120.0006s 表示测试总共运行了 120.0006 秒,接近指定的 120 秒。

  • 总事件数total number of events: 551010 表示在测试期间总共完成了 551010 个计算质数的事件,这是单线程测试(138187 events)的近 4 倍。

  • 延迟(Latency)

    • minavg95th percentile 的值都相对较低且稳定,表明大多数事件的计算时间都很短。
    • max 的值达到了 31.89 毫秒,这是一个相对较高的值,可能表示在某个时间点,某个线程遇到了短暂的延迟或竞争条件。然而,由于 95th percentile 仍然很低,这种高延迟可能是偶发的,对整体性能影响不大。
  • 线程公平性

    • events (avg/stddev): 137752.5000/143.84 表示每个线程平均完成了约 137752.5 个事件,标准差为 143.84。这表明线程之间的工作负载分配相对均匀,但存在一定的差异(由标准差表示)。
    • execution time (avg/stddev): 119.9550/0.00 表示每个线程的执行时间非常接近,标准差几乎为 0,这进一步证明了线程之间的公平性。

结论

这次测试表明,在指定的测试条件下(使用单个线程,测试时间 120 秒,计算小于或等于 20000 的质数),CPU 的平均处理速度达到了每秒 1151.54 个事件,且延迟很低且稳定。这反映了被测 CPU 在执行这类计算密集型任务时的良好性能。在 4 线程并发执行时,CPU 的处理速度显著提高,达到了每秒 4591.67 个事件。尽管存在一些偶发的延迟高峰,但整体性能仍然非常稳定且高效。这证明了在 CPU 密集型任务中,利用多核处理器可以显著提高性能。同时也说明了4核下确实平均是单核的4倍,CPU得到充分利用。利用多核处理器可以很明显地提升服务器性能。

三、测试内存负载

3.1 操作说明

测试内存负载我们可以进行内存读写测试:通过sysbench的内存测试模块,评估内存系统的读写性能。测试包括不同大小的内存块读写操作,可以揭示内存带宽、延迟等关键性能指标。Sysbench的内存性能测试,主要是针对不同大小的块进行连续读写或者随机读写操作。在内存性能测试中,events指的是读/写一个内存块。
相比较Stream和MLC工具,Sysbench测试内存性能比较复杂,支持较多参数,需要使用正确的参数配置才能得到预期的内存性能结果,测试前读者可以查看下面的Sysbench的内存测试参数

参数说明
--memory-total-size传输数据的总大小,用于描述Sysbench读写多少内存时停止。默认为100G,在多核下可能不到1秒停止测试,会影响计算结果,建议设置为更大的值。

--memory-block-size

内存块大小,读/写一个block-size即为一个event,建议大于CPU的L3 Cache。例如:L3的Cache为100MB时,内存块大小可设置为如下取值:

  • 测试单线程:block-size设置为128MB即可。
  • 测试多线程:
    • 若memory-scope=global,block-size设置为128MB即可。
    • 若memory-scope=local,且threads=8,此时block-size需设置大于16MB。

说明

您可以执行lscpu命令,查看L3 Cache容量。

--memory-scope

内存访问范围,取值:

  • global(默认):全局
  • local:局部

说明

在多线程压测场景下,可以通过该参数指定是多个线程操作整块申请内存还是各个线程操作自己的小块内存。如此,申请的总内存数:

  • memory-scope=global时,申请的总内存为memory_block_size
  • memory-scope=local时,申请的总内存为memory_block_size * threads

--memory-oper

内存操作类型,取值:

  • write(默认)
  • read
  • none
--threads线程数,默认为1。取值为1表示Sysbench仅启动1个线程进行测试。上述命令中使用nproc计算测试系统的CPU核数,并指定对应的核数进行测试。
--time运行时长,单位秒。默认Sysbench测试10秒时间。内存测试中toal-size写完也会提前停止,由于已经设置memory-total-size为非常大的值,这里可以通过time指定内存测试运行时长。

3.2 操作步骤

好,那么我们下面可以通过执行如下命令,测试内存性能。

# 内存读

sysbench --memory-total-size=100G --memory-block-size=512MB --memory-scope=global --memory-oper=read memory --threads=`nproc` --time=120 run

# 内存写

sysbench --memory-total-size=100G --memory-block-size=512MB --memory-scope=local --memory-oper=write memory --threads=`nproc` --time=120 run 

上面两条命令的大概意思是

  1. 内存读测试配置
    • 内存总量:内存总量设置为 100G(实际显示为 102400MiB,即100GB),这是我云服务器的实际总容量。
    • 内存块大小512MB(实际显示为 524288KiB),这是每次操作处理的数据块大小,对于内存性能测试来说是一个常见的值。
    • 操作类型read,即测试内存读取速度。
    • 线程数:使用了 nproc 命令自动设置,即 4 个线程,与服务器的处理器核心数相匹配。
  1. 内存写测试配置
    • 内存总量100G(实际为 102400MiB),这是把我们整个服务器的容量了相当大的数值了,但对于现代服务器来说仍然是一个合理的测试范围。
    • 内存块大小512MB524288KiB),这是每次写入操作的数据块大小。
    • 操作类型write,即测试内存写入速度。
    • 作用域global,这意味着所有线程都在共享的内存区域中执行写入操作。这可能会引入额外的同步和竞争条件,但在现代多核处理器和操作系统上,这些通常被很好地管理。
    • 线程数:与服务器的处理器核心数相匹配。

接下来我们运行一下看一下结果如何 

3.3 结果分析

内存读结果分析:

  1. 测试结果
    • 总操作数:在 1.9744 秒内,总共完成了 200 次操作,平均每秒 101.21 次操作。由于设置的总时间和内存总量都较小,因此这个操作数相对合理。
    • 数据传输量102400.00 MiB(即100GB)的数据被转移,平均速率为 51821.72 MiB/sec(即约50.6GB/s)。这个速率非常高,通常表示内存带宽和处理器之间的数据通道非常高效。
    • 延迟:延迟非常低,最小为 37.27 毫秒,平均为 39.48 毫秒,最大为 43.50 毫秒。这表明内存访问非常快,符合现代内存技术的性能表现。
  2. 性能和公平性分析
    • 性能:测试结果表明,服务器在内存读取方面表现出色,能够高效处理大量数据。
    • 线程公平性:每个线程都完成了相同数量的操作(50次),并且执行时间几乎相同(标准差为0),这表明线程之间的工作负载分配非常均匀。
  3. 结论
    • 说明读取性能测试中表现出色,具有高带宽和低延迟的特点。
    • 测试配置合理,能够准确反映服务器在较小规模内存操作下的性能表现。
    • 如果大家需要进一步评估服务器的内存性能,可以考虑增加内存总量、内存块大小或线程数来进行更全面的测试。

内存写结果分析:

  1. 测试结果
    • 在 2.2840 秒内完成了 200 次写入操作,平均每秒 87.50 次操作。
    • 总共传输了 100GB 的数据,平均速率为 44802.28 MiB/sec(约43.7GB/s)。这是一个非常高的速率,表明我们的服务器在内存写入方面表现出色。
    • 延迟方面,最小延迟为 43.92 毫秒,平均延迟为 45.62 毫秒,最大延迟为 55.87 毫秒。
  2. 性能和公平性分析
    • 性能方面,服务器在全局内存写入测试中表现出色,能够高效地处理大量写入操作。
    • 线程公平性方面,每个线程都完成了相同数量的操作(50次),并且执行时间几乎相同(标准差为0),这表明线程之间的工作负载分配非常均匀。
  3. 结论
    • 服务器在全局内存写入性能测试中表现出色,具有高写入速率和低延迟的特点。
    • 测试配置合理,能够准确反映服务器在全局内存写入操作下的性能表现。
    • 如果我们的应用程序需要处理大量内存写入操作,并且这些操作可以在全局内存区域中安全地执行,那么说明服务器应该能够很好地满足这些需求。

请注意,上述测试结果仅适用于当前的测试配置和负载情况。在实际应用中,服务器的性能可能会受到多种因素的影响,包括应用程序的特性、工作负载的复杂性以及与其他系统资源的交互等。因此我们也要根据自己的实际情况来指定测试配置

四、测试终评

通过上面一系列的测试,我们可以对Flexus X实例的CPU和内存性能做出以下总结:

CPU性能
Flexus X实例采用了最新一代的处理器,具备高主频和多核支持。在sysbench的CPU测试中,通过多线程和固定时间(例如60秒)的负载测试,Flexus X实例展现了卓越的计算能力。在模拟多线程的运行环境下,Flexus X的CPU能够有效地处理并发任务,保证在高负载下的稳定运行。这一特性使得Flexus X实例非常适合处理计算密集型任务,如数据分析、大规模计算等。

内存性能
在内存测试中,Flexus X实例同样表现出色。使用sysbench的“内存”模块进行大量的内存读写操作,Flexus X实例的内存吞吐量稳定且高效。这意味着在处理大量数据或需要高内存吞吐量的应用时,Flexus X实例能够提供足够的资源支持,确保应用的顺畅运行。

Flexus X实例云服务器优势

  • 高性能:配备最新一代的处理器和高速内存,支持高负载下的稳定运行。
  • 高可用性:华为云提供的高可用性保障,确保业务连续性。
  • 灵活性:支持多种操作系统和应用程序,提供灵活的资源配置和强大的扩展能力。
  • 成本效益:华为云提供多种配置选项,可以根据实际需求选择,实现成本效益最大化。

综上所述,Flexus X实例云服务器以其灵活定制、高效低成本、智能化体验和安全性保障等显著优势,成为了中小企业数字化转型的理想选择。大家也可以点击下方卡片,快速进入Flexus X实例云服务器官网,进行体验吧

Flexus云服务器X实例Flexus云服务器X实例(Flexus X)是柔性算力,六倍性能,旗舰体验,覆盖高科技、零售、金融、游戏等行业大多数通用工作负载场景。icon-default.png?t=O83Ahttps://www.huaweicloud.com/product/flexus-x.html

Flexus X实例,搭载最新一代处理器,高效能计算,让业务处理更快一步!大促期间,优惠不停,性能不打折! 大家还不抓住828的尾巴赶紧体验一下吧

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/435266.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PostgreSQL数据库与PostGIS在Windows中的部署与运行

本文介绍在Windows电脑中,下载、安装、部署并运行PostgreSQL与PostGIS数据库服务的方法。 PostgreSQL是一种功能强大的开源关系型数据库管理系统(RDBMS),以其稳定性、可靠性和丰富的功能而闻名;其支持多种高级特性&…

今天推荐一个文档管理系统 Dorisoy.Pan

Dorisoy.Pan 是一个基于 .NET 8 和 WebAPI 构建的文档管理系统,它集成了 Autofac、MediatR、JWT、EF Core、MySQL 8.0 和 SQL Server 等技术,以实现一个简单、高性能、稳定且安全的解决方案。 这个系统支持多种客户端,包括网站、Android、iO…

Mybatis缓存机制(图文并茂!)

目录 一级缓存 需求我们在一个测试中通过ID两次查询Monster表中的信息。 二级缓存 案例分许(和上述一样的需求) EhCache第三方缓存 在了解缓存机制之前,我们要先了解什么是缓存: ‌缓存是一种高速存储器,用于暂时存储访问频繁的数据&…

Dubbo快速入门(一):分布式与微服务、Dubbo基本概念

文章目录 一、分布式与微服务概念1.大型互联网架构目标2.集群和分布式(1)集群 (Cluster)(2)分布式计算 (Distributed Computing)(3)集群与分布式的关系(4)实践中的应用案例 3.架构演…

了解独享IP的概念及其独特优势

在网络世界中,IP地址是用来识别和定位设备的标识符。独享IP是一种服务模式。使用代理服务器时,用户拥有一个不与其他用户共享的专用独立IP地址。与共享IP相比,独享IP为用户提供了更高的独立性和隐私保护。下面详细介绍独享IP的定义、工作原理…

SQL高可用优化-优化SQL中distinct和Where条件对索引字段进行非空检查语句

最近做一个需求,关于SQL高可用优化,需要优化项目中的SQL,提升查询效率。 SQL高可用优化 一、优化SQL包含distinct场景二、优化SQL中Where条件中索引字段是否为NULL三、代码验证1. NodeMapper2. NodeService3. NodeController4.数据库数据5.项…

【LLM大模型】Ollama 运行 GGUF 模型

Ollama 默认直接支持很多模型,只需要简单的使用 ollama run命令,示例如下: ollama run gemma:2b就可安装、启动、使用对应模型。 通过这样方式直接支持的模型我们可以通过https://ollama.com/library 找到。 在https://huggingface.co/mod…

Mac优化清理工具CleanMyMac X 4.15.6 for mac中文版

CleanMyMac X 4.15.6 for mac中文版下载是一款功能更加强大的系统优化清理工具,软件只需两个简单步骤就可以把系统里那些乱七八糟的无用文件统统清理掉,节省宝贵的磁盘空间。CleanMyMac X 4.15.6 for mac 软件与最新macOS系统更加兼容,流畅地…

启动 Ntopng 服务前需先启动 redis 服务及 Ntopng 常用参数介绍

启动Ntopng服务之前需要先启动redis服务,因为Ntopng服务依赖于redis服务的键值存储。 服务重启 服务启动 Ntopng常用参数: -d 将 Ntopng 进程放入后台执行。默认情况下,Ntop 在前台运行。 -u 指定启动Ntopng执行的用户,默认为…

算法:852.山脉数组的峰顶索引

题目 链接:leetcode链接 思路分析(二分算法) 题目的提示已经非常明显了,使用O(logN)的算法,那就是二分算法。 如何寻找二段性? 观察数据,可以发现,需要找的峰顶索引的左右两侧数…

LLM工程师启航:生成式AI简明教程

编者按: 大模型发展了近两年,Baihai IDP公众号也分享了近百篇LLM各环节的技术洞察,有前沿探讨、有落地实践、有应用经验。但回头来看,我们似乎从来没有认真、从0开始探讨过LLM的基本原理。 最近,一些企业客户和伙伴来询…

SLF4J报错log4j又报错

项目场景: 搭建一个spirngboot项目,启动运行时,SLF4J报错 解决后 ~ log4j又报错了。 问题描述 首先是SLF4J报错了,解决完SL4J报错问题后,再次启动项目,log4j又报错了 。。。 报错信息: SLF4J…

安卓13设置动态修改设置显示版本号 版本号增加信息显示 android13增加序列号

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言 设置 =》关于平板电脑 =》版本号 在这里显示了系统的一些信息,但是这里面的信息并不包含序列号之类的信息,我们修改下系统设置,在这里增加上相关的序列号。 2.问题分析…

excel导出图片---HSSFWorkbook--SXSSFWorkbook

1 概述 平时在工作中,excel导出图片经常会用到,但奈何HSSFWorkbook导出数据数量有限制问题,所以企业里大多都用SXSSFWorkbook格式,很少用HSSFWorkbook。所以今天以这两种格式分别记录下,图片的导出过程。 2 HSSFWork…

解决Qt每次修改代码后首次运行崩溃,后几次不崩溃问题

在使用unique_ptr声明成员变量后,我习惯性地在初始化构造列表中进行如下构造: 注意看,我将m_menuBtnGroup的父类指定为ui->center_menu_widget,这便是导致崩溃的根本原因,解决办法便是先用this初始化,后…

YOLOV8在清微智能芯片的部署与实现(一)

现在以YOLOV8 为例,进行演示 文章目录 1. YOLOV8浮点模型训练1.1 准备数据集1.1.1 下载业务数据集1.1.2 下载开源数据集1.1.3 自定义数据集1.1.4 将数据转换为yolo训练数据格式 1.2 yolov8项目准备1.3 训练模型 2. YOLOV8浮点模型推理2.1 模型推理2.2 模型val.py评…

uni-app进行微信小程序开发,快速上手

准备工作 IDE https://www.dcloud.io/hbuilderx.html 微信小程序开发工具 下载 / 稳定版更新日志 (qq.com) 安装流程 打开HBuilderX 点击这个logo打开终端 然后 下载一下终端插件 初始化一个demo 通过vue-cli命令行创建项目 uni-app官网 (dcloud.net.cn) (官…

【RocketMQ】SpringBoot整合RocketMQ

🎯 导读:本文档详细介绍了如何在Spring Boot应用中集成Apache RocketMQ,并实现消息生产和消费功能。首先通过创建消息生产者项目,配置POM文件引入RocketMQ依赖,实现同步消息发送,并展示了如何发送普通字符串…

02-指针代码示例

视频地址: 数组作为函数参数_哔哩哔哩_bilibili 指针是一个变量,用来存放其他变量的地址. 一、语法角度说: 需要用整形变量的指针,去存储一个整形变量的地址. 二、代码部分: (一) 1.指针赋值 int main(int argc, const char* argv[]) {int a;int* p;//这里要…

召回12 曝光过滤 Bloom Filter

在推荐系统中,如果用户看过某个物品,就不再把物品推荐给这个用户。小红书、抖音都这样做曝光过滤,原因是实验表明重复曝光同一个物品会损害用户体验。但也不是所有推荐系统都有曝光过滤,像 YouTube 这样的长视频就没有曝光过滤&am…