首页 > 其他分享 > postgre压力测试

postgre压力测试

时间:2023-10-10 21:32:53浏览次数:33  
标签:install -- postgre 测试 MySQL 压力 SysBench sysbench

postgre压力测试

基于SysBench

介绍

SysBench 是一个开源的跨平台系统性能基准测试工具,可以这样安装和使用:

SysBench 支持 CPU、内存、磁盘 IO、网络 IO 等系统测试,以及 MySQL、PostgreSQL 等数据库测试。

安装

可以从 GitHub 下载 SysBench 源码并编译安装:

git clone https://github.com/akopytov/sysbench.git
cd sysbench
./autogen.sh
./configure
make 
sudo make install

遇到异常,看下文,我记录了详细解决步骤

到这里没有提示错误信息,就可以成功了。

成功

先测试一下安装效果,例如,测试 CPU:
sysbench cpu  --cpu-max-prime=20000  run

测试结果:

[root@localhost sysbench-1.0.20]# sysbench cpu  --cpu-max-prime=20000  run
sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

Running the test with following options:
Number of threads: 1
Initializing random number generator from current time


Prime numbers limit: 20000

Initializing worker threads...

Threads started!

CPU speed:
    events per second:  2131.51

General statistics:
    total time:                          10.0003s
    total number of events:              21317

Latency (ms):
         min:                                    0.46
         avg:                                    0.47
         max:                                    0.95
         95th percentile:                        0.48
         sum:                                 9996.03

Threads fairness:
    events (avg/stddev):           21317.0000/0.00
    execution time (avg/stddev):   9.9960/0.00

解读:

sysbench 1.0.20 (使用内置 LuaJIT 2.1.0-beta2) 

sysbench 1.0.20 (using bundled LuaJIT 2.1.0-beta2)

运行测试选项:          

Running the test with following options:  

线程数:1                

Number of threads: 1  

从当前时间初始化随机数生成器     

Initializing random number generator from current time


素数限制:20000        

Prime numbers limit: 20000  

正在初始化工作线程...           

Initializing worker threads...  

线程启动!             

Threads started!  

CPU 速度:                  CPU speed:
     每秒事件数:2131.51          
events per second:  2131.51  

常规统计:              General statistics: 
    总时间:10.0003秒           total time:                          10.0003s
     总事件数:21317                total number of events:              21317

延迟(毫秒):             Latency (ms):
         最小值:0.46                 min:                                    0.46
         平均值:0.47                  avg:                                    0.47
         最大值:0.95                 max:                                    0.95
       95百分点:0.48                   95th percentile:                        0.48
         总和:9996.03                 sum:                                 9996.03

线程公平性:           Threads fairness:
     事件(平均值/标准偏差):21317.0000/0.00  
     events (avg/stddev):           21317.0000/0.00  
执行时间(平均值/标准偏差):9.9960/0.00
   execution time (avg/stddev):   9.9960/0.00
测试 PostgreSQL:
sysbench oltp_read_write  --postgresql-host=localhost --postgresql-port=5432 --postgresql-user=bench  --oltp-table-size=10000 --threads=32 --time=60 run
异常记录

异常1:

我在安装sysbench时,遇到了如下错误 ERROR: cannot find MySQL libraries. If you want to compile with MySQL support, please install the package containing MySQL client libraries and headers. On Debian-based systems the package name is libmysqlclient-dev.On RedHat-based systems, it is mysql-devel. If you have those libraries installed in non-standard locations, you must either specify file locations explicitly using --with-mysql-includes and --with-mysql-libs options, or make sure path to mysql_config is listed in your PATH environment variable. If you want to disable MySQL support, use --without-mysql option

这个错误表示在编译 SysBench 时无法找到 MySQL 开发库,所以无法支持 MySQL 基准测试。 要解决这个错误,我们有两种方法:

  1. 安装 MySQL 开发库 在 Debian/Ubuntu 系统上,执行:
sudo apt install libmysqlclient-dev

在 RedHat/CentOS 系统上,执行:

sudo yum install mysql-devel

这会安装 MySQL 客户端库和头文件,然后重新编译 SysBench:

./configure 
make
sudo make install

现在 SysBench 应该可以支持 MySQL 基准测试了。

这会安装 sysbench 命令以及一些测试脚本。 也可以使用包管理工具进行安装,如:

sudo apt install sysbench     # Ubuntu
sudo yum install sysbench    # CentOS

标签:install,--,postgre,测试,MySQL,压力,SysBench,sysbench
From: https://blog.51cto.com/wangshiyu/7799591

相关文章

  • Unittest测试框架基础及进阶
    需求假设领导让你开发一个接口测试框架。领导提出了一些新的需求,你如何实现?支持用例优先级、标签,支持通过优先级或标签筛选用例支持用例负责人、迭代,及通过负责人或迭代筛选用例支持多环境配置支持超时及重试机制,防止不稳定用例并发执行用例以提高用例回归效率Unitt......
  • 互联网从业者如何调节压力
    互联网从业者面临着多种压力源,如工作性质、竞争、项目失败、对失败的恐惧等,这些压力会影响身心健康以及工作效率。因此,采取有效的压力调节方法是必要的,接下来我们从三个方向探讨下互联网从业者有关压力来源、应对压力的方法及从缓解、转移和释放三方面进行压力调节的三部曲。了解互......
  • Pytest测试框架基础及进阶
    Pytest测试框架基础Pytest测试框架介绍Pytest是Python一款三方测试框架,用于编写和运行单元测试、集成测试和功能测试。Pytest测试框架具有简单、灵活、易于扩展等特点,被广泛应用于Python项目的测试工作中。Pytest主要特点:简单易用:Pytest测试框架的API简单易用,可以快速编写测......
  • 若不经过MD组件进行接地,无法测试出漏电流数值
    因为漏电流测试仪自带接地保护,所以需要将产品仪器的地线单独拆出来,只接火零线,通过把地线连接到MD(hi)测试组件进行接地。注意:若不经过MD组件进行接地,无法测试出漏电流数值根据仪器技术需求,这里未接S10和S12的线路。需要在加权和无频率加权各测试一次正常状态和单一故障状态的漏电流......
  • 【安规测试之漏电流测试方法】
    漏电流测试:对地漏电流、外壳漏电流1、对地漏电流: 按上图电路将,网电--漏电流测试仪--产品仪器,进行一个连接(不会连线先学电路图)。因为漏电流测试仪自带接地保护,所以需要将产品仪器的地线单独拆出来,只接火零线,通过把地线连接到MD(hi)测试组件进行接地。注意:若不经过MD组件进行接地,无法......
  • 【接口测试】如何在 Eolink Apilkit 中使用 cookie ?
    什么是Cookie?Cookie是一种在网站之间传递的小型文本文件,用于存储用户的个人信息和偏好设置。当您访问一个网站时,网站会将Cookie存储在您的浏览器中,并在您下次访问该网站时读取该Cookie。这样,网站可以记住您的登录状态、购物车内容以及其他个性化设置。在编写接口自动化测试用......
  • QECon大会亮相产品,更合适的企业级测试平台:RunnerGo
    在当今这个数字化时代,应用程序的性能至关重要。一款可靠的性能测试工具,能够为企业带来无数的好处。最近,一款名为RunnerGo的开源性能测试工具备受瞩目。本文将详细介绍RunnerGo的特点、优势以及如何解决性能测试中的痛点。 RunnerGo产品介绍RunnerGo是一款由国内开发者自主研......
  • QECon大会亮相产品,全栈测试平台推荐:RunnerGo
    最近在gitee上看见一款获得GVP(最有价值开源项目)的测试平台RunnerGo,看他们官网介绍包含了接口测试、性能测试、自动化测试。知道他们有saas版可以试用,果断使用了一下,对其中场景管理和性能测试印象深刻,之后也在公司自己安装使用,接下来和大家介绍一下RunnerGo的整体使用情况。登录后......
  • Jenkins+sonar+jacoco 实现代码扫描,接口测试,代码覆盖
    sonar配置参照往期博文jacoco+自动化测试参照往期博文sonar+jacoco覆盖报告配置# jacoco生成的exec文件sonar.jacoco.reportPaths=/home/jacoco/lXXXXXXXX/lXXXXXXXXX.exec #代码覆盖率插件sonar.java.coveragePlugin=jacoco#jacoco插件版本jacoco.version=0.8.8#s......
  • 【原创】实现自动编写软件功能测试用例
    国内积极推进“去测试化”的大环境下,想走完一套从需求评审-用例编写-提测的完整流程,越来越难但软件测试入行越久,就越会发现“用例驱动测试”才是正确的事但编写测试用例本身是一件耗时,又不被允许耗时的重要事示例: 用例放大: 留言多的话,我再细说 ......