1、基本概念

1.1 吞吐量

1.1.1 基本概念

    计算机系统的吞吐量是指流入,处理和流出系统的信息的速率;它取决于信息能够多快地输入内存,CPU能够多快地取指令,数据能够多快地从内存取出或存入,以及所得结果能够多快地从内存送给一台外围设备     

1.1.2 吞吐量单位

    吞吐量测试结果以 比特/秒 或 字节/秒 表示     

1.1.2 吞吐量测试

    在测试中以一定速率发送一定数量的帧,并计算待测设备传输的帧,如果发送的帧与接收的帧数量相等,那么就将发送速率提高并重新测试;如果接收帧少于发送帧则降低发送速率重新测试,直至得出最终结果     

1.2 防火墙 和 吞吐量

1.2.1 基本概念

    吞吐量是指在不丢包的情况下单位时间内通过防火墙的数据包数量;防火墙作为内外网之间的唯一数据通道,对每个数据包的处理要耗费资源,如果吞吐量太小,就会成为网络瓶颈,给整个网络的传输效率带来负面影响     

1.2.2 防火墙效率

    吞吐量的大小主要由防火墙内网卡,及程序算法的效率决定,尤其是程序算法;大多数防火墙虽号称100M防火墙,由于其算法依靠软件实现,通信量远远没有达到100M,实际只有10M-20M;纯硬件防火墙,由于采用硬件进行运算,因此吞吐量可以达到线性90-95M,是真正的100M防火墙。     

1.3 带宽 和 吞吐量

    吞吐量和带宽是很容易搞混的一个词,两者的单位都是Mbps          * 带宽: Max net bitrate ,一般是指链路上每秒所能传送的比特数链路上的可用带宽         * 吞吐量:throughput ,实际链路中每秒所能传送的比特数,我们倾向于用“吞吐量”来表示一个系统的测试性能     

1.4 request 和 吞吐量

    一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联;单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高     

2、网络 I/O

2.1 网络 I/O 评估

2.1.1 I/O 模型

    针对某一个特定的场景来建立模型,用于IO容量规划以及问题分析,基本的网络io模型包含以下几部分         * IOPS         * 带宽          IO的尺寸(大小)     

2.1.2 网络 I/O 特点

    当存储中提到IOPS最大能力的时候,一般采用随机小IO进行测试,此时占用的带宽是非常低的,响应时间也会比顺序的IO要长很多;如果将随机小IO改为顺序小IO,那么IOPS还会更大;当测试顺序大IO时,此时带宽占用非常高,但IOPS却很低     

2.1.3 网络 I/O 评估工具

    ping:最基本的,可以指定包的大小     iperf、ttcp:测试tcp、udp协议最大的带宽、延时、丢包     

2.2 网络I/O 监测

2.2.1 带宽

    nmon     sar     

2.2.2 响应时间

    简单的方法,可采用ping命令查看ping的延时是否在合理范围,是否有丢包现象  

2.3 网络 I/O 性能定位、优化

    通过网络抓包和分析的工具,诊断网络的延时、丢包等异常情况出现在哪一段,然后具体分析       

3、磁盘I/O

3.1 磁盘 I/O 评估

3.1.1 I/O 模型

    针对某一个特定的场景来建立模型,用于IO容量规划以及问题分析,基本磁盘 io模型包含以下几部分        *OPS         *宽         *O的尺寸(大小)         *盘IO分别在哪些盘         *IO和写IO的比例         *IO是顺序的还是随机的         *IO是顺序的还是随机的     

3.1.2 磁盘 I/O 特点

    当存储中提到IOPS最大能力的时候,一般采用随机小IO进行测试,此时占用的带宽是非常低的,响应时间也会比顺序的IO要长很多;如果将随机小IO改为顺序小IO,那么IOPS还会更大;当测试顺序大IO时,此时带宽占用非常高,但IOPS却很低     

3.1.3 磁盘 I/O 评估工具

    磁盘IO能力的评估工具有很多,例如orion、iometer,dd、xdd、iorate,iozone,postmark     

3.2 磁盘I/O 监测

    iostat     

3.3 磁盘 I/O 性能定位、优化

    有过多不必要的读写;例如减少不必要的读写,降低日志等级等