UnixBench和Geekbench进行服务器跑分

news2024/12/29 13:57:16

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 syscall

   Multi-CPU version                  Version 5 revisions by Ian Smith,
                                      Sunnyvale, CA, USA
   January 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 10

12 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10

12 x Execl Throughput  1 2 3

12 x File Copy 1024 bufsize 2000 maxblocks  1 2 3

12 x File Copy 256 bufsize 500 maxblocks  1 2 3

12 x File Copy 4096 bufsize 8000 maxblocks  1 2 3

12 x Pipe Throughput  1 2 3 4 5 6 7 8 9 10

12 x Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10

12 x Process Creation  1 2 3

12 x System Call Overhead  1 2 3 4 5 6 7 8 9 10

12 x Shell Scripts (1 concurrent)  1 2 3

12 x Shell Scripts (8 concurrent)  1 2 3

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.6)

   System: master.lj.io: GNU/Linux
   OS: GNU/Linux -- 3.10.0-957.21.3.el7.x86_64 -- #1 SMP Tue Jun 18 16:35:19 UTC 2019
   Machine: 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/SYSRET
   CPU 1: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   CPU 2: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   CPU 3: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   CPU 4: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   CPU 5: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   CPU 6: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   CPU 7: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   CPU 8: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   CPU 9: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   CPU 10: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   CPU 11: Intel(R) Xeon(R) CPU E5645 @ 2.40GHz (4786.7 bogomips)
          Hyper-Threading, x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
   20: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 tests

Dhrystone 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/v5

Enter your Geekbench 5 license using the following command line:

  ./geekbench5 --unlock <email> <key>

  Running Gathering system information
System Information
  Operating System              CentOS Linux 7 (Core)
  Kernel                        Linux 3.10.0-957.21.3.el7.x86_64 x86_64
  Model                         VMware, Inc. VMware Virtual Platform
  Motherboard                   Intel Corporation 440BX Desktop Reference Platform
  BIOS                          Phoenix Technologies LTD 6.00

Processor Information
  Name                          Intel Xeon E5645
  Topology                      4 Processors, 12 Cores
  Identifier                    GenuineIntel Family 6 Model 44 Stepping 2
  Base Frequency                2.39 GHz
  L1 Instruction Cache          32.0 KB x 3
  L1 Data Cache                 32.0 KB x 3
  L2 Cache                      256 KB x 3
  L3 Cache                      12.0 MB

Memory Information
  Size                          12.7 GB


Single-Core
  Running AES-XTS
  Running Text Compression
  Running Image Compression
  Running Navigation
  Running HTML5
  Running SQLite
  Running PDF Rendering
  Running Text Rendering
  Running Clang
  Running Camera
  Running N-Body Physics
  Running Rigid Body Physics
  Running Gaussian Blur
  Running Face Detection
  Running Horizon Detection
  Running Image Inpainting
  Running HDR
  Running Ray Tracing
  Running Structure from Motion
  Running Speech Recognition
  Running Machine Learning

Multi-Core
  Running AES-XTS
  Running Text Compression
  Running Image Compression
  Running Navigation
  Running HTML5
  Running SQLite
  Running PDF Rendering
  Running Text Rendering
  Running Clang
  Running Camera
  Running N-Body Physics
  Running Rigid Body Physics
  Running Gaussian Blur
  Running Face Detection
  Running Horizon Detection
  Running Image Inpainting
  Running HDR
  Running Ray Tracing
  Running Structure from Motion
  Running Speech Recognition
  Running Machine Learning


Uploading 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/23045353

Visit 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.coloradmin.cn/o/2240919.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Java Springboot人力资源管理系统

一、作品包含 源码数据库设计文档万字全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA 数据库&#xff1a;MySQL8.0…

使用OpenCV(C++)通过鼠标点击操作获取图像的像素坐标和像素值

使用OpenCV&#xff08;C&#xff09;通过鼠标点击操作获取图像的像素坐标和像素值 在这篇博客中&#xff0c;我们将介绍如何使用OpenCV库在C中实现鼠标点击操作&#xff0c;以获取图像的像素坐标和像素值。代码分为两个部分&#xff1a;一个是鼠标事件处理的回调函数&#xff…

Windows VSCode .NET CORE WebAPI Debug配置

1.安装C#插件 全名C# for Visual Studio Code&#xff0c;选择微软的 2. 安装C# Dev Kit插件 全名C# Dev Kit for Visual Studio Code&#xff0c;同样是选择微软的 3.安装Debugger for Unity 4.配置launch.json 文件 {"version": "0.2.0","config…

AI斩获6枚金牌!华为Kaggle大师级智能体诞生,自主解决数据科学难题

继 OpenAI o1 成为首个达到 Kaggle 特级大师的人工智能&#xff08;AI&#xff09;模型后&#xff0c;另一个 Kaggle 大师级 AI 也诞生了。 根据 Kaggle 的晋级系统&#xff0c;由华为诺亚方舟实验室和伦敦大学学院团队联合推出的端到端自主数据科学智能体&#xff08;agent&a…

[Mysql基础] 表的操作

一、创建表 1.1 语法 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎; 说明&#xff1a; field 表示列名 datatype 表示列的类型 character set 字符集&#xff0c;如果没有指定字符集…

04 简单神经网络推导及实现(C++/C)

简单神经网络推导及实现&#xff08;C/C&#xff09; 代码见A simple neural network - stock price prediction as an example(C/C) 1. 主要模块 Neuron.h&#xff1a;用于声明神经元类和构造函数。Layer.h&#xff1a;用于声明网络层类和构造函数。NNet.h&#xff1a;用于…

Mybatis配置文件的增删改查功能

Mybatis配置文件的增删改查功能 查询—条件查询 //resources里面的org.example.mapper中的BrandMapper.xml文件 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://…

【2024软考架构案例题】你知道什么是 RESTful 风格吗?

&#x1f449;博主介绍&#xff1a; 博主从事应用安全和大数据领域&#xff0c;有8年研发经验&#xff0c;5年面试官经验&#xff0c;Java技术专家&#xff0c;WEB架构师&#xff0c;阿里云专家博主&#xff0c;华为云云享专家&#xff0c;51CTO 专家博主 ⛪️ 个人社区&#x…

51单片机应用开发---LCD1602显示应用

实现目标 1、了解LCD1602液晶屏&#xff1b; 2、掌握驱动程序的编写&#xff1b; 3. 具体目标&#xff1a;在屏幕上显示字符。 一、LCD1206概述 1.1 定义 LCD1602(Liquid Crystal Display)液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置…

如何修改npm包

前言 开发中遇到一个问题&#xff0c;配置 Element Plus 自定义主题时&#xff0c;添加了 ElementPlusResolver({ importStyle: "sass" }) 后&#xff0c;控制台出现报错&#xff0c;这是因为 Dart Sass 2.0 不再支持使用 !global 来声明新变量&#xff0c;虽然当前…

【原创】java+ssm+mysql校园疫情防控管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

Python模拟键盘输入,解放双手

文章目录 Python模拟键盘输入&#xff0c;解放双手一、引言二、pyautogui库的详细介绍1、安装与配置2、键盘输入函数3、特殊按键和组合键 三、实用示例1、自动填写表单2、自动发送邮件3、自动化数据录入 四、总结 Python模拟键盘输入&#xff0c;解放双手 一、引言 在自动化办…

人工智能时代下对人的价值反思?

一、员工价值物化 在现代企业的运作中&#xff0c;资本管理层之间的权力博弈与资源争夺有时呈现出了激烈的内斗态势。这种冲突不仅仅局限于单一部门内部&#xff0c;而是波及到跨部门乃至不同业务小组间的战略部署与资源配置上。各部门经理们既要竭力确保自身团队的利益最大化…

【Qt实现虚拟键盘】

Qt实现虚拟键盘 &#x1f31f;项目分析&#x1f31f;实现方式&#x1f31f;开发流程 &#x1f31f;项目分析 需求&#xff1a;为Linux环境下提供可便捷使用的虚拟键盘OS环境&#xff1a;Windows 7/11、CentOS 7开发语言&#xff1a;Qt/C IDE&#xff1a;QtCreator 、Qt5.14.2功…

APT 参与者将恶意软件嵌入 macOS Flutter 应用程序中

发现了一些恶意软件样本&#xff0c;这些样本据信与朝鲜民主主义人民共和国 (DPRK)&#xff08;又称北朝鲜&#xff09;有关&#xff0c;这些样本使用 Flutter 构建&#xff0c;Flutter 的设计可以对恶意代码进行混淆。JTL 深入研究了恶意代码的工作原理&#xff0c;以帮助保护…

双十一抢券风波:大学生300元提6000元电动车遭拒,谁该负责?

双十一购物狂欢节&#xff0c;本应是消费者享受优惠、商家提升销量的双赢时刻&#xff0c;但在河南郑州&#xff0c;发生了一起哭笑不得的抢券风波。一名大学生在双十一期间&#xff0c;通过某平台抢到了原价6099元电动车的直降优惠&#xff0c;只需支付300元就能将车骑回家。然…

三周精通FastAPI:37 包含 WSGI - Flask,Django,Pyramid 以及其它

官方文档&#xff1a;https://fastapi.tiangolo.com/zh/advanced/wsgi/ 包含 WSGI - Flask&#xff0c;Django&#xff0c;其它 您可以挂载多个 WSGI 应用&#xff0c;正如您在 Sub Applications - Mounts, Behind a Proxy 中所看到的那样。 为此, 您可以使用 WSGIMiddlewar…

【汇编语言】包含多个段的程序(二)—— 将数据、代码、栈放入不同的段

文章目录 前言1. 存在的两个问题2. 解决办法3. 示例代码3.1 程序说明3.1.1 定义多个段的方法3.1.2 对段地址的引用3.1.3 各种段完全是我们的安排 4. 总结结语 前言 &#x1f4cc; 汇编语言是很多相关课程&#xff08;如数据结构、操作系统、微机原理&#xff09;的重要基础。但…

初识Linux · 共享内存

目录 理解共享内存 Shared memmory code 理解共享内存 前文介绍的管道方式的通信&#xff0c;本文介绍的是进程通信的另外一种方式&#xff0c;即共享内存。但是这种通信方式的特点是只能本地通信&#xff0c;并且不像管道那样有保护机制&#xff0c;这里是没有的。 我们通…

【竞技宝】CS2-上海majorRMR:美洲区最后门票争夺战

北京时间2024年11月15日&#xff0c;上海major美洲区RMR正在如火如荼的进行之中。昨日一共进行了三场2-1组的比赛以及三场1-2组的比赛&#xff0c;决出三个正赛参赛名额的同时也确定了今日2-2组的参赛队伍&#xff0c;那么昨日的比赛战果如何呢&#xff1f;接下来小宝就为大家带…