linux 查看硬盘报错_Linux服务器性能调优之I/O调优详解

1.进程可以打开的文件数(高并发时常用)

ulimit -n

#查看一个进程可以打开的文件数

修改进程可以打开的最大文件数

临时修改:

ulimit -n [进程数]

永久修改:修改限制用户资源配置文件

vim /etc/security/limits.conf

末尾添加

* soft nofile 102400

* hard nofile 102400

----------------------------------------------------------------------------------------------

2.用户可以开启的最大进程数(高并发时常用)

ulimit -u

#查看当前用户可以打开的最大数

修改当前用户可以开启的最大进程数

临时修改:

ulimit -u [进程数]

永久修改:修改限制用户资源配置文件

vim /etc/security/limits.d/90-nproc.conf

末尾添加

* soft nproc 102400

* hard nproc 102400

----------------------------------------------------------------------------------------------

3.查看I/O资源限制

ulimit -a

f17a00be960981ece30729c85146c1ce.png

----------------------------------------------------------------------------------------------

需要C/C++ Linux服务器架构师学习资料加群获取(资料包括C/C++,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,ffmpeg等),免费分享

3758d8ba5b870e63b5ca71cb612a14b9.png

4.I/O调优范例

--------------------------I/O调优举例-------------------------------------

[root@localhost ~]# yum install -y httpd //安装apache测试

[root@localhost ~]# echo Test > /var/www/html/index.html

[root@localhost ~]# service httpd restart

[root@localhost ~]# ab -n 2000 -c 2000 #http://192.168.1.63/index.html // -n代表每次并发量,-c代表总共发送的数量

This is ApacheBench, Version 2.3 <$Revision: 655654 $>

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 192.168.1.63 (be patient)

socket: Too many open files (24)

超过了限制,我们就无法在打开我们的html这个文件,解决办法:

vim /etc/security/limits.conf //限制用户资源配置文件

* soft nofile 102400 #末尾添加这两行

* hard nofile 102400

#注:soft是一个警告值,而hard则是一个真正意义的阀值,超过就会报错。soft一定要比hard小。

#启动系统: reboot ,永久生效的缺点,必须重启系统

reboot

#重启

service httpd restart

ab -n 2000 -c 2000 http://192.168.1.63/index.html

……

Server Software: Apache/2.2.15

Server Hostname: 192.168.1.63

Server Port: 80

Document Path: /index.html

Document Length: 5 bytes

……

----------------------------------------------------------------------------------------------

5.硬盘速度测试

执行读写命令测试硬盘速度

在使用前首先了解两个特殊设备

/dev/null 伪设备,回收站.写该文件不会产生IO开销

/dev/zero 伪设备,会产生空字符流,读该文件不会产生IO开销

[root@localhost ~]# dd if=/dev/zero of=/test.dbf bs=8K count=30000

3000+0 records in

3000+0 records out

24576000 bytes (25 MB) copied, 5.13755 s, 4.8 MB/s

生成25M的一个文件,IO写的速度约为4.8 MB/s

当然这个速度可以多测试几遍取一个平均值,符合概率统计.

time 命令用于执行后面的命令并计时

[root@localhost ~]# time dd if=/dev/zero of=/test1.dbf bs=8k count=3000

3000+0 records in

3000+0 records out

24576000 bytes (25 MB) copied, 1.04913 s, 23.4 MB/s

real 0m1.061s

user 0m0.002s

sys 0m0.770s

1)实际时间(real time): 从command命令行开始执行到运行终止的消逝时间;

2)用户CPU时间(user CPU time): 命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;

3)系统CPU时间(system CPU time): 命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和。

其中,用户CPU时间和系统CPU时间之和为CPU时间,即命令占用CPU执行的时间总和。实际时间要大于CPU时间,因为Linux是多任务操作系统,往往在执行一条命令时,系统还要处理其它任务。

另一个需要注意的问题是即使每次执行相同命令,但所花费的时间也是不一样,其花费时间是与系统运行相关的。

使用hdparm工具测试硬盘速度

hdparm -T -t /dev/sda

7dceff4aa90b313ccb8191a92702e2ef.png

-t perform device read timings

#不使用预先的数据缓冲, 标示了Linux下没有任何文件系统开销时磁盘可以支持多快的连续数据读取,可以理解为读硬盘

-T perform cache read timings

#直接从内存的 cache读取数据的速度。实际上显示出被测系统的处理器缓存和内存的吞吐量,可以理解为读取内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值