网站首页 > 精选教程 正文
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服务器架构师学习资料私信“资料”(资料包括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 gt;
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读取数据的速度。实际上显示出被测系统的处理器缓存和内存的吞吐量,可以理解为读取内存
- 上一篇: Tomcat性能调优:线程设置
- 下一篇: Linux性能调优,看这一篇就够了
猜你喜欢
- 2024-09-24 CentOS环境下Nginx实现3台虚拟机负载均衡
- 2024-09-24 JVM调优不知道怎么回答,阿里总结四大模块,学不会就背过来
- 2024-09-24 Tomcat、JVM 参数如何调到性能最好?
- 2024-09-24 Nginx在高并发下的性能优化点!有这篇就够了!
- 2024-09-24 Tomcat 和 JVM 的性能调优总结
- 2024-09-24 tomcat 性能调优
- 2024-09-24 Java Web应用调优线程池:没你想的那么复杂
- 2024-09-24 还在不停压榨Tomcat?一份文档带你学习上百种调优方式
- 2024-09-24 《Tomcat和JVM 的性能调优经验总结》
- 2024-09-24 2020最新调优、微服务、框架、分布式指南,我的“大厂”不是梦
你 发表评论:
欢迎- 最近发表
-
- java 服务之间调用(rpc)(java实现服务器)
- Java机器学习库(Java ML)(二、聚类)
- 「Java库」如何使用优秀的加密库Jasypt来保护你的敏感信息?
- GitHub精选 | 轻量级Android和Java日志库
- Java面试官:MySQL binlog 有什么作用?主从延迟的了解么?
- Excel函数核武器库:50个高频场景公式——第二弹
- Excel函数核武器库:50个高频场景公式——第一弹
- Spring Cache高性能缓存库 - Caffeine简介
- Java通过Kafka Streams库来实现数据流处理
- 一连问了好几个大佬,竟然都不知道Redis为什么默认16个数据库?
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)