zoukankan      html  css  js  c++  java
  • 服务器性能测试

    性能测试(CPU、内存、IO)
    ~~~~~~CPU~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    CPU指标为运算处理能力

    一、cat /ptoc/cpuinfo
    1、直接查看逻辑CPU的个数,执行:cat /proc/cpuinfo |grep 'physical id' |sort |uniq
    结果:记录
    2、直接查看CPU的型号,执行:cat /proc/cpuinfo |grep 'model name' |sort |uniq
    结果:记录
    3、单个CPU的内核数,执行:cat /proc/cpuinfo |grep 'cpu cores' |sort |uniq
    结果:记录
    4、总的CPU线程数,执行:cat /proc/cpuinfo |grep 'processor'
    结果:记录

    二、使用Super PI
    是利用CPU的浮点运算能力来计算出π(圆周率),所以目前普遍被超频玩家用做测试系统稳定性和测试CPU计算完后特定位数圆周率所需的时间。

    [支持centos6.x]
    wget http://superpi.ilbello.com/pi/super_pi.tar.bz2
    tar -jxvf super_pi.tar.bz2
    ./super_pi 20
    20为位数。表示要算2的多少次方位,如通常要算小数点后1M位。

    结果:
    root@localhost.example. ~# ./super_pi 20
    Version 2.0 of the super_pi for Linux OS
    Fortran source program was translated into C program with version 19981204 of
    f2c, then generated C source program was optimized manually.
    pgcc 3.2-3 with compile option of "-fast -tp px -Mbuiltin -Minline=size:1000 -Mnoframe -Mnobounds -Mcache_align -Mdalign -Mnoreentrant" was used for the
    compilation.
    ------ Started super_pi run : Tue May 16 10:47:18 CST 2017
    Start of PI calculation up to 1048576 decimal digits
    End of initialization. Time= 0.200 Sec.
    I= 1 L= 0 Time= 0.498 Sec.
    I= 2 L= 0 Time= 0.539 Sec.
    I= 3 L= 1 Time= 0.536 Sec.
    I= 4 L= 2 Time= 0.535 Sec.
    I= 5 L= 5 Time= 0.532 Sec.
    I= 6 L= 10 Time= 0.537 Sec.
    I= 7 L= 21 Time= 0.529 Sec.
    I= 8 L= 43 Time= 0.542 Sec.
    I= 9 L= 87 Time= 0.532 Sec.
    I=10 L= 174 Time= 0.582 Sec.
    I=11 L= 349 Time= 0.974 Sec.
    I=12 L= 698 Time= 1.379 Sec.
    I=13 L= 1396 Time= 1.094 Sec.
    I=14 L= 2794 Time= 1.353 Sec.
    I=15 L= 5588 Time= 0.955 Sec.
    I=16 L= 11176 Time= 1.408 Sec.
    I=17 L= 22353 Time= 1.067 Sec.
    I=18 L= 44707 Time= 1.242 Sec.
    I=19 L= 89415 Time= 0.901 Sec.
    End of main loop
    End of calculation. Time= 17.033 Sec.
    End of data output. Time= 0.070 Sec.
    Total calculation(I/O) time= 17.103( 0.521) Sec.
    ------ Ended super_pi run : Tue May 16 10:47:36 CST 2017
    ~~~~~~CPU~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    ~~~~~~内存~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    内存指标为稳定性
    free -m (主要是看内存大小、交换空间、高速缓存)
    结果:记录

    memtest不但可以彻底的检测出内存的稳定度,还可同时测试记忆的储存与检索数据的能力,让你可以确实掌控到目前你机器上正在使用的内存到底可不可信赖。

    wget http://pyropus.ca/software/memtester/old-versions/memtester-4.3.0.tar.gz
    tar -xzvf memtester-4.3.0.tar.gz
    cd memtester-4.3.0
    make && make install
    例:./memtester 2048 5
    2048表示测试的内存大小,单位是M,1表示次数。
    如果2048不接受的,把它缩小就可以了。先运行一次,如果没有问题就把次数增加即可。
    监控:vmstat、top都可以看到

    结果:
    root@localhost.example. ~/memtester-4.3.0# ./memtester 1024 1
    memtester version 4.3.0 (64-bit)
    Copyright (C) 2001-2012 Charles Cazabon.
    Licensed under the GNU General Public License version 2 (only).

    pagesize is 4096
    pagesizemask is 0xfffffffffffff000
    want 1024MB (1073741824 bytes)
    got 1024MB (1073741824 bytes), trying mlock ...locked.
    Loop 1/1:
    Stuck Address : ok
    Random Value : ok
    Compare XOR : ok
    Compare SUB : ok
    Compare MUL : ok
    Compare DIV : ok
    Compare OR : ok
    Compare AND : ok
    Sequential Increment: ok
    Solid Bits : ok
    Block Sequential : ok
    Checkerboard : ok
    Bit Spread : ok
    Bit Flip : ok
    Walking Ones : ok
    Walking Zeroes : ok
    8-bit Writes : ok
    16-bit Writes : ok

    Done.
    ~~~~~~内存~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    ~~~~~~IO~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    一、简介
    测试IOPS,推荐使用fio(官网地址:http://freshmeat.net/projects/fio/)
    fio命令说明:
    filename=/dev/sdb1 #测试文件名称,通常选择需要测试的盘的data目录
    direct=1 #测试过程绕过机器自带的buffer。使测试结果更真实
    rw=randwrite #测试随机写的I/O
    rw=randrw #测试随机写和读的I/O
    bs=16k #单次io的块文件大小为16k
    bsrange=512-2048 #同上,提定数据块的大小范围
    size=5G #本次的测试文件大小为5g,以每次4k的io进行测试
    numjobs=30 #本次的测试线程为30个
    runtime=1000 #测试时间1000秒,如果不写则一直将5g文件分4k每次写完为止
    ioengine=psync #io引擎使用psync方式
    rwmixwrite=30 #在混合读写的模式下,写占30%
    group_reporting #关于显示结果的,汇总每个进程的信息
    lockmem=1G #只使用1g内存进行测试
    zero_buffers #用0初始化系统buffer
    nrfiles=8 #每个进程生成文件的数量
    测试结果,主要关注bw和iops结果
    bw:磁盘的吞吐量,这个是顺序读写考察的重点
    iops:磁盘的每秒读写次数,这个是随机读写考察的重点

    二、安装
    wget http://brick.kernel.dk/snaps/fio-2.0.7.tar.gz
    yum install libaio-devel
    tar -zxvf fio-2.0.7.tar.gz
    cd fio-2.0.7
    make
    make install

    三、测试步骤(举例5种方式)
    随机读:
    fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randread -ioengine=psync -bs=16k -size=200G -numjobs=10 -runtime=1000 -group_reporting -name=mytest

    顺序读:
    fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

    随机写:
    fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randwrite -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

    顺序写:
    fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=write -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest

    混合随机读写:
    fio -filename=/dev/sdb1 -direct=1 -iodepth 1 -thread -rw=randrw -rwmixread=70 -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=100 -group_reporting -name=mytest -ioscheduler=noop

    下列:AWS-美东机房c5.large机型IO测试

    ~~~~~~IO~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  • 相关阅读:
    easy ui 表单ajax和from两种提交数据方法
    easy ui 下拉级联效果 ,下拉框绑定数据select控件
    easy ui 下拉框绑定数据select控件
    easy ui 异步上传文件,跨域
    easy ui 菜单和按钮(Menu and Button)
    HTTP 错误 404.3
    EXTJS4.2 后台管理菜单栏
    HTML 背景图片自适应
    easy ui 表单元素input控件后面加说明(红色)
    EXTJS 4.2 添加滚动条
  • 原文地址:https://www.cnblogs.com/ccielife/p/11312827.html
Copyright © 2011-2022 走看看