关于linux:Linux服务器性能调优之IO调优详解

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

———————————————————————————————————————————

须要C/C++ Linux服务器架构师学习材料加qun(563998835)(材料包含C/C++,Linux,golang技术,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK,ffmpeg等),收费分享

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

-t perform device read timings

不应用事后的数据缓冲, 标示了Linux下没有任何文件系统开销时磁盘能够反对多快的间断数据读取,能够了解为读硬盘

-T perform cache read timings

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理