UNIX 网络性能分析


了解 UNIX? 网络布局会帮助您了解自己的网络及其运行方式。但是,当 UNIX 网络性能和传输文件或连接服务的速度突然下降时,究竟发生了什么?如何诊断网络问题并找到网络中出现问题的地方?本文介绍一些快速发现和识别性能问题的方法以及解决问题的步骤。

简介

网络的性能对于环境其余部分的性能和可靠性影响很大。如果应用程序和服务等待通过网络传输的数据,或者客户机无法连接它们或接收信息,就需要解决这些问题。

性能问题还会影响应用程序和环境的可靠性。性能问题可能由网络故障导致,在某些情况下性能问题甚至是网络故障的原因。要想了解和诊断网络问题,首先需要了解问题的性质;问题往往与延时或带宽相关。

在一般情况下,网络性能问题常常与底层硬件有关;无法突破网络环境的物理限制。所有性能问题还常常与某种协议或系统相关,比如 NFS 或 Web 访问。但是,可以在操作系统中诊断和识别问题,决定正确的纠正措施。

本文讨论识别性能问题涉及的几个步骤:

确定基线性能水平

判断发生问题的位置

获得统计数据

识别瓶颈

了解网络指标

要想了解和诊断性能问题,首先需要确定基线性能水平。首先介绍在判断基线性能时使用的两个重要概念:网络延时和网络带宽。

网络延时

网络延时是向目的地发送请求到目的地实际接收到数据包之间的时间间隔。作为网络性能指标,延时增加说明网络繁忙,这意味着要传输的数据包数量超过了传输能力,数据的发送者在传输或重新传输之前必须等待。

当网络的复杂性以及数据包要经过的主机或网关数量增加时,也会增加网络延时。点之间的线缆长度也会影响延时。对于长距离线路,传统的铜线总是比光纤连接慢。

网络延时与应用程序延时不同。网络延时只与通过网络传输数据包相关,而应用程序延时是指应用程序接收请求到它做出响应之间的时间间隔。

网络带宽

带宽表示在特定的一段时间内可以通过网络传输的数据包数量。带宽影响可以传输的数据量,它把向一个主机传输数据的速度限制为网络连接支持的最大速度,在使用多个并发连接时限制总传输速度。

从理论上说,网络带宽应该不会变,除非改变网络接口和硬件。影响网络带宽的主要因素是在给定时刻使用网络的主机数量。

例如,1GB 的以太网接口可以向另一个网络主机传输 1GB 数据,或向 10 个主机同时传输 100MB,或向 100 个主机同时传输 10MB。当然,实际上常常不需要稳定的带宽。在一段时间内会有来自大量主机的许多小请求,服务器的可用带宽看起来可以比客户机带宽的总和大得多。

获得统计数据

在判断网络中是否发生问题之前,需要先确定基线性能,然后据此做出假设。为此,必须通过检查各种网络参数(与网络应用程序环境相关的延时、性能和测试)判断性能,然后监视和对比性能随时间的变化。

应该在可控制的状况下执行基线网络测试。在理想情况下,应该在隔离(没有其他网络通信流)和有典型的网络通信流两种场景中执行测试,这会提供两个基线:

对于隔离监视,应该在网络上没有其他通信流的情况下,检查服务器与一个或多个客户机之间的性能。这意味着要么关闭其他服务,要么把服务器和客户机放在一个隔离的网络环境中,这个环境与标准网络环境完全隔离(但是完全相同)。

对于标准监视,应该把客户机和服务器连接到标准网络,网络上有正常的背景通信流,但是除了要测试的服务器之外,禁用所有与应用程序相关的通信流(比如电子邮件、文件服务、Web 服务)。

对于实际测试过程,可以使用许多标准工具和测试判断基线值。

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 下一页

相关内容