zoukankan      html  css  js  c++  java
  • 针对文件系统和网络性能的测试

    由于工作需要,需要对文件系统和网络性能等进行测试:

    一、文件系统测试

    fio: 直接读取盘符下的data目录,测试结果和自己写程序,open(,DIRECT_IO)的结果几乎相近,很有说服力。

    iozone:能测多种读写方式,还能自动生成测试报告,可惜,即使指定屏蔽缓存,测试结果也不如fio真实。

    dd:这是最简单的测试工具了

    测试读:dd if=filepath of=/dev/null bs=2M count=512

    测试写:dd if=/dev/zero of=filepath bs=2M count=512

    经过测试基本可以得到如下结论:

    1. iozone指定-I选项后(屏蔽系统缓存),读的效率是原来的1/10,写的性能比原来略高;

    2. fread和fwrite有自己的缓冲区大小,在指定的缓冲区逐渐变大的过程中,fread的效率呈现为锯齿波状;

    3. dd在测试的时候,最好选择比内存大的文件来进行测试;而且以第一次的为准。(猜测应该是读文件的时候,系统把磁盘中的内容通过换页缓存到了内存中,如果文件可以是内存的两倍,那么可以很好地把内存清洗一遍,测试结果也就会更真实;当然写的时候也会在不断刷新内存的时候强制把数据刷到磁盘中,文件越大,测试结果也就越真实)

    4. 测试结果:

    SAS的读250MB/s左右,

    SSD的读870MB/s左右;

    RAID之后的SAS,RAID几就是几倍,当然会有损耗,10个的读1.6GB/s;

    MFS不管chunkserver在SAS或SSD上,同一台服务器,读都约为100MB/s;

    二、网络带宽测试

    1、iperf:通过调整窗口来测试带宽的,测试的结果应该接近真实,但是相对于实际应用偏高;

    2、ethtool -eth0:可以直观的看见指定网卡的带宽;

    3、wget、curl等:在服务端部署文件和nginx服务器,客户服务器下载把目标文件指向/dev/null,测试结果肯定比前两个的低。

    4、测试结果:(实际上网卡是肯定跑不满的)

    千兆网卡,最大带宽:117MB/s 

    百兆网卡,最大带宽:12MB/s

  • 相关阅读:
    动态代理,反射的用途及实现
    谈一谈web.xml中的context-param和init-param
    后端程序员需要了解的前端知识(持续更新中)
    angularJS要点记录,$location,$http等等
    HTTP1.0和HTTP2.0的区别,以及HTTP和HTTPS的区别
    浅谈Fork/Join框架
    ConcurrentHashMap 的工作原理及源码分析,如何统计所有的元素个数
    HTTP协议常见的状态码
    图解HTTP,状态码,TCP、UDP等网络协议相关总结(持续更新)
    jmeter(五)JDBC Request
  • 原文地址:https://www.cnblogs.com/bugutian/p/5930483.html
Copyright © 2011-2022 走看看