转自:
http://rfyiamcool.blog.51cto.com/1030776/1335700/
1
2
3
|
[root@
102
~]# service irqbalance status
irqbalance (pid
21745
)
is
running...
[root@
102
~]#
|
1
|
/etc/init.d/irqbalance stop
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#!/bin/bash
#
echo
"统计cpu的16进制"
[ $# -ne
1
] && echo ‘$
1
is
Cpu core number’ && exit
1
CCN=$
1
echo “Print eth0 affinity”
for
((i=
0
; i<${CCN}; i++))
do
echo ==============================
echo
"Cpu Core $i is affinity"
((affinity=(
1
<<i)))
echo
"obase=16;${affinity}"
| bc
done
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
[root@
102
~]# sh run.sh
16
统计cpu的
16
进制
“Print eth0 affinity”
==============================
Cpu Core
0
is
affinity
1
==============================
Cpu Core
1
is
affinity
2
==============================
Cpu Core
2
is
affinity
4
==============================
Cpu Core
3
is
affinity
8
==============================
Cpu Core
4
is
affinity
10
==============================
Cpu Core
5
is
affinity
20
==============================
Cpu Core
6
is
affinity
40
==============================
Cpu Core
7
is
affinity
80
==============================
Cpu Core
8
is
affinity
100
==============================
Cpu Core
9
is
affinity
200
==============================
Cpu Core
10
is
affinity
400
==============================
Cpu Core
11
is
affinity
800
==============================
Cpu Core
12
is
affinity
1000
==============================
Cpu Core
13
is
affinity
2000
==============================
Cpu Core
14
is
affinity
4000
==============================
Cpu Core
15
is
affinity
8000
|
1
2
|
echo
3
,
8
> /proc/irq/
31
/smp_affinity_list
echo
0
-
4
> /proc/irq/
31
/smp_affinity_list
|
1
|
[root@
102
~]# watch -n
2
"cat /proc/interrupts |grep eth"
|
1
2
3
4
5
6
7
8
9
|
/proc/sys/net/core/rps_sock_flow_entries
32768
/sys/
class
/net/eth0/queues/rx-
0
/rps_cpus
00000001
/sys/
class
/net/eth0/queues/rx-
1
/rps_cpus
00000002
/sys/
class
/net/eth0/queues/rx-
2
/rps_cpus
00000004
/sys/
class
/net/eth0/queues/rx-
3
/rps_cpus
00000008
/sys/
class
/net/eth0/queues/rx-
0
/rps_flow_cnt
4096
/sys/
class
/net/eth0/queues/rx-
1
/rps_flow_cnt
4096
/sys/
class
/net/eth0/queues/rx-
2
/rps_flow_cnt
4096
/sys/
class
/net/eth0/queues/rx-
3
/rps_flow_cnt
4096
|
1
2
3
4
5
6
7
8
9
|
/sys/
class
/net/eth0/queues/rx-
0
/rps_cpus 000000ff
/sys/
class
/net/eth0/queues/rx-
1
/rps_cpus 000000ff
/sys/
class
/net/eth0/queues/rx-
2
/rps_cpus 000000ff
/sys/
class
/net/eth0/queues/rx-
3
/rps_cpus 000000ff
/sys/
class
/net/eth0/queues/rx-
0
/rps_flow_cnt
4096
/sys/
class
/net/eth0/queues/rx-
1
/rps_flow_cnt
4096
/sys/
class
/net/eth0/queues/rx-
2
/rps_flow_cnt
4096
/sys/
class
/net/eth0/queues/rx-
3
/rps_flow_cnt
4096
/proc/sys/net/core/rps_sock_flow_entries
32768
|
1
2
3
4
5
|
tar -xzvf netperf-
2.5
.
0
.tar.gz
cd netperf-
2.5
.
0
./configure
make
make install
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
根据作用范围的不同,netperf的命令行参数可以分为两大类:全局命令行参数、测试相关的局部参数,两者之间使用--分隔:
Netperf [global options] –-[test-specific options]
其中:
全局命令行参数包括如下选项:
-H host :指定远端运行netserver的server IP地址。
-l testlen:指定测试的时间长度(秒)
-t testname:指定进行的测试类型,包括TCP_STREAM,UDP_STREAM,TCP_RR,TCP_CRR,UDP_RR
测试相关的局部参数包括如下选项:
-s size 设置本地系统的socket发送与接收缓冲大小
-S size 设置远端系统的socket发送与接收缓冲大小
-m size 设置本地系统发送测试分组的大小
-M size 设置远端系统接收测试分组的大小
-D 对本地与远端系统的socket设置TCP_NODELAY选项
|
1)远端系统(即server)使用大小为229376字节的socket接收缓冲
2)本地系统(即client)使用大小为65507字节的socket发送缓冲
3)测试经历的时间为120秒
4)吞吐量的测试结果为961 Mbits/秒
1)远端系统(即server)使用大小为87380字节的socket接收缓冲
2)本地系统(即client)使用大小为16384字节的socket发送缓冲
3)测试经历的时间为120秒
4)吞吐量的测试结果为941 Mbits/秒