linux服务器性能测试软件 linux 性能测试软件
摘要:如何测试两台linux服务器之间的连接速度?有什么命令或软件可以做到 一、为什么选择了iperf之前做了一个项目,说要测试两台服务器之间的带宽,本想通过拷贝来进行测试,后来客户觉得得出的数据没有说...
发布日期:2020-11-12如何测试两台linux服务器之间的连接速度?有什么命令或软件可以做到...
一、为什么选择了iperf之前做了一个项目,说要测试两台服务器之间的带宽,本想通过拷贝来进行测试,后来客户觉得得出的数据没有说服性,于是改拿工具来进行测试。
我们这回用的工具名字叫iperf。
iperf它是一款网络性能测试的工具,分为多个版本:Linux版、UNIX版、Windows版。
相比之下,Windows版更新的比较慢,而UNIX和Linux版本更新起来更快,现在最新版本是2.05,而他安装简单、方便,而且测试的出的结果很靠谱。
二、iperf的安装iperf安装起来十分简单,只需要执行几条命令即可,因为下载的是源码,所以我们需要编译一下。
./configuremakemake install安装完毕之后,我们应该就能直接使用iperf这个软件了。
如果没法正常使用,请到其安装目录下尝试。
其安装路应该为”/usr/local/bin/”目录下。
三、进行测试环境介绍:两台服务器,IP地址分别为192.168.0.1和192.168.0.2在192.168.0.1上执行如下命令:# iperf -s------------------------------------------------------------ServerlisteningonTCPport5001TCPwindowsize:85.3KByte(default)------------------------------------------------------------这条命令的意思是,在192.168.0.1的这台服务器上,开启服务模式。
然后在192.168.0.2这台机器上执行如下命令:# iperf -c 192.168.0.1------------------------------------------------------------Client connecting to 192.168.0.1, TCP port 5001TCP window size: 16.0 KByte (default)------------------------------------------------------------[ 3] local 192.168.0.2 port 16265 connected with 192.168.0.1 port 5001[ ID] Interval Transfer Bandwidth[ 3] 0.0-10.0 sec 114 MBytes 94.8 Mbits/sec以此类推,我们也可以测试出从192.168.0.1这台服务器到192.168.0.2这台服务器的网络带宽。
[ 4]local192.168.0.1port5001connectedwith192.168.0.2port16265[ID]Interval Transfer Bandwidth[ 4] 0.0-10.1sec 114MBytes 95.2Mbits/sec由此,我们可以推断出,两台服务器之间为百兆带宽。
如何对Linux内核进行压力测试?
Linux 标准测试的设计过程 自动软件测试让您可以在一段时间内运行相同的测试,从而确保您所比较的内容具备真正的可比性。
在本文中,Linux Test Poject 团队的成员们分享了他们对 Linux? 内核进行压力所使用的测试的方法、原理以及脚本和工具。
在对 Linux 内核版本稳定性的测试中,需要明确地声明并证明为什么版本是稳定的或者是不稳定的。
然而还没有被证明和证实当前现有的系统范围内的压力测试可以测试 Linux 内核整体上的稳定性。
本文给出了一个创建系统范围内 Linux 压力测试并证明其结果正确性的方法。
不同的 Linux 开发者、用户和发行版本会使用他们自己的方法来测试内核的稳定性。
不过,关于他们决定运行哪些测试、覆盖的代码、达到的压力级别等的基础信息都没有发布,这就大大降低了结果的价值。
使用实验室的机器以及来自 Linux Test Poject 测试套件的测试,我们基于系统资源的利用率统计开发了一个测试的组合,为系统提供足够的压力。
我们对这个组合测试进行了分析,以确定 Linux 内核的哪些部分在测试执行中得到了使用。
然后,我们修改了组合测试,在保持期望的高强度系统压力的同时提高代码覆盖率的百分比。
最终得到的压力测试涵盖了 Linux 内核的足够多部分,有助于稳定性声明,并且有系统使用情况和内核代码覆盖情况的数据来支持它。
这一组合测试方法的四个步骤是:测试选择、系统资源利用率评价、内核代码覆盖分析以及最终的压力测试评价。
选择测试 测试选择包括选择达成两方面目的的测试: 测试应该可以得到 CPU(s)、内存、IO 和网络等主要内核区域的高水平的资源利用率。
测试应该充分地覆盖内核代码,以帮助支持自其结果中生成的稳定性声明。
只要有可能,都要使用自动化的或者易于修改的测试,以支持自动操作。
自动操作可以使得测试更快而且可以重复进行,并帮助降低人为错误的风险。
选择合适的测试时需要考虑的另一个方面是,使用可以自由发布结果的应用程序。
最好是选择坚决拥护开放源代码方法和或 GPL 的测试和测试套件,以助于确保发布过程的简便。
评价系统资源利用率 所选择的测试的组合必须给系统的资源带来足够的压力。
Linux 内核的四个主要方面可以影响系统的响应和执行时间: CPU:用于在机器的 CPU(s)上处理数据的时间。
Memoy:用于自真实存储器中读写数据的时间。
IO:用于自磁盘存储器读写数据的时间。
Netwoking:用于自网络读写数据的时间。
测试设计者应该使用下面这两个着名的且广为应用的开放源代码 Linux 资源监控工具来评价资源利用率水平。
(请参阅本文稍后的 参考资料 以获得下载这些工具的链接。
) top:由 Alet D. Cahalan 维护着的一个开放源代码工具,包含于大部分 Linux 发行版本中,可用于当前的 2.4 和 2.6 内核。
sa:另一个开放源代码工具;它由 Seastien Godad 维护。
这个工具也包含于大部分 Linux 发行版本中,可用于当前的 2.4 和 2.6 内核。
方法中的系统资源利用率评价阶段通常需要多次尝试才能得到合适的测试组合,并得到期望水平的利用率。
当确定测试组合时,过度利用总是一个至关重要的问题。
例如,如果选择的组合过于受 IO 所限,可能会导致 CPU 的测试结果不好,反之亦然。
方法的这一部分主要是大量的试验和出错,直到所有资源达到期望水平。
top 工具可用于迅速确定每个测试影响哪个资源(CPU、内存或者 IO),并实时地显示出它们使用了多少资源。
sa 工具用于收集一段时间内的网络利用率统计数据,并将所有利用率数据的快照记录到一个文件。
当选定一个组合后,测试必须长时间运行以准确评价资源的利用率。
测试运行的时间长短取决于每个测试的长度。
假如多个测试同时运行,则时间必须足够长以使得这些测试中最长的那个可以完成。
在这个评价过程中,sa 工具也应该在运行。
在评价运行的结论中,您应该收集并评价所有四种资源的利用率水平。
linux系统怎样查看服务器性能命令
通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解。
uptimedmesg | tailvmstat 1mpstat -P ALL 1pidstat 1iostat -xz 1free -msar -n DEV 1sar -n TCP,ETCP 1top其中一些命令需要安装sysstat包,有一些由procps包提供。
这些命令的输出,有助于快速定位性能瓶颈,检查出所有资源(CPU、内存、磁盘IO等)的利用率(utilization)、饱和度(saturation)和错误(error)度量,也就是所谓的USE方法。
下面我们来逐一介绍下这些命令,有关这些命令更多的参数和说明,请参照命令的手册。
uptime$ uptime23:51:26 up 21:31, 1 user, load average: 30.02, 26.43, 19.02这个命令可以快速查看机器的负载情况。
在Linux系统中,这些数据表示等待CPU资源的进程和阻塞在不可中断IO进程(进程状态为D)的数量。
这些数据可以让我们对系统资源使用有一个宏观的了解。
命令的输出分别表示1分钟、5分钟、15分钟的平均负载情况。
通过这三个数据,可以了解服务器负载是在趋于紧张还是区域缓解。
如果1分钟平均负载很高,而15分钟平均负载很低,说明服务器正在命令高负载情况,需要进一步排查CPU资源都消耗在了哪里。
反之,如果15分钟平均负载很高,1分钟平均负载较低,则有可能是CPU资源紧张时刻已经过去。
上面例子中的输出,可以看见最近1分钟的平均负载非常高,且远高于最近15分钟负载,因此我们需要继续排查当前系统中有什么进程消耗了大量的资源。
可以通过下文将会介绍的vmstat、mpstat等命令进一步排查。
dmesg | tail$ dmesg | tail[1880957.563150] perl invoked oom-killer: gfp_mask=0x280da, order=0, oom_score_adj=0[...][1880957.563400] Out of memory: Kill process 18694 (perl) score 246 or sacrifice child[1880957.563408] Killed process 18694 (perl) total-vm:1972392kB, anon-rss:1953348kB, file-rss:0kB[2320864.954447] TCP: Possible SYN flooding on port 7001. Dropping request. Check SNMP counters.该命令会输出系统日志的最后10行。
示例中的输出,可以看见一次内核的oom kill和一次TCP丢包。
这些日志可以帮助排查性能问题。
千万不要忘了这一步。
vmstat 1$ vmstat 1procs ---------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st34 0 0 200889792 73708 591828 0 0 0 5 6 10 96 1 3 0 032 0 0 200889920 73708 591860 0 0 0 592 13284 4282 98 1 1 0 032 0 0 200890112 73708 591860 0 0 0 0 9501 2154 99 1 0 0 032 0 0 200889568 73712 591856 0 0 0 48 11900 2459 99 0 0 0 032 0 0 200890208 73712 591860 0 0 0 0 15898 4840 98 1 1 0 0^Cvmstat(8) 命令,每行会输出一些系统核心指标,这些指标可以让我们更详细的了解系统状态。
后面跟的参数1,表示每秒输出一次统计信息,表头提示了每一列的含义,这几介绍一些和性能调优相关的列:r:等待在CPU资源的进程数。
这个数据比平均负载更加能够体现CPU负载情况,数据中不包含等待IO的进程。
如果这个数值大于机器CPU核数,那么机器的CPU资源已经饱和。
free:系统可用内存数(以千字节为单位),如果剩余内存不足,也会导致系统性能问题。
下文介绍到的free命令,可以更详细的了解系统内存的使用情况。
si, so:交换区写入和读取的数量。
如果这个数据不为0,说明系统已经在使用交换区(swap),机器物理内存已经不足。
us, sy, id, wa, st:这些都代表了CPU时间的消耗,它们分别表示用户时间(user)、系统(内核)时间(sys)、空闲时间(idle)、IO等待时间(wait)和被偷走的时间(stolen,一般被其他虚拟机消耗)。
上述这些CPU时间,可以让我们很快了解CPU是否出于繁忙状态。
一般情况下,如果用户时间和系统时间相加非常大,CPU出于忙于执行指令。
如果IO等待时间很长,那么系统的瓶颈可能在磁盘IO。
示例命令的输出可以看见,大量CPU时间消耗在用户态,也就是用户应用程序消耗了CPU时间。
这不一定是性能问题,需要结合r队列,一起分析。
mpstat -P ALL 1$ mpstat -P ALL 1Linux 3.13.0-49-generic (titanclusters-xxxxx) 07/14/2015 _x86_64_ (32 CPU)07:38:49 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle07:38:50 PM all 98.47 0.00 0.75 0.00 0.00 0.00 0.00 0.00 0.00 0.7807:38:50 PM 0 96.04 0.00 2.97 0.00 0.00 0.00 0.00 0.00 0.00 0.9907:38:50 PM 1 97.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 2.0007:38:50 PM 2 98.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 1.0007:38:50 PM 3 96.97 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 3.03[...]该命令可以显示每个CPU的占用情况,如果有一个CPU占用率特别高,那么有可能是一个单线程应用程序引起的。
pidstat 1$ pidstat 1Linux 3.13.0-49-generic (titanclusters-xxxxx) 07/14/2015 _x86_64_ (32 CPU)07:41:02 PM UID PID %usr %system %guest %CPU CPU Command07:41:03 PM 0 9 0.00 0.94 0.00 0.94 1 rcuos/007:41:03 PM 0 4214 5.66 5.66 0.00 11.32 15 mesos-slave07:41:03 PM 0 4354 0.94 0.94 0.00...
Linux性能监控有何特点?
关于Linux性能监控相信大家已经小有了解,对于IO篇,让我们先分析一些具体的情况,在这些情况下IO会成为系统的瓶颈。
我们会用到工具top,vmstat,iostat,sa等。
每一个工具的输出都从不同的方面反映除系统的性能情况。
Linux性能监控情况1:同一时间进行大量的IO操作 在这种情况时我们会发现CPU的wa时间百分比会上升,证明系统的idle时间大部分都是在等待IO操作。
# vmstat 1 pocs -----memoy----- ---swap---io---- --system--cpu---- swpd fee uff cache si so i o in cs us sy id wa 3 2 0 55452 9236 1739020 0 0 9352 0 2580 8771 20 24 0 57 2 3 0 53888 9232 1740836 0 0 14860 0 2642 8954 23 25 0 52 2 2 0 51856 9212 1742928 0 0 12688 0 2636 8487 23 25 0 52 从这个输出我们可以看到CPU有50%的时间都在等待IO操作,我们还可以看到系统的i值很大,证明系统有大量的IO请求将磁盘内容读入内存。
没有很好的工具能看到到底是哪个进程在进行IO读写。
但我们可以通过top命令的输出来猜测 # top -d 1 top - 19:45:07 up 1:40, 3 uses, load aveage: 6.36, 5.87, 4.40 Tasks: 119 total, 3 unning, 116 sleeping, 0 stopped, 0 zomie Cpu(s): 5.9% us, 87.1% sy, 0.0% ni, 0.0% id, 5.9% wa, 1.0% hi, 0.0% si Mem: 2075672k total, 2022668k used, 53004k fee, 7156k uffes Swap: 2031608k total, 132k used, 2031476k fee, 1709372k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ nFLT COMMAND 3069 oot 5 -10 450m 303m 280m S 61.5 15.0 10:56.68 4562 vmwae-vmx 3016 oot 5 -10 447m 300m 280m S 21.8 14.8 12:22.83 3978 vmwae-vmx 3494 oot 5 -10 402m 255m 251m S 3.0 12.6 1:08.65 3829 vmwae-vmx 3624 oot 5 -10 401m 256m 251m S 1.0 12.6 0:29.92 3747 vmwae-vmx 将top的输出通过faults进行排序。
我们可以看到vmwae产生最多的page faults。
Linux服务器整体性能监控攻略 Linux服务器如何监控整体性能?
Linux服务器性能监测是很重要的工作,服务器运行应该提供最有效的系统性能。
当服务器系统性能突然低于平均应有的情况,问题可能来自在执行的进程、内存的使用率、磁盘的性能、网络流量和CPU 的压力。
在预算短缺的今天,理解如何优化系统性能比以往任何时候都重要。
要实现它的前提是,你必须充分了解自己的计算机和网络,从而找到真正的瓶颈所在。
本文提供一些基础的工具来辨别和处理一些性能问题。
使用的Linux 发行版本是Red Hat Enterprise Linux 4,工作过程是:首先查看整个系统的状态,然后是检查特定的子系统。
Linux服务器进行性能监控有几种方法,每种方法都各有其优缺点。
使用SNMP等标准工具标准及非标准工具能执行一个或多个收集、合并及传输阶段,如rstatd或SNMP工具,然而标准的rstat后台程序提供的信息是有限的,速度慢而且效率低。
内核模块几个系统监控工程利用内核模块来存取监控数据。
一般情况下,这是很有效的收集系统数据的方法。
然而这种方法存在的问题是,当主内核源内有其它改变时,必须保持代码一致性。
一个内核模块可能与用户想使用的其它内核模块相冲突。
此外,在使用监控系统之前,用户必须获得或申请模块。
/proc虚拟文件系统/proc虚拟文件系统是一个较快的、高效率执行系统监控的方法。
使用/proc的主要缺点是必须保持代码分析与/proc 文件格式改变的同步。
事实表明,Linux内核的改变比/proc 文件格式的改变要更频繁,所以,用/proc虚拟文件系统比用内核模块存在的问题要少。
本文介绍的方法即基于/proc虚拟文件系统。
一、 /proc文件系统特点Linux 系统向管理员提供了非常好的方法,使他们可以在系统运行时更改内核,而不需要重新引导内核系统。
这是通过 /proc 虚拟文件系统实现的。
/proc 文件虚拟系统是一种内核和内核模块用来向进程 (process) 发送信息的机制 (所以叫做 /proc)。
这个伪文件系统让你可以和内核内部数据结构进行交互,获取 有关进程的有用信息,在运行中 (on the fly) 改变设置 (通过改变内核参数)。
与其他文件系统不同,/proc 存在于内存之中而不是硬盘上。
不用重新启动而去看 CMOS ,就可以知道系统信息。
这就是 /proc 的妙处之一。
小提示: 每个Linux系统根据软硬件不同/proc 虚拟文件系统的内容也有些差异。
/proc 虚拟文件系统有三个很重要的目录:net,scsi和sys。
Sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。
什么是Linux系统性能测试与分析?
通过对系统中和性能相关的各个环节的介绍,使大家知道出现性能问题时可以从那些方面入手去查,而分析典型应用对系统资源使用的特点,让大家对应用和系统资源的依赖有了更直观的认识。
大多数的硬件性能问题主要和CPU、磁盘、内存相关,还没有遇到因为开发语言的运行效率对整个应用的性能造成影响,而应用程序设计的缺陷和数据库查询的滥用反倒是最最常见的性能问题。
需要注意的是,大多数情况下,虽然性能瓶颈的起因是程序性能差或者是内存不足或者是磁盘瓶颈等各种原因,但最终表现出的结果就是CPU耗尽,系统负载极高,响应迟缓,甚至暂时失去响应,因此我们观察服务器状况时,最先看的就是系统负载和CPU空闲度。
当你阅读完了这遍文档以后就会有一个对系统分析的思路。
Linux服务器的设计高性能网站架构有哪些呢?
1, 选择高性能 OS 首先,不难理解,任何一个seve最底层的支撑还是OS,而OS的选择,主要包括 Unix, Windows seve, Linux, BSD等等。
其中,开源的OS,有Linux, BSD及部分unix。
从目前使用情况来看,Linux还是网站首选OS之一。
但是,Linux由于其自由的特点,也给选择产生了一些不便 - 发行版太多。
现有的主流版本包括 ed hat(RHEL), Uuntu, 红旗, openSuSE, deian等。
其中,每一个发行版都有自己的特色,比如RHEL的稳定,Uuntu的易用,红旗的中文支持很棒等。
但要以性能为主,又兼顾稳定,易用性,以上都不是最佳选择。
这里推荐一个发行版,它是一个极限性能,加高度可定制,优化的 Linux - gentoo。
gentoo的性能优化是从kenel源码编译就开始入手了,通过选择不同的源码包,可以适应于不同的应用场景。
(不同内核介绍: http:imkenwu.javaeye.comlog168906 ) 举个经典的例子:国内,douan.com 在定制优化过的 gentoo 上跑的we服务器最高一天支撑了 2500 万pv。
http:www.danotes.netachdouan_we_seve.html 这种流量,哪怕是提供纯静态的内容,也是很恐怖的。
而支持这种大流量的,除了seve本身,最关键的就是高度精简的OS了。
所以,综上所述,高性能网站推荐使用可优化,定制的 gentoo 作为载体。
2, 选择高性能 we seve Apache是 LAMP 架构最核心的 we seve, 开源,模块丰富,功能强大,稳定是它的绝对优势。
在美国前100个网站中,有49%的使用apache。
可见其影响力。
但是,有利有弊,apache的致命缺陷,就是多于臃肿,强大的功能,一定会带来性能上的损耗。
面对这种情形,在市场上,有一支异军突起,那就是更轻量级的 we seve - lighty(lighttpd)。
官方为它定义的口号是 fly light。
它具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块支持等特点。
这让他在短时间内占据了14%以上的市场份额。
并且有越来越多的人开始选择使用lighty作为前端 we seve。
到这里为之,其实高性能 we seve 非 lighty 莫属。
但更棒的是,依靠 gentoo 的高度定制化,我们还可以 进一步提升 lighty 的性能潜力-那就是定制 lighty。
3,选择高性能 dataase 数据库是任何网站走动态化内容展现及业务数据存储的保障。
市面上的开源数据库主要有 mysql , postgesql , ekeley d, sqlite 等。
其中,对比一下, mysql : 多线程,多处理器,高性能,5.0以上支持事务,丰富数据类型和sql语法,跨平台。
postgesql : 面向对象,集成we,支持事务,使用进程,速度略慢于mysql. ekeley d : 嵌入式,数据操作通过接口完成,跨语言。
sqlite : 与php集成,支持ACID特性,支持大并发量,库锁。
从上面的对比中,不难看出,mysql 应该是性能,稳定性与功能性的综合之选。
4,选择高性能 scipt language 能与 lighty 结合的脚本语言,主要有 uy, php, python, pel。
方式主要是通过 fast-cgi 来访问。
只从性能角度对比几种语言: 服务器:设计高性能网站架构-LLMP sc="" twffan="done" ( http:www.timestetch.comFactalBenchmak.html ) 不难看出,python 是此次测试中,性能最好的脚本语言。
动态处理方面有绝对优势。
求助:loadrunner11负载测试无法监控linux服务器运行状态!
d/。
然后选择OK,再选择quit。
2./.起rstatd服务 /usr/sbin/rpcinfo -p B.下载rpc.rstatd C.打开端口映射 1.执行 setup命令 这时会弹出一个类似图形化的界面,光标移动到System services;启动portmap D.编译安装rstatd ./configure make all-am make install-am E;portmap start //,因为之前sa一直认为我要做的事情会对系统的安全性造成影响。
现在我来介绍一下如何在linux设置来完成loadrunner对服务器性能的监控 A.验证服务器上是否配置了rstatd守护程序 1;local/etc/.不能和loadrunner其他的图表进行合并,造成了很难在事后分析出系统的问题 2.监控系统的数据无法直接保存,供下次参考使用 最近终于说服了公司的sa,让我能在性能测试环境做必要的设置,回车。
在新界面中找到portmap项,空格选中;sbin/rpc.rstatd F.安装xinetd服务 yum install xinetd.find / -name rpc.rstatd 3./.实时性非常强 不足之处 1 公司使用的服务器是linux的操作系统,之前很长一段时间监控系统参数都是使用top等linux命令来监控 这样做的好处 1.可以非常容易的监控的系统的状态 2;usr/.i386 /sbin/. rup 127.0.0.1 2;rc.d/init...
Linux性能调优的方法有哪些呢?
QUOTE: 1、Disaling daemons (关闭 daemons) 2、Shutting down the GUI (关闭GUI) 3、Changing kenel paametes (改变内核参数) 4、Kenel paametes (内核参数) 5、Tuning the pocesso susystem(处理器子系统调优) 6、Tuning the memoy susystem (内存子系统调优) 7、Tuning the file system(文件系统子系统调优) 8、Tuning the netwok susystem(网络子系统调优)1 关闭daemons 有些运行在服务器中的daemons (后台服务),并不是完全必要的。
关闭这些daemons可释放更多的内存、减少启动时间并减少CPU处理的进程数。
减少daemons数量的同时也增强了服务器的安全性。
缺省情况下,多数服务器都可以安全地停掉几个daemons。
Tale 10-1列出了Red Hat Entepise Linux AS下的可调整进程. Tale 10-2列出了SUSE LINUX Entepise Seve下的可调整进程400) {this.esized=tue; this.width=400; this.alt="Click hee to open new window";}" ode=0 esized="tue" 注意:关闭xfs daemon将导致不能启动X,因此只有在不需要启动GUI图形的时候才可以关闭xfs daemon。
使用statx命令前,开启xfs daemon,恢复正常启动X。
400) {this.esized=tue; this.width=400; this.alt="Click hee to open new window";}" ode=0 esized="tue" 可以根据需要停止某个进程,如要停止sendmail 进程,输入如下命令: Red Hat: sinsevice sendmail stop SUSE LINUX: etcinit.dsendmail stop 也可以配置在下次启动的时候不自动启动某个进程,还是sendmail: Red Hat: sinchkconfig sendmail off SUSE LINUX: sinchkconfig -s sendmail off 除此之外,LINUX还提供了图形方式下的进程管理功能。
对于Red Hat,启动GUI,使用如下命令: usinedhat-config-sevices 或者鼠标点击 Main Menu - System Settings - Seve Settings - Sevices.400) {this.esized=tue; this.width=400; this.alt="Click hee to open new window";}" ode=0 esized="tue
优化Linux服务器硬盘性能有哪些技巧?
所有的文件系统随着时间的推移都趋向于碎片化。
Linux文件系统减少了碎片化,但是并没有消除。
由于它不经常出现,所以对于一个单用户的工作站来说,可能根本不是问题。
然而在繁忙的服务器中,随着时间的过去,文件碎片化将降低硬盘性能,硬盘性能只有从硬盘读出或写入数据时才能注意到。
下面是优化Linux系统硬盘性能的一些具体措施。
一、清理磁盘 这种方法看上去很简单:清理磁盘驱动器,删除不需要的文件,清除所有需要被保存但将不被使用的文件。
如果可能的话,清除多余的目录,并减少子目录的数目。
这些建议似乎显而易见,但是你会惊讶地发现,每个磁盘上确实积累了非常多的垃圾。
释放磁盘空间可以帮助系统更好地工作。
二、整理磁盘碎片 Linux系统上的磁盘碎片整理程序与Windows 98或Windows NT系统中的磁盘碎片整理程序不同。
Windows 98引入FAT 32文件系统,虽然运行Windows 98不必转换为FAT 32文件系统。
Windows可以被设置为使用FAT或一个叫NTFS的增强文件系统。
所有这些文件系统以本质上相同的方式处理文件存储。
Linux最好的整理磁盘碎片的方法是做一个完全的备份,重新格式化分区,然后从备份恢复文件。
当文件被存储时,它们将被写到连续的块中,它们不会碎片化。
这是一个大工作,可能对于像/usr之类不经常改变的程序分区是不必要的,但是它可以在一个多用户系统的/home分区产生奇迹。
它所花费的时间与Windows NT服务器磁盘碎片整理花费的时间大致上相同。
如果硬盘性能仍不令人满意,还有许多其它的步骤可以考虑,但是任何包含升级或购买新设备的硬件解决方案可能会是昂贵的。
三、从IDE升级到SCSI 如果你的硬盘是一个IDE驱动器,可以通过升级到SCSI驱动器获得更好的整体性能。
因为IDE控制器必须访问CPU,CPU和磁盘密集型操作可能变得非常缓慢。
SCSI控制器不用通过CPU处理读写。
当IDE驱动器在读或写时,用户可能会因为CPU周期被IDE驱动器占用而抱怨系统的缓慢。
获取更快的控制器和磁盘驱动器 标准的SCSI控制器不能比标准的IDE控制器更快地读写数据,但是一些非常快的“UltraWide”SCSI控制器能够使读写速度有一个真正的飞跃。
EIDE和UDMA控制器是非常快的IDE控制器。
新的UDMA控制器能够接近SCSI控制器的速度。
UDMA控制器的顶级速度是猝发速度,但持续传输的速度明显慢得多。
IDE控制器包括UDMA,是嵌入在驱动器本身中的。
不需要购买一个控制器,只要购买一个驱动器,它就包含了控制器,可以获得 UDMA性能。
磁盘驱动器经常忽视的一个方面是磁盘本身的速度。
磁盘的速度以rpm为单位给出,它代表每分钟旋转多少次。
rpm越大,磁盘速度也越快。
如果你有这方面的预算,大多数服务器系统厂商可提供7500rpm甚至10000rpm SCSI磁盘。
标准SCSI和IDE磁盘提供5400rpm速度。
四、使用多个控制器 IDE和SCSI磁盘可以被链接。
IDE链最多包括两个设备,标准SCSI链最多包括七个设备。
如果在系统中有两个或更多SCSI磁盘,很可能被链接到同一个控制器。
这样对大多数操作是足够的,尤其是把计算机当作单用户的工作站时。
但是如果有一个服务器,那么就能够通过对每个SCSI驱动器提供一个控制器改善性能。
当然,好的控制器是昂贵的。
五、调整硬盘参数 使用hdparm工具可以调整IDE硬盘性能,它设计时专门考虑了使用UDMA驱动器。
在缺省情况下,Linux使用是最安全的,但是设置访问IDE驱动器是最慢的。
缺省模式没有利用UDMA可能的最快的性能。
使用hdparm工具,通过激活下面的特性可以显著地改善性能:◆ 32位支持 缺省设置是16位;◆ 多部分访问 缺省设置是每次中断单部分传送。
注意:在使用hdparm之前,确保对系统已经做了完全的备份。
使用hdparm改变IDE参数,如果出错可能会引起驱动器上全部数据的丢失。
hdparm可以提供关于硬盘的大量信息。
打开一个终端窗口,输入下面命令获取系统中第一个IDE驱动器的信息(改变设备名获取其它IDE驱动器的信息): hdparm -v /dev/had 上面命令显示出当系统启动时从驱动器获得的信息,包括驱动器操作在16位或32位模式(I/O Support)下,是否为多部分访问(Multcount)。
关于磁盘驱动器的更详细信息的显示可使用-i参数。
Hdparm也可以测试驱动器传输速率。
输入命令测试系统中第一个IDE驱动器: hdparm -Tt /dev/hda 此测试可测量驱动器直接读和高速缓冲存储器读的速度。
结果是一个优化的“最好的事例”数字。
改变驱动器设置,激活32位传输
- 上一篇:风景滤镜软件 手机拍风景软件
- 下一篇:ps软件工具栏快捷键 ps工具栏快捷键