TCP/IP参数图解+LINUX工具使用+gfio
http://blog.yufeng.info/page/10 工具学习
git clone git://git.kernel.dk/blktrace.git
http://www.cnblogs.com/ikodota/category/458088.html
http://ftp.gnome.org/pub/gnome/sources/gtk+/2.6/
fio:
http://git.kernel.dk/cgit/
git clone git://git.kernel.dk/fio.git
./configure --enable-gfio
make fio
make gfio
./fio -S
用户空间-----内核TCP/IP(报文封装)----->驱动程序-->网卡 网卡发送队列 网卡接受队列 每个连接需要会话内存 UDP:核心缓冲区 TCP:套接字缓冲区 读缓冲,写缓冲 TCP流控:花动窗口(接收,发送,网络能力) 当超过7200秒,TCP连接开始断开 服务器被动打开,主动关闭 1.每个连接需要会话内存,连接重用会话内存,提高性能 2.当会话太多了,把连接放到等待缓存区中
http://blog.yufeng.info/page/10 ulimit -a 临时生效: [root@monitor /]# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 7798 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 65535 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 7798 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited
LINUX 用户空间进程最大打的文件描述符FD为65535
LINUX 内核每个用默认最大打开文件描术符FD个数为1024
永久生效:vim /etc/security/limits.conf
EG: nginx hard nofile 30000
HAPROXY会自动调整
- core - limits the core file size (KB) # - data - max data size (KB) # - fsize - maximum filesize (KB) # - memlock - max locked-in-memory address space (KB) # - nofile - max number of open files # - rss - max resident set size (KB) # - stack - max stack size (KB) # - cpu - max CPU time (MIN) # - nproc - max number of processes # - as - address space limit (KB) # - maxlogins - max number of logins for this user # - maxsyslogins - max number of logins on the system # - priority - the priority to run user process with # - locks - max number of file locks the user can hold # - sigpending - max number of pending signals # - msgqueue - max memory used by POSIX message queues (bytes) # - nice - max nice priority allowed to raise to values: [-20, 19] # - rtprio - max realtime priority # #<domain> <type> <item> <value> # #* soft core 0 #* hard rss 10000 #@student hard nproc 20 #@faculty soft nproc 20 #@faculty hard nproc 50 #ftp hard nproc 0 #@student - maxlogins 4 # End of file * soft nofile 65535 * hard nofile 65535
sk_buf:套接字缓冲
mem_rmax:所有协议读缓冲区大小,包话了tcpip ipx appletalk
mem_wmax:所有协议写缓冲区大小 包括了tcpip ipx appletalk
tcp_rmem :每个tcp socket 读缓冲区 只针对TCP
tcp_wmem:第个tcp socket 写缓冲区 只针对TCP
针对 tcp协议缓冲:
参数说明:
Overall TCP memory in pages
net.ipv4.tcp_mem //所有TCP缓冲
input/reader in Bytes
net.ipv4.tcp_rmem //单个缓冲READ SIZE
out/writer in Bytes
net.ipv4.tcp_wmem //单个缓冲WRITE SIZE
永久设置位置
cat /etc/sysctl.conf
eg:
[root@monitor /]# cd /proc/sys/net/ipv4
[root@monitor ipv4]# cat tcp_mem
93504 124672 187008
tcpip所有可用的内存
[root@monitor ipv4]# ls tcp_{r,w}mem
tcp_rmem tcp_wmem
[root@monitor ipv4]# cat tcp_{r,w}mem
4096 87380 3989504
4096 16384 3989504
最小值,默认值,最大值
针对:UDP协议的缓冲
UDP 缓冲参数位置:
[root@monitor core]# pwd
/proc/sys/net/core
-rw-r--r-- 1 root root 0 Jun 10 10:48 rmem_default
-rw-r--r-- 1 root root 0 Jun 10 10:48 rmem_max
-rw-r--r-- 1 root root 0 Jun 10 10:48 wmem_default
-rw-r--r-- 1 root root 0 Jun 10 10:48 wmem_max
TCP sliding window 打开:
调整IP片断缓冲:
net.ipv4.ipfrag_high_thresh:实现IP报文重组所用内存的上限:看前端设备是否分片,MTU
net.ipv4.ipfrag_low_thresh: 实现IP报文重组所用内存的下限
net.ipv4.ipfrag_time:一个IP报文片短存活时间,超过丢弃
查看是不是有碎片:
netstat -s
cat /proc/net/snmp | grep '^Ip:' | cut -f17 -d' '
tcp_tw_reuse:当tcp报文是客户端TW状态是,服务端是否重用socket内存
tcp_syncookies:
当服务端 接收缓存区与备用队列(BACK_LOG)都已满,就发送tcp_syncookies,防内存溢出
BACK_LOG:表示接收缓存区已满,把新来的请求放到BACK_LOG中暂存)
tcp_max_orphans:
表示没有与任何用户进程关联socket,当DDOS时,用态多请求不能关联到
FIN-WAIT-1:需要更多的系统资源相比FIN-WAIT-2
tcp_fin_timeout:服务端主动关闭时,定义FIN-WAIT-2超时时间值:减小
tcp_max_tw_buckets:当关闭连接时,对方没有响应,就会很多TW值,该项定义有多少个timewait socket 些值只可增大,不可减小
somaxconn:当服务器有很多请求时,因为服务注册需要时间,就需要把转换为listen状态的socket 排一下队,以待处理,这个队列的大小就是SOMAXCONN
Sync_retries:发起方,初次发送sync,对方无响应,重试次数,这个值可以降低
tcp_max_syn_backlog:syn太多,服务端把syn请求放到备用队列,来排列(不会直接拒绝)
tcp_tw_recycle:tw状态回收
tcp-keepalive_time:非活动连接存活时间:不要调
root@monitor net]# netstat -antln Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:7002 0.0.0.0:* LISTEN tcp 0 52 120.24.160.93:22 113.218.182.179:32826 ESTABLISHED tcp 0 0 120.24.160.93:41186 42.156.166.25:80 ESTABLISHED tcp 0 0 120.24.160.93:22 113.218.182.179:32461 ESTABLISHED [root@monitor net]# ss State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 0 120.24.160.93:ssh 113.218.182.179:32826 ESTAB 0 0 120.24.160.93:41186 42.156.166.25:http ESTAB 0 0 120.24.160.93:ssh 113.218.182.179:32461 [root@monitor net]# ss -an State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:80 *:* LISTEN 0 128 *:22 *:* LISTEN 0 20 *:7002 *:* ESTAB 0 52 120.24.160.93:22 113.218.182.179:32826 ESTAB 0 0 120.24.160.93:41186 42.156.166.25:80 ESTAB 0 0 120.24.160.93:22 113.218.182.179:32461
[root@monitor net]# ss -an|awk '{S[$1]++}END{for(A in S){print A,S[A]}}' ESTAB 3 State 1 LISTEN 3
[root@monitor net]# sar -n SOCK 1 Linux 2.6.32-431.23.3.el6.x86_64 (monitor) 06/10/2016 _x86_64_ (1 CPU) 12:30:12 PM totsck tcpsck udpsck rawsck ip-frag tcp-tw 12:30:13 PM 68 6 5 0 0 0 12:30:14 PM 68 6 5 0 0 0 12:30:15 PM 68 6 5 0 0 0 12:30:16 PM 68 6 5 0 0 0 12:30:17 PM 68 6 5 0 0 0 12:30:18 PM 68 6 5 0 0 0 12:30:19 PM 68 6 5 0 0 0 12:30:20 PM 68 6 5 0 0 0 12:30:21 PM 68 6 5 0 0 0 12:30:22 PM 68 6 5 0 0 0 12:30:23 PM 68 6 5 0 0 0 12:30:24 PM 68 6 5 0 0 0
[root@monitor net]# lsof -p 26776 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME httpd 26776 apache cwd DIR 202,1 4096 2 / httpd 26776 apache rtd DIR 202,1 4096 2 / httpd 26776 apache txt REG 202,1 356320 1069962 /usr/sbin/httpd httpd 26776 apache mem REG 202,1 83088 1321587 /usr/lib64/php/modules/zip.so httpd 26776 apache mem REG 202,1 261392 1321586 /usr/lib64/php/modules/phar.so httpd 26776 apache mem REG 202,1 36200 1321585 /usr/lib64/php/modules/json.so httpd 26776 apache mem REG 202,1 1843120 1321584 /usr/lib64/php/modules/fileinfo.so httpd 26776 apache mem REG 202,1 164504 1057749 /usr/lib64/libssh2.so.1.0.1 httpd 26776 apache mem REG 202,1 209120 269388 /lib64/libidn.so.11.6.1 httpd 26776 apache mem REG 202,1 346424 1053226 /usr/lib64/libcurl.so.4.1.1 httpd 26776 apache mem REG 202,1 66448 1321583 /usr/lib64/php/modules/curl.so httpd 26776 apache mem REG 202,1 9488 1069958 /usr/lib64/apr-util-1/apr_ldap-1.so httpd 26776 apache mem REG 202,1 65928 262212 /lib64/libnss_files-2.12.so httpd 26776 apache DEL REG 202,1 269091 /lib64/libkeyutils.so.1.3.#prelink#.rlBwZV httpd 26776 apache DEL REG 202,1 270877 /lib64/libkrb5support.so.0.1.#prelink#.GkKeqt httpd 26776 apache mem REG 202,1 1965856 1058127 /usr/lib64/libcrypto.so.1.0.1e httpd 26776 apache DEL REG 202,1 1065163 /usr/lib64/libssl.so.1.0.1e.#prelink#.LI4Rtb httpd 26776 apache mem REG 202,1 17256 262150 /lib64/libcom_err.so.2.1 httpd 26776 apache DEL REG 202,1 270878 /lib64/libk5crypto.so.3.1.#prelink#.31daR0 httpd 26776 apache DEL REG 202,1 262156 /lib64/libkrb5.so.3.3 httpd 26776 apache DEL REG 202,1 262160 /lib64/libgssapi_krb5.so.2.2.#prelink#.f3IY05 httpd 26776 apache mem REG 202,1 1384008 1057019 /usr/lib64/libxml2.so.2.7.6 httpd 26776 apache mem REG 202,1 116368 262217 /lib64/libnsl-2.12.so httpd 26776 apache mem REG 202,1 69976 270870 /lib64/libbz2.so.1.0.4 httpd 26776 apache DEL REG 202,1 1057093 /usr/lib64/libgmp.so.3.5.0.#prelink#.E6XOwX httpd 26776 apache mem REG 202,1 3699056 1321698 /usr/lib64/httpd/modules/libphp5.so httpd 26776 apache mem REG 202,1 10416 1321689 /usr/lib64/httpd/modules/mod_version.so httpd 26776 apache mem REG 202,1 27312 1321648 /usr/lib64/httpd/modules/mod_cgi.so httpd 26776 apache mem REG 202,1 22992 1321655 /usr/lib64/httpd/modules/mod_disk_cache.so httpd 26776 apache mem REG 202,1 10384 1321685 /usr/lib64/httpd/modules/mod_suexec.so httpd 26776 apache mem REG 202,1 39664 1321646 /usr/lib64/httpd/modules/mod_cache.so httpd 26776 apache mem REG 202,1 14648 1321675 /usr/lib64/httpd/modules/mod_proxy_connect.so httpd 26776 apache mem REG 202,1 39632 1321673 /usr/lib64/httpd/modules/mod_proxy_ajp.so httpd 26776 apache mem REG 202,1 35568 1321677 /usr/lib64/httpd/modules/mod_proxy_http.so httpd 26776 apache mem REG 202,1 35600 1321676 /usr/lib64/httpd/modules/mod_proxy_ftp.so httpd 26776 apache mem REG 202,1 27160 1321674 /usr/lib64/httpd/modules/mod_proxy_balancer.so httpd 26776 apache mem REG 202,1 85360 1321672 /usr/lib64/httpd/modules/mod_proxy.so httpd 26776 apache mem REG 202,1 64560 1321680 /usr/lib64/httpd/modules/mod_rewrite.so httpd 26776 apache mem REG 202,1 18704 1321684 /usr/lib64/httpd/modules/mod_substitute.so httpd 26776 apache mem REG 202,1 14608 1321628 /usr/lib64/httpd/modules/mod_alias.so httpd 26776 apache mem REG 202,1 10448 1321687 /usr/lib64/httpd/modules/mod_userdir.so httpd 26776 apache mem REG 202,1 14608 1321682 /usr/lib64/httpd/modules/mod_speling.so httpd 26776 apache mem REG 202,1 10416 1321627 /usr/lib64/httpd/modules/mod_actions.so httpd 26776 apache mem REG 202,1 10416 1321654 /usr/lib64/httpd/modules/mod_dir.so httpd 26776 apache mem REG 202,1 31384 1321671 /usr/lib64/httpd/modules/mod_negotiation.so httpd 26776 apache mem REG 202,1 10424 1321690 /usr/lib64/httpd/modules/mod_vhost_alias.so httpd 26776 apache mem REG 202,1 56112 1321651 /usr/lib64/httpd/modules/mod_dav_fs.so httpd 26776 apache mem REG 202,1 19032 1321664 /usr/lib64/httpd/modules/mod_info.so httpd 26776 apache mem REG 202,1 35472 1321645 /usr/lib64/httpd/modules/mod_autoindex.so httpd 26776 apache mem REG 202,1 22864 1321683 /usr/lib64/httpd/modules/mod_status.so httpd 26776 apache mem REG 202,1 93328 1321650 /usr/lib64/httpd/modules/mod_dav.so httpd 26776 apache mem REG 202,1 18800 1321669 /usr/lib64/httpd/modules/mod_mime.so httpd 26776 apache mem REG 202,1 14576 1321681 /usr/lib64/httpd/modules/mod_setenvif.so httpd 26776 apache mem REG 202,1 14608 1321688 /usr/lib64/httpd/modules/mod_usertrack.so httpd 26776 apache mem REG 202,1 22992 1321661 /usr/lib64/httpd/modules/mod_headers.so httpd 26776 apache mem REG 202,1 27056 1321653 /usr/lib64/httpd/modules/mod_deflate.so httpd 26776 apache mem REG 202,1 10512 1321658 /usr/lib64/httpd/modules/mod_expires.so httpd 26776 apache mem REG 202,1 27672 1321670 /usr/lib64/httpd/modules/mod_mime_magic.so httpd 26776 apache mem REG 202,1 23120 1321659 /usr/lib64/httpd/modules/mod_ext_filter.so httpd 26776 apache mem REG 202,1 10416 1321657 /usr/lib64/httpd/modules/mod_env.so httpd 26776 apache mem REG 202,1 10440 1321668 /usr/lib64/httpd/modules/mod_logio.so httpd 26776 apache mem REG 202,1 31264 1321666 /usr/lib64/httpd/modules/mod_log_config.so httpd 26776 apache mem REG 202,1 43600 1321663 /usr/lib64/httpd/modules/mod_include.so httpd 26776 apache mem REG 202,1 31192 1321638 /usr/lib64/httpd/modules/mod_authnz_ldap.so httpd 26776 apache mem REG 202,1 47168 269250 /lib64/librt-2.12.so httpd 26776 apache mem REG 202,1 91096 262271 /lib64/libz.so.1.2.3 httpd 26776 apache mem REG 202,1 108728 1059775 /usr/lib64/libsasl2.so.2.0.23 httpd 26776 apache mem REG 202,1 247192 269591 /lib64/libnspr4.so httpd 26776 apache mem REG 202,1 21288 269592 /lib64/libplc4.so httpd 26776 apache mem REG 202,1 17128 269593 /lib64/libplds4.so httpd 26776 apache mem REG 202,1 182112 1054494 /usr/lib64/libnssutil3.so httpd 26776 apache mem REG 202,1 1302712 1065229 /usr/lib64/libnss3.so httpd 26776 apache mem REG 202,1 183928 1058103 /usr/lib64/libsmime3.so httpd 26776 apache mem REG 202,1 257120 1065231 /usr/lib64/libssl3.so httpd 26776 apache mem REG 202,1 113952 270875 /lib64/libresolv-2.12.so httpd 26776 apache mem REG 202,1 63336 269595 /lib64/liblber-2.4.so.2.5.6 httpd 26776 apache mem REG 202,1 317200 262239 /lib64/libldap-2.4.so.2.5.6 httpd 26776 apache mem REG 202,1 60240 1321665 /usr/lib64/httpd/modules/mod_ldap.so httpd 26776 apache mem REG 202,1 6264 1321640 /usr/lib64/httpd/modules/mod_authz_default.so httpd 26776 apache mem REG 202,1 10448 1321639 /usr/lib64/httpd/modules/mod_authz_dbm.so httpd 26776 apache mem REG 202,1 10520 1321641 /usr/lib64/httpd/modules/mod_authz_groupfile.so httpd 26776 apache mem REG 202,1 10424 1321643 /usr/lib64/httpd/modules/mod_authz_owner.so httpd 26776 apache mem REG 202,1 10384 1321644 /usr/lib64/httpd/modules/mod_authz_user.so httpd 26776 apache mem REG 202,1 10448 1321642 /usr/lib64/httpd/modules/mod_authz_host.so httpd 26776 apache mem REG 202,1 6264 1321636 /usr/lib64/httpd/modules/mod_authn_default.so httpd 26776 apache mem REG 202,1 10416 1321635 /usr/lib64/httpd/modules/mod_authn_dbm.so httpd 26776 apache mem REG 202,1 10352 1321633 /usr/lib64/httpd/modules/mod_authn_anon.so httpd 26776 apache mem REG 202,1 10456 1321632 /usr/lib64/httpd/modules/mod_authn_alias.so httpd 26776 apache mem REG 202,1 10416 1321637 /usr/lib64/httpd/modules/mod_authn_file.so httpd 26776 apache mem REG 202,1 31256 1321631 /usr/lib64/httpd/modules/mod_auth_digest.so httpd 26776 apache mem REG 202,1 10448 1321630 /usr/lib64/httpd/modules/mod_auth_basic.so httpd 26776 apache mem REG 202,1 12776 268416 /lib64/libfreebl3.so httpd 26776 apache mem REG 202,1 18936 262243 /lib64/libuuid.so.1.3.0 httpd 26776 apache mem REG 202,1 22536 262171 /lib64/libdl-2.12.so httpd 26776 apache mem REG 202,1 1926520 262157 /lib64/libc-2.12.so httpd 26776 apache mem REG 202,1 145936 262147 /lib64/libpthread-2.12.so httpd 26776 apache mem REG 202,1 181792 1051835 /usr/lib64/libapr-1.so.0.3.9 httpd 26776 apache mem REG 202,1 1525224 262188 /lib64/libdb-4.7.so httpd 26776 apache mem REG 202,1 167648 262265 /lib64/libexpat.so.1.5.2 httpd 26776 apache mem REG 202,1 43392 269142 /lib64/libcrypt-2.12.so httpd 26776 apache mem REG 202,1 146080 1051941 /usr/lib64/libaprutil-1.so.0.3.9 httpd 26776 apache mem REG 202,1 124624 269090 /lib64/libselinux.so.1 httpd 26776 apache DEL REG 202,1 262189 /lib64/libpcre.so.0.0.1.#prelink#.5c7o8Q httpd 26776 apache mem REG 202,1 599392 262273 /lib64/libm-2.12.so httpd 26776 apache mem REG 202,1 157072 262151 /lib64/ld-2.12.so httpd 26776 apache DEL REG 0,4 198823 /dev/zero httpd 26776 apache DEL REG 0,4 198821 /dev/zero httpd 26776 apache 0r CHR 1,3 0t0 3866 /dev/null httpd 26776 apache 1w CHR 1,3 0t0 3866 /dev/null httpd 26776 apache 2w REG 202,1 40886 789048 /var/log/httpd/error_log httpd 26776 apache 3u IPv4 198807 0t0 TCP *:http (LISTEN) httpd 26776 apache 4r FIFO 0,8 0t0 198820 pipe httpd 26776 apache 5w FIFO 0,8 0t0 198820 pipe httpd 26776 apache 6w REG 202,1 59844 789049 /var/log/httpd/access_log httpd 26776 apache 7r CHR 1,9 0t0 3871 /dev/urandom httpd 26776 apache 8u REG 0,9 0 3864 [eventpoll]
[root@monitor net]# dstat --socket 1 ------sockets------ tot tcp udp raw frg 68 6 5 0 0 68 6 5 0 0 68 6 5 0 0 68 6 5 0 0 68 6 5 0 0 68 6 5 0 0 68 6 5 0 0 68 6 5 0 0 68 6 5 0 0 68 6 5 0 0^C
perf top
perf stat /bin/ls /etc
yum install iotop
[root@monitor net]# iotop
Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s
TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
1024 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % AliYunDun
1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % init
2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd]
3 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
4 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0]
5 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0]
6 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0]
7 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [events/0]
8 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [cgroup]
9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [khelper]
10 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [netns]
11 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [async/mgr]
12 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [pm]
13 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [xenwatch]
14 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [xenbus]
[root@monitor net]# dstat ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system-- usr sys idl wai hiq siq| read writ| recv send| in out | int csw 2 1 97 0 0 0|3472B 248k| 0 0 | 0 0 | 127 278 0 0 100 0 0 0| 0 0 | 132B 880B| 0 0 | 126 296 1 0 99 0 0 0| 0 0 | 40B 346B| 0 0 | 117 291 0 0 100 0 0 0| 0 0 | 40B 346B| 0 0 | 117 293 0 0 100 0 0 0| 0 0 | 296B 576B| 0 0 | 133 308 1 0 99 0 0 0| 0 0 | 40B 346B| 0 0 | 116 288 0 0 100 0 0 0| 0 0 | 116B 436B| 0 0 | 117 295 0 0 100 0 0 0| 0 0 | 40B 346B| 0 0 | 120 295 0 0 100 0 0 0| 0 0 | 40B 346B| 0 0 | 120 294 1 0 99 0 0 0| 0 0 | 40B 346B| 0 0 | 115 289 0 1 99 0 0 0| 0 0 | 40B 346B| 0 0 | 97 273 0 0 100 0 0 0| 0 0 | 68B 388B| 0 0 | 103 272 0 0 100 0 0 0| 0 0 | 40B 346B| 0 0 | 104 280 1 0 99 0 0 0| 0 0 | 40B 346B| 0 0 | 100 275 0 0 100 0 0 0| 0 0 | 40B 346B| 0 0 | 99 276
ethtool
yum install ethtool
systemtap
Oprofile
Valgrind
http://www.cnblogs.com/michaelmin/p/3927024.html
yum install fio
fio -filename=/dev/xvda1 -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest
[root@monitor net]# fio -filename=/dev/xvda1 -direct=1 -iodepth 1 -thread -rw=read -ioengine=psync -bs=16k -size=200G -numjobs=30 -runtime=1000 -group_reporting -name=mytest mytest: (g=0): rw=read, bs=16K-16K/16K-16K/16K-16K, ioengine=psync, iodepth=1 ... mytest: (g=0): rw=read, bs=16K-16K/16K-16K/16K-16K, ioengine=psync, iodepth=1 fio-2.0.13 Starting 30 threads Jobs: 30 (f=30): [RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR] [0.3% done] [20544K/0K/0K /s] [1284 /0 /0 iops] [eta 1
Jobs: 30 (f=30): [RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR] [0.4% done] [23968K/0K/0K /s] [1498 /0 /0 iops] [eta 1
Jobs: 30 (f=30): [RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR] [0.5% done] [22560K/0K/0K /s] [1410 /0 /0 iops] [eta 1
Jobs: 30 (f=30): [RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR] [0.6% done] [22256K/0K/0K /s] [1391 /0 /0 iops] [eta 1
Jobs: 30 (f=30): [RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR] [0.7% done] [24720K/0K/0K /s] [1545 /0 /0 iops] [eta 1
Jobs: 30 (f=30): [RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR] [0.8% done] [25504K/0K/0K /s] [1594 /0 /0 iops] [eta 1
^C:33s] fio: terminating on signal 2 mytest: (groupid=0, jobs=30): err= 0: pid=28307: Fri Jun 10 13:08:19 2016 read : io=167408KB, bw=22614KB/s, iops=1413 , runt= 7403msec clat (msec): min=1 , max=41 , avg=21.15, stdev= 3.41 lat (msec): min=1 , max=41 , avg=21.15, stdev= 3.41 clat percentiles (usec): | 1.00th=[13504], 5.00th=[17024], 10.00th=[17792], 20.00th=[18816], | 30.00th=[19328], 40.00th=[20096], 50.00th=[20608], 60.00th=[21376], | 70.00th=[22144], 80.00th=[23424], 90.00th=[25984], 95.00th=[27520], | 99.00th=[29568], 99.50th=[32128], 99.90th=[37632], 99.95th=[40704], | 99.99th=[40704] bw (KB/s) : min= 559, max= 866, per=3.33%, avg=752.30, stdev=81.92 lat (msec) : 2=0.02%, 4=0.09%, 10=0.50%, 20=38.59%, 50=60.80% cpu : usr=0.00%, sys=0.00%, ctx=4696, majf=0, minf=18446744073709164966 IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% issued : total=r=10463/w=0/d=0, short=r=0/w=0/d=0 Run status group 0 (all jobs): READ: io=167408KB, aggrb=22613KB/s, minb=22613KB/s, maxb=22613KB/s, mint=7403msec, maxt=7403msec Disk stats (read/write): xvda: ios=10066/0, merge=0/0, ticks=213658/0, in_queue=213955, util=98.44%