当前位置: 首页 > news >正文

企业网站建设的建议太原建站模板厂家

企业网站建设的建议,太原建站模板厂家,招聘网站入职分析表怎么做,做网站开发的公司哪家好sysbench 是一个非常经典的综合性能测试工具#xff0c;通常都用它来做数据库的性能压测#xff0c;但也可以用来做CPU#xff0c;IO的性能测试。而对于IO测试#xff0c;不是很推荐sysbench#xff0c;倒不是说它有错误#xff0c;工具本身没有任何问题#xff0c;它的…sysbench 是一个非常经典的综合性能测试工具通常都用它来做数据库的性能压测但也可以用来做CPUIO的性能测试。而对于IO测试不是很推荐sysbench倒不是说它有错误工具本身没有任何问题它的测试方法导致测试的数据会让人有些困惑性能数据到底是不是这样呢跟云厂商承诺的性能有关系嘛。一般我们都用FIO来进行性能测试云厂商都推荐用FIO进行性能测试通过FIO性能测试都能轻易达到云厂商承诺的性能。插曲关于sysbench的版本现在主要有0.4.12和1.0.版本。截止2006年sysbench好长时间没有发展2017年之前都是用旧版本0.4.12所以网上一搜一大堆文章都是0.4.的教程然后作者估计修了几个bug变成0.5版本然后就跟过去做了告别从2017重新开发了一个新版本sysbench 1.0.*这里讲述的性能测试都是用了最新版。1. sysbench fileio测试言归正传sysbench怎么做IO的性能测试呢sysbench fileio help,参数如下#/usr/local/sysbench_1/bin/sysbench fileio help sysbench 1.0.9 (using bundled LuaJIT 2.1.0-beta2)fileio options:--file-numN number of files to create [128]--file-block-sizeN block size to use in all IO operations [16384]--file-total-sizeSIZE total size of files to create [2G]--file-test-modeSTRING test mode {seqwr, seqrewr, seqrd, rndrd, rndwr, rndrw}--file-io-modeSTRING file operations mode {sync,async,mmap} [sync]--file-async-backlogN number of asynchronous operatons to queue per thread [128]--file-extra-flagsSTRING additional flags to use on opening files {sync,dsync,direct} []--file-fsync-freqN do fsync() after this number of requests (0 - dont use fsync()) [100]--file-fsync-all[on|off] do fsync() after each write operation [off]--file-fsync-end[on|off] do fsync() at the end of test [on]--file-fsync-modeSTRING which method to use for synchronization {fsync, fdatasync} [fsync]--file-merged-requestsN merge at most this number of IO requests if possible (0 - dont merge) [0]--file-rw-ratioN reads/writes ratio for combined test [1.5]复制代码sysbench的性能测试都需要做prepare,run,cleanup这三步准备数据跑测试删除数据。那下面就开始实战客户用2C4G的vm,挂载120G的SSD云盘做了性能测试测试命令如下cd /mnt/vdb #一定要到你测试的磁盘目录下执行否则可能测试系统盘了 sysbench fileio --file-total-size15G --file-test-moderndrw --time300 --max-requests0 prepare sysbench fileio --file-total-size15G --file-test-moderndrw --time300 --max-requests0 run sysbench fileio --file-total-size15G --file-test-moderndrw --time300 --max-requests0 cleanup复制代码结果如下File operations:reads/s: 2183.76writes/s: 1455.84fsyncs/s: 4658.67Throughput:read, MiB/s: 34.12written, MiB/s: 22.75General statistics:total time: 300.0030stotal number of events: 2489528Latency (ms):min: 0.00avg: 0.12max: 204.0495th percentile: 0.35sum: 298857.30Threads fairness:events (avg/stddev): 2489528.0000/0.00execution time (avg/stddev): 298.8573/0.00复制代码随机读写性能好像不咋地换算IOPS为(34.1222.75)*1024/16.3843554.375与宣称的5400IOPS有很大差距。眼尖的人肯定发现只有2个核去遍历128个文件好像会降低效率于是定制file-num去做了系列测试测试结果如下file-num1248163264128read(MB/s)57.5157.357.3657.3355.1247.7241.1134.12write(MB/s)38.3438.238.2438.2236.7531.8127.422.75明显可以看到默认测试方法会导致性能下降文件数设置为1达到最大性能。那file-num128与file-num1的区别是测试文件从128个变成1个但是总文件大小都是15G都是随机读写按理性能应该是一致的区别是会在多个文件之间切换读写那么可能会导致中断增加和上下文切换开销增大。通过vmstat命令得到了验证file-num128的vmstat输出是这样的file-num1的vmstat输出是这样的从上面两个图可以看出file-num1的时候上下文切换只有8500左右比file-num128的时候24800小多了in中断也少太多了。减少了中断和上下文切换开销吞吐能力显著提升了。再做了一个实验同样磁盘大小改成挂载到8C的vm下改成8线程进行测试得到如下数据file-num1248163264128read(MB/s)253.08209.86193.38159.73117.9886.7867.3951.98write(MB/s)168.72139.9128.92106.4978.6657.8544.9334.65可以得出同样的结论file-num1可以得到最好的性能理由如上。2. 与fio测试的比较单进程下file-num1换算到IOPS为(57.5138.34)*1024/16.3845990.625这好像超过我们的IOPS设置限定了。通过fio是怎么测得这个IOPS的呢fio -direct1 -iodepth128 -rwrandrw -ioenginelibaio -bs4k -size1G -numjobs1 -runtime1000 -group_reporting -filenameiotest -namerandrw_test复制代码通过阅读源代码发现很多不同一个是通过libaio一个是通过pwrite/pread。libaio的性能是非常强劲的详情可以参考文章。即使ioenginepsync这个engine的读写方法是pread和pwrite但是整个实现也是不一致的。fio测试的时候direct1就是每次都写入磁盘而sysbench默认file-fsync-freq100也就是完成100次操作才会有一个fsync操作这种操作涉及系统缓存。3. 深入一步上节认为操作系统干扰以及io读写方式的差异造成了测试数据的不一致。深入去研究了下源代码其实sysbench的作者是提倡用libaio代码里面大量地运用了宏定义如/* 异步写的截取代码 */ #ifdef HAVE_LIBAIOelse if (file_io_mode FILE_IO_MODE_ASYNC){/* Use asynchronous write */io_prep_pwrite(iocb, fd, buf, count, offset);if (file_submit_or_wait(iocb, FILE_OP_TYPE_WRITE, count, thread_id))return 0;return count;} #endif复制代码那怎么启用这个宏呢默认就是启用这个宏的。启用这个宏后执行sysbench fileio help,会发现有这一项--file-async-backlogN number of asynchronous operatons to queue per thread [128]说明HAVE_LIBAIO这个宏确实生效了。既然sysbench默认有libaio后那整个测试方法需要调整# --file-extra-flagsdirect 文件读写模式改成direct # --file-io-modeasync 确保libaio起效 # --file-fsync-freq0 不需要执行fsync sysbench fileio --file-total-size15G --file-test-moderndrw --time300 --max-requests0 --file-io-modeasync --file-extra-flagsdirect --file-num1 --file-rw-ratio1 --file-fsync-freq0 run复制代码得到测试结果如下对于FIO命令也进行了调整把bs调整成16k其他不变还是达到上限5400。测试结果如下可以看到sysbench测试的效果与fio的测试效果完全一致不过个人还是推荐FIO来做IO的性能测试。转载于:https://juejin.im/post/5c1c9ce5e51d451ffd254011
http://www.zqtcl.cn/news/577017/

相关文章:

  • 提供微信网站建设福州seo建站
  • 泉州市住房与城乡建设网站潍坊网站建设方案外包
  • 网络文化经营许可证怎么申请免费seo提交工具
  • 网站建设 需求分析报告手机网站微信网站开发
  • 做司法考试题目的网站建站中企动力
  • 做360网站优化ppt模板免费下载千图网
  • 网站域名哪些后缀更好项目推广平台有哪些
  • 做游戏特效的网站网站开发中安全性的防范
  • 阿里云网站建设好用吗齐诺网站建设
  • 中小企业网站建设行情嘉兴公司的网站设计
  • 做服装有哪些好的网站台州网站建设多少钱
  • 任县网站建设公司北京网站开发网站开发公司
  • 重庆seo网站策划网站的tdk指的是什么
  • 自做刷赞网站山东东成建设咨询有限公司网站
  • 泉州网站制作推广网站建设一年多少
  • 超大型网站建设公司网站打开显示建设中
  • 惠东县网站建设建设方案
  • 怎么把做的网站发布长春建网站
  • 织梦网站手机端郑州网站制作公司名单
  • 如何建设网站安全网站桥页也叫
  • 南浔网站建设昆山智能网站开发
  • 阿里云可以做电商网站吗杭州网站建设浙江
  • 查询网站备案进度网站建设推广
  • 怎么做公司网站需要什么科目高端网站建设教学
  • 资讯平台网站模板中企中立做的网站好吗
  • 网站开发人员配备山西省吕梁市简介
  • 网站注销主体注销中国建设教育协会培训报名网站
  • 电商网站设计思想建设化妆品网站的成本
  • 做房产网站能赚钱吗深圳龙华区邮政编码
  • 网站开发素材代码手机网站 win8风格