关于云服务器的测试

article/2025/8/22 11:44:21

目录

安装sysbench0.4.12

安装sysbench1.0

 CPU加密运算性能

 CPU浮点运算性能

 JAVA程序运行时延(s)

 Web程序系统平均响应时延/系统吞吐量

CPU(EPS)-CPU每秒执行事件数

内存读取性能(MB/s)-每秒读取内存数据大小

内存写入性能(MB/s)-每秒写入内存数据大小

存储吞吐性能(IOPS)/存储吞吐量(MB/s)

磁盘每秒读入和写出数据的大小

PING时延(ms)/丢包率(%)

上行带宽(Mb/s)/下行带宽(Mb/s)

MySQL每秒SQL数(QPS)/MySQL每秒事务数(TPS)/MySQL平均SQL时延(ms


安装sysbench0.4.12

get https://github.com/akopytov/sysbench/archive/refs/tags/0.4.12.tar.gz -O sysbench-0.4.12.tar.gz

  1. 从 sysbench 的 GitHub 仓库下载源代码包并解压缩。
  2. 进入解压后的目录,运行 ./autogen.sh
  3. 运行 ./configure
  4. 运行 make -j
  5. 运行 make install 安装 sysbench

 如果遇到

在configure.ac 文件中添加以下内容:

m4_pattern_allow([AC_LIB_PREFIX])

再次autoconf 和 make 

make insatll

 使用方式

/usr/local/bin/sysbench --help

安装sysbench1.0

换yum源

1、进入yum源配置文件  cd /etc/yum.repos.d
2、备份一下当前的源,以防出错后可以还原回来mv ./CentOS-Base.repo ./CentOS-Base-repo.bak
3、下载网易163的源wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
4、清理一下旧包yum clean all
5、把下载下来文件CentOS7-Base-163.repo设置成为默认源mv CentOS7-Base-163.repo CentOS-Base.repo
6、生成缓存即可用163源了yum makecache

下载安装包

wget https://github.com/akopytov/sysbench/archive/1.0.zip -O "sysbench-1.0.zip"

 解压

unzip sysbench-1.0.zip 

进入解压的目录

cd sysbench-1.0

 安装依赖

yum install automake libtool -y

./autogen.sh

  

yum install -y mariadb-devel
./configure

 如果出现下面错误

#ERROR: cannot find MySQL libraries. If you want to compile with MySQL support 没找到mysql库 需要用参数指定下 --with-mysql-includes和--with-mysql-libs

 指定mysql

./configure --with-mysql-includes=/app/teledb/mysql/include/ --with-mysql-libs=/app/teledb/mysql/lib/
make

 

make install

 验证是否安装完成

sysbench --help

 安装成功!!!

通用参数
--test=<test_name>:指定要进行测试的模块,test_name可以是CPU、内存、磁盘和数据库等。--num-threads=<threads>:指定测试时使用的线程数。--max-time=<time>:指定测试的最长运行时间。--max-requests=<requests>:指定测试的最大请求数。--oltp-range-size=<size>:指定OLTP测试使用的ID范围大小。--oltp-table-size=<size>:指定OLTP测试使用的表大小。--oltp-tables-count=<count>:指定OLTP测试使用的表的数量。数据库测试参数
--db-driver=<driver>:指定要测试的数据库类型,如mysql、pgsql等。--mysql-host=<host>:指定MySQL服务器的主机名。--mysql-port=<port>:指定MySQL服务器的端口号。--mysql-user=<user>:指定连接MySQL服务器使用的用户名。--mysql-password=<password>:指定连接MySQL服务器使用的密码。--mysql-db=<database>:指定要测试的MySQL数据库。--mysql-table-engine=<engine>:指定MySQL表的存储引擎。

 CPU加密运算性能

执行命令

openssl speed -multi 2 rsa4096 #-multi后面数字一般是cpu核数*2

 

 CPU浮点运算性能

1、安装c-ray

链接 提取码:1234

2、在解压目录下make、make install

unzip c-ray-1.1.zip

cd c-ray-1.1

 


3、执行./c-ray-mt -t CPU核数*16 -s 3840x2160 -r 16 -i sphfract -o output.ppm

./c-ray-mt -t 16 -s 3840x2160 -r 16 -i sphfract -o output.ppm

 JAVA程序运行时延(s)

 上传jar包

链接 提取码:1234

 执行java -jar "jar包

java -jar YunyewubuJava_jar.jar

 

 Web程序系统平均响应时延/系统吞吐量

1、安装nginx
2、在另外主机布置jmeter压测

CPU(EPS)-CPU每秒执行事件数

sysbench --threads=8 --time=30 cpu run #--threads=CPU核数*2

 

内存读取性能(MB/s)-每秒读取内存数据大小

sysbench --threads=8 --time=30 --memory-oper=read --memory-total-size=1T memory run

 

内存写入性能(MB/s)-每秒写入内存数据大小

sysbench --threads=8 --time=30 --memory-oper=write --memory-total-size=1T memory run

 

存储吞吐性能(IOPS)/存储吞吐量(MB/s)(裸盘测试)

查看云硬盘是否已经4KB对齐

fdisk -lu

 

 Start值能被8整除则是4KB对齐。否则,请完成4KB对齐后再继续性能测试

 安装fio

yum install libaio -y
yum install libaio-devel -y
yum install fio -y

执行测试

随机写IOPS
fio -direct=1 -iodepth=128 -rw=randwrite -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/vdb -name=Rand_Write_IOPS_Test
随机读IOPSfio -direct=1 -iodepth=128 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/vdb -name=Rand_Read_IOPS_Test
顺序写吞吐量fio -direct=1 -iodepth=64 -rw=write -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/vdb -name=Write_BW_Test
顺序读吞吐量fio -direct=1 -iodepth=64 -rw=read -ioengine=libaio -bs=1024k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=/dev/vdb -name=Read_BW_Test

磁盘每秒读入和写出数据的大小

PING时延(ms)/丢包率(%)

ping www.baidu.com -c 10 # -c 为指定次数

 

上行带宽(Mb/s)/下行带宽(Mb/s)

 分为主机和陪跑机

这里把linux设为主机,windows为陪跑机

linux安装Iperf3

yum install -y iperf3

 

 windows安装Iperf3

网上下载解压

都安装完成后

linux上输入

iperf3 -s

 windows上输入

iperf3 -c 47.99.35.37 #-c 后面为主机ip

 Bandwidth下面为发送/接收速率

MySQL每秒SQL数(QPS)/MySQL每秒事务数(TPS)/MySQL平均SQL时延(ms)

进入mysql创建sbtest数据库(有的mysql自带sbtest)

 create database sbtest;

创建测试数据

sysbench sysbench-1.0/tests/include/oltp_legacy/oltp.lua  --mysql-host=172.27.0.17 --mysql-port=3306 --mysql-user=ceshi --mysql-password=Qw123456 --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --threads=8 --time=120 --report-interval=10 prepare

参数说明:

oltp.lua                  #测试模块
--mysql-host=127.0.0.1    #mysql的ip
--mysql-port=3306         #mysql的端口
--mysql-user=root         #mysql用户账号 
--mysql-password=123456   #mysql用户密码
--oltp-test-mode=complex  #测试类型:simple(简单select测试),complex(事务测试),nontrx(非事务测试),sp(存储过程)
--oltp-tables-count=10    #创建测试表数量
--oltp-table-size=100000  #创建测试表大小
--threads=cpu核数*2       #测试线程数
--time=120                #运行时间
--report-interval=10      #每10s就输出一次数据
prepare/run/cleanup       #准备/运行/清理

如果出现下列报错

sysbench: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

 重新安装依赖

yum install automake libtool -y

 再次准备测试数据

sysbench sysbench-1.0/tests/include/oltp_legacy/oltp.lua  --mysql-host=172.27.0.17 --mysql-port=3306 --mysql-user=ceshi --mysql-password=Qw123456 --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --threads=8 --time=120 --report-interval=10 prepare

 执行测试

sysbench sysbench-1.0/tests/include/oltp_legacy/oltp.lua  --mysql-host=172.27.0.17 --mysql-port=3306 --mysql-user=ceshi --mysql-password=Qw123456 --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --threads=8 --time=120 --report-interval=10 run

 

 测试数据的清理

sysbench ./tests/include/oltp_legacy/oltp.lua --mysql-host=127.0.0.1 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=1000 --threads=2 --time=120 --report-interval=2 cleanup

shell脚本运行

#/bin/bash
#sudo rm -r ~/results/*
#cd ~
for a in {1..30}
dosysbench --test=oltp.lua --mysql-host=192.168.0.21 --mysql-port=3306 --mysql-user=root --mysql-password=123456 --oltp-test-mode=complex --oltp-tables-count=10 --oltp-table-size=100000 --threads=8 --time=120 --report-interval=10 run   >> ~/results_sql.csvsleep 15
done


http://chatgpt.dhexx.cn/article/oMeJK7qM.shtml

相关文章

如何测试服务器的速度

服务器好不好&#xff0c;使用起来体验度如何&#xff0c;跟服务器的多项性能有关&#xff1a;硬件配置、带宽大小、带宽线路、运营商都决定了服务器最终使用体验。 现在租一台服务器是非常稀松平常的事情&#xff0c;可以说任何个人只要有需求都可以直接网上租用一台服务器来使…

Quartz

什么是Quartz quartz:石英钟的意思 是一个当今市面上流行的高效的任务调用管理工具 由OpenSymphony开源组织开发 Symphony:交响乐 是java编写的,我们使用费时需要导入依赖即可 为什么需要Quartz 什么是任务调度 所谓任务调用,就是执行某些具体动作的时间计划 最简单的…

Quartz基本使用

&#xff08;一&#xff09;定时任务 在很多情况下任务并非需要立即执行 , 而是需要往后或定期执行 , 这不可能人工去操作 , 所以定时任务就出 现了 使用定时任务的情况 : 每周末凌晨备份数据 触发条件 5 分钟后发送邮件通知 30 分钟未支付取消订单 每 1 小时去拉取数…

Quartz概述

Quartz是开源任务调度框架中的翘楚&#xff0c;它提供了强大的 任务调度机制。Quartz允许开发人员灵活的定义触发器的调度时间表&#xff0c;并可对触发器和任务进行关联映射。此外&#xff0c;Quartz提供了调度运行环境的持久化机制&#xff0c;可以保存并恢复调度现场&#x…

Quartz的使用

什么是Quartz Quartz是一个由java编写的开源作业调度框架&#xff0c;简单来说&#xff0c;Quartz就是启动定时任务的框架&#xff0c;像linux系统中的corntab&#xff0c;可以定时启动任务. Quartz的单独使用 Quartz的使用必须掌握下面三个对象 Scheduler 定时器对象JobDe…

Quartz 配置详解

Quartz自定义配置详解&#xff08;一&#xff09;——实现自定义配置 - 掘金通过默认配置下的quartz信息输出可以看到&#xff0c;quartz默认不支持数据的持久化&#xff0c;且无集群支持&#xff1b;但是在实际项目使用中&#xff0c;为了保证相关数据的准确和定时任务执行稳定…

quartz详解

quartz 一、Quartz相关介绍 1.简介  1.1 Quartz 是一个完全由 Java 编写的开源作业调度框架&#xff0c;为在 Java 应用程序中进行作业调度提供了简单却强大的机制。  1.2 Quartz 可以与 J2EE 与 J2SE 应用程序相结合也可以单独使用。  1.3 Quartz 允许程序开发人员根据时间…

【开发经验】quartz表结构说明(字段说明)

文章目录 一、quartz表信息二、表字段说明1.qrtz_blob_triggers2.qrtz_calendars3.qrtz_cron_triggers4.qrtz_fired_triggers5.qrtz_job_details6. qrtz_locks7.qrtz_paused_trigger_grps8. qrtz_scheduler_state9.qrtz_simple_triggers10.qrtz_triggers 一、quartz表信息 qrt…

Quartz简介

文章目录 Quartz 是什么What is the Quartz Job Scheduling Library?使用场景特点Quartz 使用的设计模式 Java 语言实现定时任务的几种方式核心元素SchedulerTriggerCalendarJobDetailJobJobExecutionContext 核心元素之间的关系Quartz 类图主要线程数据存储 最近做了一个活动…

【quartz表结构及说明】

文章目录 一、quartz表信息二、表字段说明 1.qrtz_blob_triggers2.qrtz_calendars3.qrtz_cron_triggers4.qrtz_fired_triggers5.qrtz_job_details6. qrtz_locks7.qrtz_paused_trigger_grps8. qrtz_scheduler_state9.qrtz_simple_triggers10.qrtz_triggers 一、quartz表信息 qr…

Quartz数据库表分析

2019独角兽企业重金招聘Python工程师标准>>> 系列文章 Spring整合Quartz分布式调度 Quartz数据库表分析 Quartz调度源码分析 前言 上一篇文章Spring整合Quartz分布式调度介绍了Quartz通过数据库的方式来实现分布式调度&#xff0c;通过使用数据库来存储trigger&…

php rsa公钥加密,PHP RSA加密

这两天正好做一个rsa加密,现在就总结一下其中的几个要点。 1.什么是rsa算法 RSA公钥加密算法是1977年由罗纳德李维斯特(Ron Rivest)、阿迪萨莫尔(Adi Shamir)和伦纳德阿德曼(Leonard Adleman)一起提出的。1987年7月首次在美国公布,当时他们三人都在麻省理工学院工作实习。RSA…

php 代码加密运行,php加密后可以直接运行吗

加密后的php代码需要ZendGuardLoader模块才能正常运行 下载ZendGuardLoader压缩包 下载好后解压压缩包&#xff0c;找到目录下的 ZendLoader.dll 文件&#xff0c;将它放到你的php目录下ext下&#xff0c;再编辑php.ini文件&#xff0c;添加一段代码&#xff1a;[Zend.loader] …

PHP加密 php源代码在线加密工具推荐

在我们开发的项目中&#xff0c;有一部分可能是用于商业用途&#xff0c;会部署在客户提供的机器环境中。因为 PHP 本身是解释型语言&#xff0c;所以未进行处理的代码&#xff0c;就会有泄露或被修改的风险。那么我们可能会想到最简单有效的方法就是进行PHP代码的加密&#xf…

PHP数据加密的几种方式

首先我们来了解一下为什么要加密&#xff1f; 在网络通信的过程中攻击者可以伪造请求和返回&#xff0c;从而达到不可告人的目的。如下图所示&#xff1a; 数据加密之后可以防止他人监听窃取信息以及通讯内容被篡改。 了解了加密的作用&#xff0c;我再来说说加密的方式&…

php代码加密 php-screw-plus

1.下载本程序并解压到某个目录 下载 https://gitee.com/splot/php-screw-plus 2.解压 3.编译 进入目录 /usr/local/php/bin/phpize &#xff08;在screw plus目录中执行php bin中的phpize自动生成扩展所需文件&#xff09; ./configure --with-php-config/usr/local/php…

php代码加密

如何对PHP文件进行加密——ZendGuard加密与ZendLoader解密 end Guard是目前市面上最成熟的PHP源码加密产品。 经过本人搜集资料&#xff0c;亲身测试后&#xff0c;总结了如何利用Zend Guard对PHP文件进行加密&#xff0c;以及如何利用Zend Loader对加密后的PHP文件进行解密。 …

php7 加密扩展,一个PHP7 代码的加密扩展,

一个PHP7 代码的加密扩展是PHP7代码的加密扩展&#xff0c; PHP7栏目介绍如何加密扩展 推荐&#xff1a;PHP7 介绍 一个简洁高效的跨 特点 简单快速&#xff0c;实际测量后几乎不影响性能。它与其他扩展兼容&#xff0c;如OPcache和Xdebug。它支持Linux、macOS、Windows等系统。…

PHP源代码加密后正常运行

因为老板想对做出来的产品进行加密防止进行修改&#xff0c;和源代码的流逝&#xff0c;让我们看看有没有加密的方法。所以通过网上找到了相关的一些教程&#xff0c;还可以&#xff0c;记录一下 在这使用的是 php screw plus github地址 https://github.com/del-xiong/screw-p…

看我如何玩转PHP代码加密与解密

参考文献&#xff1a; https://xz.aliyun.com/t/2403 前言 两次比赛&#xff0c;两个题目&#xff0c;两种方式&#xff0c;两个程序。 一切PHP的代码终究是要到Zend Engine上走一走的&#xff0c;因此一切PHP的源码加密都是可以被解密的。&#xff08;不包括OpCode混淆-VM…