一、前言

最近在工作中需要测试cpu占用率、内存占用率,我想要寻找一种合适的能提高cpu占用率的工具及方法。先尝试了使用 echo "scale=5000; 4*a(1)" | bc -l -q 命令计算浮点数,但这种方式只能进行CPU单线程简单测试,无法提高服务器的整体cpu占用率。后来,搜了不少资料,终于找到一款合适的cpu性能测试的工具——sysbench。


二、sysbench简单介绍

SysBench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。它主要包括以下几种方式的测试: 
1. cpu性能 
2. 磁盘io性能 
3. 线程调度性能 
4. 互斥锁性能 
5. 数据库性能(OLTP基准测试) 
6. 内存性能

目前sysbench主要支持 MySQL、pgsq、Oracle 这3种数据库。 
sysbench在github的版本分为两个分支:0.4和0.5,我使用的是0.5这个版本。

三、sysbench安装

1、在https://github.com/akopytov/sysbench/tree/0.5下载sysbench-0.5.zip源码包到本地某个目录下,如/usr/cqs/目录下;
2、在/etc/cqs/sysbench目录下运行命令:unzip sysbench-0.5.zip,解压zip包,会生成sysbench-0.5目录;
3、 进入sysbench-0.5目录,运行命令:./autogen.sh。
注意:这一步可能会报错:automake 1.10.x (aclocal) wasn’t found, exiting。这说明你的操作系统没有安装automake,运行命令:yum install automake.noarch,即可安装。然后再运行./autogen.sh命令,又报错:libtoolize 1.4+ wasn’t found, exiting。说明你的操作系统没有安装libtool,运行命令:yum install libtool,即可安装。继续运行。
4、 运行./configure --without-mysql(不编译测试mysql的功能模块)
5、 make && make install
6、 运行sysbench –help测试是否安装成功。

四、常用测试

1. 帮助信息
# sysbench –help
2. cpu测试
测试计算素数直到某个最大值所需要的时间。
# sysbench --test=cpu --cpu-max-prime=2000 --num-threads=40 run
补充:
查看CPU信息方法:
查看物理cpu个数
grep "physical id" /proc/cpuinfo | sort -u | wc -l
查看核心数量
grep "core id" /proc/cpuinfo | sort -u | wc -l
查看线程数量
grep "processor" /proc/cpuinfo | sort -u | wc -l #在sysbench的测试中,--num-threads取值为"线程数量"即可。
查看cpu占用比
top
3. 内存测试
测试内存的连续读写性能。
# sysbench –test=memory –num-threads=16 –memory-block-size=8192 –memory-total-size=1G run 
memory测试类型可用的参数如下:

五、参考资料




sysbench——服务器cpu性能测试的更多相关文章

  1. linux sysbench (一): CPU性能测试详解

    网上sysbench教材众多,但没有一篇中文教材对cpu测试参数和结果进行详解. 本文旨在能够让读者对sysbench的cpu有一定了解. 小慢哥的原创文章,欢迎转载 1.sysbench基础知识 s ...

  2. Linux系统性能测试工具(四)——CPU性能测试工具之super_pi、sysbench

    本文介绍关于Linux系统(适用于centos/ubuntu等)的CPU性能测试工具-sysbench.CPU性能测试工具包括: super_pi: sysbench——不仅可以测试CPU性能,而且可 ...

  3. linux sysbench : CPU性能测试详解

    1.sysbench基础知识 sysbench的cpu测试是在指定时间内,循环进行素数计算 素数(也叫质数)就是从1开始的自然数中,无法被整除的数,比如2.3.5.7.11.13.17等.编程公式:对 ...

  4. 【转载】8.2.1 CPU性能测试工具

    (KVM连载) 8.2.1 CPU性能测试工具 01/08/2013master 1 Comment 8.2.1 CPU性能测试工具 CPU是计算机系统中最核心的部件,CPU的性能直接决定了系统的计算 ...

  5. asp.net mvc4 简单的服务器监控开发之C#获取服务器CPU、RAM、TCP等系统信息(上)

    一.背景 前段时间服务器出了点问题,加上学业愈来愈紧张,写博文分享的时间越来越少.虽然不是第一次在博客园上写经验,但是近期分享的博文得到了不少的朋友支持和指正,在这里内心非常感激和开心.希望以后能认真 ...

  6. linux cpu性能测试

    sysbench --test=cpu --cpu-max-prime=20000000 run --num-threads=4 mpstat -P ALL 1 1000000

  7. 服务器CPU使用率高的原因分析与解决办法

    我们的服务器在使用操作系统的时候,用着用着系统就变慢了,打开“ 任务管理器 ”一看,才发现CPU使用率达到80%以上.这是怎么回事情呢?遇到病毒了吗?硬件有问题?还是系统设置有问题呢?在本文中将从硬件 ...

  8. [故障公告] 13:52-14:03,访问量突增,博客web服务器CPU 100%

    13:52-14:03,由于访问量突增,博客web服务器全线CPU 100%,造成博客站点不正常访问,由此给您带来麻烦,请您谅解. 为了迎接访问量的增长给web服务器CPU带来的巨大压力,上周我们已经 ...

  9. Oracle触发bug(cursor: mutex S),造成数据库服务器CPU接近100%

    问题现象: 项目反馈系统反应非常缓慢,数据库服务器CPU接近100%! INSERT INTO GSPAudit1712(ID,TypeID,CategoryID,DateTime,UserID,Us ...

随机推荐

  1. 【Spring学习笔记-MVC-17】Spring MVC之拦截器

    作者:ssslinppp       1. 拦截器简介及应用场景 2. 拦截器接口及拦截器适配器 3. 运行流程图 正常运行 中断流程 4. 程序实例 控制层: @Controller @Reques ...

  2. 1011 World Cup Betting (20 分)

    1011 World Cup Betting (20 分) With the 2010 FIFA World Cup running, football fans the world over wer ...

  3. 【POJ】2480 Longge's problem(欧拉函数)

    题目 传送门:QWQ 分析 题意就是求∑gcd(i, N) 1<=i <=N.. 显然$ gcd(i,n) = x $时,必然$x|n$. 所以我们枚举一下n的约数,对于每个约数x,显然$ ...

  4. Hash的一点测试

    哈希表的学习与测试 以前写的hash都是碰运气的hash,就是乘上质数取模的那种,这样不能保证不碰撞,所以今天先写上几个双hush和链表的hash,并比较一下他们的速度,测试的话用洛谷上的“字符串哈希 ...

  5. 暴搜 - Codeforces Round #327 (Div. 2) E. Three States

    E. Three States Problem's Link Mean: 在一个N*M的方格内,有五种字符:'1','2','3','.','#'. 现在要你在'.'的地方修路,使得至少存在一个块'1 ...

  6. js、C#获取当前url的参数值

    之前很想做一些封装关于获取URL参数值方法,今天简单整理了一下js和后台代码获取url参数值的方法,有什么不好地方,还请大家包涵,代码如下: 1.JS处理URL参数值 <script langu ...

  7. html-字体

    字体大小 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF- ...

  8. License分类 + 引入开源软件时License的注意事项

    License分类 GPL: linux.openJDK,openJFX,mysql 融合感染,单独子模块不感染(自己的模块与引入模块的通信方式是socket) openJDK(GNU General ...

  9. UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 120: illegal multibyte sequence

    UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 120: illegal multibyte sequence f ...

  10. attack source code

    不废话,直接上代码, 先看截图use pictures;