UnixBench和Geekbench进行服务器跑分

1 概述

服务器的基准测试,常见的测试工具有UnixBench、Geekbench、sysbench等。本文主要介绍UnixBench和Geekbench。

1.1 UnixBench

UnixBench是一款开源的测试UNIX系统基本性能的工具(https://github.com/kdlucas/byte-unixbench),是比较通用的测试云服务器性能的工具。UnixBench会执行一系列的测试,测试系统各个方面的性能,然后将每个测试结果和一个基准值进行比较得到一个索引值,所有测试项目的索引值结合在一起最终形成一个[ 分数值 ]。

UnixBench包含多个独立测试,以下是每个测试的功能概述:

Dhrystone

Reinhold Weicker于1984年开发。这个基准用于测量和比较计算机的性能。测试专注于字符串处理,因为没有浮点运算。它受硬件和软件设计、编译器和链接器选项、代码优化、缓存内存、等待状态以及整数数据类型的影响很大。

Whetstone

此测试衡量浮点运算的速度和效率。该测试包含几个模块,旨在代表科学应用程序中通常执行的各种操作。广泛使用了C函数,如sin、cos、sqrt、exp和log,以及整数和浮点数学运算、数组访问、条件分支和过程调用。此测试测量整数和浮点算术。

execl 吞吐量

此测试测量每秒可以执行多少次execl调用。execl是exec家族的一部分,用于用新进程映像替换当前进程图像。它是execve()函数的许多类似命令的前端。

文件复制

这衡量以各种缓冲区大小将数据从一个文件传输到另一个文件的速度。文件读写和复制测试记录在指定时间内(默认为10秒)可以写入、读取和复制的字符数量。

管道吞吐量

管道是最简单的进程间通信形式。管道吞吐量是指一个进程每秒能向管道写入512字节并读回多少次。管道吞吐量测试在实际编程中没有直接对应物。

管道为基础的上下文切换
这个测试测量两个进程通过管道交换递增整数的次数。基于管道的上下文切换测试更接近现实世界的应用。测试程序会生成一个子进程,与其进行双向管道对话。

进程创建

此测试测量一个进程能够叉出并收养立即退出的子进程的次数。进程创建涉及创建新的进程控制块和内存分配,因此直接关系到内存带宽。通常,此基准用于比较操作系统进程创建调用的不同实现。

脚本语言

shell脚本测试测量每分钟一个进程可以启动并收养一组并发的shell脚本副本的数量,这些脚本对数据文件应用一系列转换。

系统调用开销

这估计进入和离开操作系统内核的成本,即执行系统调用的开销。它由一个简单程序组成,该程序反复调用getpid(返回调用进程的ID)系统调用。执行此类调用所需的时间用于估算进出内核的成本。

图形测试

提供了2D和3D图形测试;目前,3D套件尤为有限,主要包括ubgears程序。这些测试旨在大致了解系统的2D和3D图形性能。当然,需要注意的是,报告的性能不仅取决于硬件,还取决于系统是否拥有适当的驱动程序。


1.2 Geekbench

Geekbench是一款跨平台的处理器、内存等基准测试程序,可用于评估各种设备(包括智能手机、平板电脑、笔记本电脑和台式电脑)的性能。它通过运行一系列模拟真实使用场景的工作负载来衡量设备的 CPU、内存和计算能力。Geekbench 提供单核和多核评分,以及综合评分。Geekbench的评分系统旨在反映设备在日常任务中的实际性能。例如,单核评分可用于评估设备在网页浏览、电子邮件和文档编辑等任务中的性能,而多核评分则可用于评估设备在视频编辑、照片编辑和游戏等任务中的性能。


2 环境

一台centos 7.9的服务器。

3 UnixBench跑分

3.1 UnixBench部署

mkdir -p /opt/third-party
cd /opt/third-party
yum install git -y
git clone https://github.com/kdlucas/byte-unixbench.git
cd byte-unixbench/UnixBench
make

3.2 UnixBench跑分

进入主目录,运行名称叫做Run的工具即可。

3.2.1 单核跑分

./Run -c 1

3.2.2 多核跑分

跑分过程会持续几十分钟,请耐心等待。

cores=$( cat /proc/cpuinfo| grep "processor"| wc -l )
echo $cores
./Run -c $cores

结果如下:

make all
make[1]: Entering directory '/opt/third-party/byte-unixbench-master/UnixBench'
make distr
make[2]: Entering directory '/opt/third-party/byte-unixbench-master/UnixBench'
Checking distribution of files
./pgms  exists
./src  exists
./testdir  exists
./tmp  exists
./results  exists
make[2]: Leaving directory '/opt/third-party/byte-unixbench-master/UnixBench'
make programs
make[2]: Entering directory '/opt/third-party/byte-unixbench-master/UnixBench'
make[2]: Nothing to be done for 'programs'.
make[2]: Leaving directory '/opt/third-party/byte-unixbench-master/UnixBench'
make[1]: Leaving directory '/opt/third-party/byte-unixbench-master/UnixBench'
sh: 3dinfo: command not found#    #  #    #  #  #    #          #####   ######  #    #   ####   #    ##    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    ##    #  # #  #  #    ##            #####   #####   # #  #  #       #######    #  #  # #  #    ##            #    #  #       #  # #  #       #    ##    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #####   #    #  #  #    #          #####   ######  #    #   ####   #    #Version 5.1.6                      Change getpid method to syscallMulti-CPU version                  Version 5 revisions by Ian Smith,Sunnyvale, CA, USAJanuary 13, 2011                   johantheghost at yahoo period com------------------------------------------------------------------------------Use directories for:* File I/O tests (named fs***) = /opt/third-party/byte-unixbench-master/UnixBench/tmp* Results                      = /opt/third-party/byte-unixbench-master/UnixBench/results
------------------------------------------------------------------------------12 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 1012 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 1012 x Execl Throughput  1 2 312 x File Copy 1024 bufsize 2000 maxblocks  1 2 312 x File Copy 256 bufsize 500 maxblocks  1 2 312 x File Copy 4096 bufsize 8000 maxblocks  1 2 312 x Pipe Throughput  1 2 3 4 5 6 7 8 9 1012 x Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 1012 x Process Creation  1 2 312 x System Call Overhead  1 2 3 4 5 6 7 8 9 1012 x Shell Scripts (1 concurrent)  1 2 312 x Shell Scripts (8 concurrent)  1 2 3========================================================================BYTE UNIX Benchmarks (Version 5.1.6)System: master.lj.io: GNU/LinuxOS: GNU/Linux -- 3.10.0-957.21.3.el7.x86_64 -- #1 SMP Tue Jun 18 16:35:19 UTC 2019Machine: x86_64 (x86_64)Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")CPU 0: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRETCPU 1: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRETCPU 2: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRETCPU 3: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRETCPU 4: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRETCPU 5: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRETCPU 6: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRETCPU 7: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRETCPU 8: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRETCPU 9: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRETCPU 10: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRETCPU 11: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET20:16:52 up 27 min,  2 users,  load average: 0.01, 0.14, 0.12; runlevel 2024-11-10------------------------------------------------------------------------
Benchmark Run: Sun Nov 10 2024 20:16:52 - 20:45:16
12 CPUs in system; running 12 parallel copies of testsDhrystone 2 using register variables      156474593.4 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    34037.0 MWIPS (10.1 s, 7 samples)
Execl Throughput                               8119.7 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        186220.9 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           48979.2 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        508057.4 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1346597.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  81650.6 lps   (10.0 s, 7 samples)
Process Creation                              21601.8 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                  14651.1 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   1935.8 lpm   (60.1 s, 2 samples)
System Call Overhead                        1221110.8 lps   (10.0 s, 7 samples)System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0  156474593.4  13408.3
Double-Precision Whetstone                       55.0      34037.0   6188.5
Execl Throughput                                 43.0       8119.7   1888.3
File Copy 1024 bufsize 2000 maxblocks          3960.0     186220.9    470.3
File Copy 256 bufsize 500 maxblocks            1655.0      48979.2    295.9
File Copy 4096 bufsize 8000 maxblocks          5800.0     508057.4    876.0
Pipe Throughput                               12440.0    1346597.0   1082.5
Pipe-based Context Switching                   4000.0      81650.6    204.1
Process Creation                                126.0      21601.8   1714.4
Shell Scripts (1 concurrent)                     42.4      14651.1   3455.5
Shell Scripts (8 concurrent)                      6.0       1935.8   3226.3
System Call Overhead                          15000.0    1221110.8    814.1========
System Benchmarks Index Score                                        1417.3

从输出报告看,最终的分数是:1417.3。

4 Geekbench跑分

4.1 Geekbench部署

mkdir -p /opt/third-party
cd /opt/third-party
yum install wget -y
wget https://cdn.geekbench.com/Geekbench-5.4.3-Linux.tar.gz
tar xf Geekbench-5.4.3-Linux.tar.gz

文件解压完成后,主目录会存在一个叫geekbench5的工具,执行它即可进行跑分。
在这里插入图片描述

4.2 Geekbench跑分

跑分过程会持续几十分钟,请耐心等待。

./geekbench5

跑分测试结果会自动上传到Geekbench数据库,输出日志中会打印网址,在浏览器打开该网址即可查看结果。

Geekbench 5.4.3 Tryout : https://www.geekbench.com/Geekbench 5 requires an active Internet connection when in tryout mode and 
automatically uploads benchmark results to the Geekbench Browser.Buy a Geekbench 5 license from the Primate Labs Store to enable offline use 
and unlock other features:https://store.primatelabs.com/v5Enter your Geekbench 5 license using the following command line:./geekbench5 --unlock <email> <key>Running Gathering system information
System InformationOperating System              CentOS Linux 7 (Core)Kernel                        Linux 3.10.0-957.21.3.el7.x86_64 x86_64Model                         VMware, Inc. VMware Virtual PlatformMotherboard                   Intel Corporation 440BX Desktop Reference PlatformBIOS                          Phoenix Technologies LTD 6.00Processor InformationName                          Intel Xeon E5645Topology                      4 Processors, 12 CoresIdentifier                    GenuineIntel Family 6 Model 44 Stepping 2Base Frequency                2.39 GHzL1 Instruction Cache          32.0 KB x 3L1 Data Cache                 32.0 KB x 3L2 Cache                      256 KB x 3L3 Cache                      12.0 MBMemory InformationSize                          12.7 GBSingle-CoreRunning AES-XTSRunning Text CompressionRunning Image CompressionRunning NavigationRunning HTML5Running SQLiteRunning PDF RenderingRunning Text RenderingRunning ClangRunning CameraRunning N-Body PhysicsRunning Rigid Body PhysicsRunning Gaussian BlurRunning Face DetectionRunning Horizon DetectionRunning Image InpaintingRunning HDRRunning Ray TracingRunning Structure from MotionRunning Speech RecognitionRunning Machine LearningMulti-CoreRunning AES-XTSRunning Text CompressionRunning Image CompressionRunning NavigationRunning HTML5Running SQLiteRunning PDF RenderingRunning Text RenderingRunning ClangRunning CameraRunning N-Body PhysicsRunning Rigid Body PhysicsRunning Gaussian BlurRunning Face DetectionRunning Horizon DetectionRunning Image InpaintingRunning HDRRunning Ray TracingRunning Structure from MotionRunning Speech RecognitionRunning Machine LearningUploading results to the Geekbench Browser. This could take a minute or two 
depending on the speed of your internet connection.Upload succeeded. Visit the following link and view your results online:https://browser.geekbench.com/v5/cpu/23045353Visit the following link and add this result to your profile:https://browser.geekbench.com/v5/cpu/23045353/claim?key=250861

在这里插入图片描述

5 小结

本文介绍了UnixBench和Geekbench这两款服务器压测跑分工具,通过下载、编译和实操来详细体验服务器跑分的过程。

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

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

相关文章

打造个性化时钟应用:结合视觉与听觉的创新实践

​ 在数字时代&#xff0c;虽然手机、电脑等设备已经能够非常方便地显示时间&#xff0c;但一款融合了视觉艺术和声音效果的桌面时钟仍能给我们的日常生活带来不一样的体验。本文将引导读者通过Python语言及其强大的库支持来创建一个具有整点及半点报时功能的美观时钟界面。该项…

ASMR助眠声音视频素材去哪找 吃播助眠素材网站分享

在快节奏的现代生活中&#xff0c;越来越多的人感到压力山大&#xff0c;许多人开始寻求助眠和放松的方式。而ASMR&#xff08;自发性知觉经络反应&#xff09;助眠声音视频&#xff0c;凭借其独特的声音刺激和放松效果&#xff0c;成为了睡前的“神器”。如果你是一位内容创作…

Ente: 我们的 Monorepo 经验

原文&#xff1a;manav - 2024.10.29 九个月前&#xff0c;我们切换到了 monorepo。在此&#xff0c;我将介绍我们迄今为止的切换经验。 这并不是一份规范性的建议&#xff0c;而是一个经验的分享&#xff0c;目的是希望能够帮助其他团队做出明智的决策。 与大多数岔路不同&…

css:还是语法

emmet的使用 emmet是一个插件&#xff0c;Emmet 是 Zen Coding 的升级版&#xff0c;由 Zen Coding 的原作者进行开发&#xff0c;可以快速的编写 HTML、CSS 以及实现其他的功能。很多文本编辑器都支持&#xff0c;我们只是学会使用它&#xff1a; 生成html结构 <!-- emme…

常见计算机网络知识整理(未完,整理中。。。)

TCP和UDP区别 TCP是面向连接的协议&#xff0c;发送数据前要先建立连接&#xff1b;UDP是无连接的协议&#xff0c;发送数据前不需要建立连接&#xff0c;是没有可靠性&#xff1b; TCP只支持点对点通信&#xff0c;UDP支持一对一、一对多、多对一、多对多&#xff1b; TCP是…

javascript实现国密sm4算法(支持微信小程序)

概述&#xff1a; 本人前端需要实现sm4计算的功能&#xff0c;最好是能做到分多次计算。 本文所写的代码在现有sm4的C代码&#xff0c;反复测试对比计算过程参数&#xff0c;成功改造成sm4的javascript代码&#xff0c;并成功验证好分多次计算sm4数据 测试平台&#xff1a; …

深度解读AI在数字档案馆中的创新应用:高效识别与智能档案管理

一、项目背景介绍 在信息化浪潮推动下&#xff0c;基于OCR技术的纸质档案电子化方案成为解决档案管理难题的有效途径。该方案通过先进的OCR技术&#xff0c;能够统一采集各类档案数据&#xff0c;无论是手写文件、打印文件、复古文档还是照片或扫描的历史资料&#xff0c;都能实…

C++ | Leetcode C++题解之第554题砖墙

题目&#xff1a; 题解&#xff1a; class Solution { public:int leastBricks(vector<vector<int>>& wall) {unordered_map<int, int> cnt;for (auto& widths : wall) {int n widths.size();int sum 0;for (int i 0; i < n - 1; i) {sum wi…

【机器学习】强化学习(1)——强化学习原理浅析(区分强化学习、监督学习和启发式算法)

文章目录 强化学习介绍强化学习和监督学习比较监督学习强化学习 强化学习的数学和过程表达动作空间序列决策策略&#xff08;policy&#xff09;价值函数&#xff08;value function&#xff09;模型&#xff08;model&#xff09; 强化学习和启发式算法比较强化学习步骤代码走…

模糊搜索:在不确定性中寻找精确结果

目录 模糊搜索&#xff1a;在不确定性中寻找精确结果 一、引言 二、模糊搜索的背景 三、模糊搜索的原理 1、编辑距离&#xff08;Levenshtein Distance&#xff09;&#xff1a; 2、Jaccard 相似系数&#xff1a; 3、Soundex 算法&#xff1a; 4、TF-IDF&#xff08;词…

MyBatis5-缓存

目录 一级缓存 二级缓存 MyBatis缓存查询的顺序 整合第三方缓存EHCache 一级缓存 一级缓存是 SqlSession 级别的&#xff0c;通过同一个 SqlSession 查询的数据会被缓存&#xff0c;下次查询相同的数据&#xff0c;就会从缓存中直接获取&#xff0c;不会从数据库重新访问 一…

95.【C语言】数据结构之双向链表的头插,头删,查找,中间插入,中间删除和销毁函数

目录 1.双向链表的头插 方法一 方法二 2.双向链表的头删 3.双向链表的销毁 4.双向链表的某个节点的数据查找 5.双向链表的中间插入 5.双向链表的中间删除 6.对比顺序表和链表 承接94.【C语言】数据结构之双向链表的初始化,尾插,打印和尾删文章 1.双向链表的头插 方法…

24-11-9-读书笔记(三十二)-《契诃夫文集》(六)上([俄] 契诃夫 [译] 汝龙)药品是甜的,真理是美的,咖啡是苦的,生活是什么啊?

文章目录 《契诃夫文集》&#xff08;六&#xff09;上&#xff08;[俄] 契诃夫 [译] 汝龙&#xff09;药品是甜的&#xff0c;真理是美的&#xff0c;咖啡是苦的&#xff0c;生活是什么啊&#xff1f;目录阅读笔记1. 新年的苦难2. 香槟3. 乞丐4. 仇敌5.薇罗琪卡6.在家里7. 太早…

【从零开始鸿蒙开发:01】自定义闪屏页

文章目录 大体介绍文件介绍各部分代码SplashPage.etsIndex.etsHomePage.etsroute_map.jsonmodule.json5 流程 大体介绍 文件介绍 其中&#xff1a; pages为我们的页面内容&#xff08;我个人理解功能性小于activity但是大于fragment&#xff09;route_map.json 为自定义的路由…

【Spring】获取Cookie和Session(@CookieValue()和@SessionAttribute())

文章目录 获取 Cookie传统获取 Cookie简洁获取 Cookie&#xff08;注解&#xff09; 获取 SessionSession 存储和获取简洁获取 Session (1)简洁获取 Session (2) 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给…

【机器学习】任务十:从函数分析到机器学习应用与BP神经网络

目录 1.从函数分析到机器学习应用 1.1 3D曲面图可视化报告 1.1.1 目标 1.1.2 代码分析 1.1.3 结果分析 1.1.4 观察与总结 1.1.5 结论 1.2 一元函数梯度计算报告 1.2.1 目标 1.2.2 代码分析 1.2.4 计算结果 1.2.5 优势与意义 1.2.6 结论 1.3 一元函数梯度和二阶导…

ios打包文件上传App Store windows工具

在苹果开发者中心上架IOS APP的时候&#xff0c;在苹果开发者中心不能直接上传打包文件&#xff0c;需要下载mac的xcode这些工具进行上传&#xff0c;但这些工具无法安装在windows或linux电脑上。 这里&#xff0c;我们可以不用xcode这些工具来上传&#xff0c;可以用国内的香…

Rust @绑定(Rust@绑定)(在模式匹配的同时将值绑定到变量)

文章目录 Rust中的绑定基础概念示例&#xff1a;基本模式匹配 绑定的使用示例&#xff1a;范围匹配并绑定变量 深入探索绑定的好处示例&#xff1a;复杂数据结构中的应用 总结 附加 Rust中的绑定 Rust 语言以其强类型系统和内存安全的特性著称。在进行模式匹配时&#xff0c;R…

JVM知识点大全(未完...)

JVM运行时数据区域 堆 堆是Java虚拟机中用于存储对象的主要区域&#xff0c;包括字符串常量池。绝大多数对象都是在堆中创建的&#xff08;少部分对象可能会在栈上分配&#xff09;。为了更好地进行垃圾回收&#xff0c;堆被划分为年轻代和老年代两部分。年轻代又被进一步分为E…

Nginx(编译)+Lua脚本+Redis 实现自动封禁访问频率过高IP

1.安装lua 1.1安装LuaJIT yum install readline-devel mkdir -p lua-file cd lua-file/ wget https://github.com/LuaJIT/LuaJIT/archive/refs/tags/v2.0.5.tar.gz tar -zxvf LuaJIT-2.0.5.tar.gz cd LuaJIT-2.0.5 make && make install PREFIX/usr/local/luajit 1.2…