• 预装MySQL前硬件烤机压测 Linux运维


    1.进行CPU、MEM烤机压

     1 #a. 安装
     2 yum install -y epel-release
     3 yum install -y stress
     4 #参数解析:
     5 -c, --cpu N 产生 N 个进程,每个进程都反复不停的计算随机数的平方根
     6 -i, --io N 产生 N 个进程,每个进程反复调用 sync() 将内存上的内容写到硬盘上
     7 -m, --vm N 产生 N 个进程,每个进程不断分配和释放内存
     8   –vm-bytes B 指定分配内存的大小
     9   –vm-stride B 不断的给部分内存赋值,让 COW(Copy On Write)发生
    10   –vm-hang N 指示每个消耗内存的进程在分配到内存后转入睡眠状态 N 秒,然后释放内存,一直重复执行这个过程
    11   –vm-keep 一直占用内存,区别于不断的释放和重新分配(默认是不断释放并重新分配内存)
    12 -d, --hadd N 产生 N 个不断执行 writeunlink 函数的进程(创建文件,写入内容,删除文件)
    13 –hadd-bytes B 指定文件大小
    14 -t, --timeout N 在 N 秒后结束程序
    15 –backoff N 等待N微妙后开始运行
    16 -q, --quiet 程序在运行的过程中不输出信息
    17 -n, --dry-run 输出程序会做什么而并不实际执行相关的操作
    18 –version 显示版本号
    19 -v, --verbose 显示详细的信息
    20 
    21 #b. 烤机CPU
    22 [root@slave1 ~]# stress -c 4    # C代表核心数量 (Cores),这个根据实际情况来压测,同时利用top查看cpu
    23 #c. 烤机 MEM
    24 stress -m 3 --vm-bytes 300M  #内存压测不能写实际内存,可能会压奔溃系统,建议留些例实际1G 可以用800M样子来压测
    25 #d. 烤机多参数
    26 stress -c 4 -m 2 -d 1

    2.IO压测

    1 FIO是测试IOPS的非常好的工具,用来对磁盘进行压力测试和验证。磁盘IO是检查磁盘性能的重要指标,可以按照负载情况分成照顺序读写,随机读写,混合读写两大类。
    2 FIO是一个可以产生很多线程或进程并执行用户指定的特定类型I/O操作的工具,FIO的典型用途是编写和模拟的I/O负载匹配的作业文件。
    3 FIO是一个多线程io生成工具,可以生成多种IO模式,用来测试磁盘设备的性能(也包含文件系统:如针对网络文件系统 NFS 的IO测试)。
    4 FIO压测可以帮助管理员,提前预知磁盘瓶颈,及时作出扩容建议。也可以作为有效烤机

      FIO应用(IO压测工具)

     1 a. 环境准备  #如已创建则忽略
     2 mkdir -p /data
     3 mkfs.xfs /dev/sdb
     4 mount /dev/sdb /data
     5 dd if=/dev/zero of=/data/test bs=16k count=512000
     6 
     7 b. 安装
     8 yum install libaio libaio-devel fio
     9 
    10 c. 各类压测
    11 # 测试随机写:
    12 fio --filename=/data/test --iodepth=4 --ioengine=libaio -direct=1 --\
    13 rw=randwrite --bs=16k --size=2G --numjobs=64 --runtime=20 --group_reporting --\
    14 name=test-rand-write
    15 # 测试顺序读取:
    16 fio --filename=/data/test -iodepth=64 -ioengine=libaio --direct=1 --rw=read --\
    17 bs=1m --size=2g --numjobs=4 --runtime=10 --group_reporting --name=test-read
    18 # 测试顺序写性能
    19 fio --filename=/data/test.big -iodepth=64 -ioengine=libaio -direct=1 -rw=write\
    20 -bs=1m -size=2g -numjobs=4 -runtime=20 --group_reporting -name=test-write
    21 测试随机读:
    22 fio --filename=/data/test -iodepth=64 -ioengine=libaio -direct=1 -rw=randread -\
    23 bs=4k -size=2G -numjobs=64 -runtime=20 --group_reporting -name=test-rand-read
    24 # 16k,70%读取,30%写入:
    25 随机:
    26 fio --filename=/dev/sdb --direct=1 --rw=randrw --refill_buffers --norandommap --\
    27 randrepeat=0 --ioengine=libaio --bs=4k --rwmixread=70 --iodepth=16 --numjobs=16 -\
    28 -runtime=60 --group_reporting --name=73test
    29 有序:
    30 fio --filename=/dev/sdb --direct=1 --rw=rw --refill_buffers --norandommap --\
    31 randrepeat=0 --ioengine=libaio --bs=4k --rwmixread=70 --iodepth=16 --numjobs=16 -\
    32 -runtime=60 --group_reporting --name=73test
    33 
    34 #参数解读
    35 # 重要参数解读:
    36 --filename 需要压测的磁盘或者测试文件。
    37 --direct=1 是否绕过文件系统缓存
    38 -ioengine=libaio 采用异步或者同步IO
    39 -iodepth=64 IO队列深度。一次发起多少个IO请求,一般SSD或者flash可以较大。
    40 --numjobs=16 测试并发线程数。在RAID10或Raid5可加大参数。
    41 --rwmixread=70 混合读写,read的比例。一般读写比例28或者37。
    42 --group_reporting 统计汇总结果展示。
    43 --name 起个名。
    44 --rw=randrw 测试类型.
    45 # 结果解读  主要看IOPS 与BW(吞吐量)延迟时间(毫秒)
    46 IOPS
    47 write: IOPS=5883, BW=91.9MiB/s (96.4MB/s)(1841MiB/20020msec)          *****
    48 lat (usec): min=1677, max=78137, avg=43413.06, stdev=7210.57          *****
    49 clat percentiles (usec):
    50 | 1.00th=[23462], 5.00th=[25297], 10.00th=[26084], 20.00th=[27657],
    51 | 30.00th=[28967], 40.00th=[30278], 50.00th=[31851], 60.00th=[33162],
    52 | 70.00th=[34866], 80.00th=[36963], 90.00th=[40109], 95.00th=[42730],
    53 | 99.00th=[49021], 99.50th=[51119], 99.90th=[59507], 99.95th=[61604],
    54 | 99.99th=[64226
    55 #IOPS是IO并发数,也就是存储上对于每秒IO的并发数的支持
    56 #BW 吞吐量
    57 调整参数压测多次取平均值
    58 --numjobs=16 #服务器CPU 核心数,先调整为实际数量,再慢慢往下降去压测,去查看这个IOPS 与BW 是会有增长,延迟是否有增加
    59 -iodepth=64 
  • 相关阅读:
    Ubuntu下ATI显卡风扇转速调节脚本
    App_GlobalResources和LocalResources文件夹区别
    ubuntu下添加开机启动项
    UBUNTU安装PHP
    ubuntu apache2配置
    在ubuntu 上安装半透明玻璃窗口
    ASP.NET 页面:在此页面动态调用用户控件(.ASCX)
    Ubuntu 安装 LAMP 主机之后运行出现乱码
    Ubuntu下安装LMAP—菜鸟版
    Ubuntu 10.04风扇声音太大
  • 原文地址:https://www.cnblogs.com/linuxmysql/p/16123281.html
Copyright © 2020-2023  润新知