测试考虑
1. 测试NAT/DR/TUNNEL 兼容性
2. 测试TCP/UDP/ICMP/AH/ESP 数据包
3. 测试IPV6
4. 测试Template/persistent
使用FULLNAT方式TCP序列号的转换:
正常流程:选择local address以后,需要重新计算seq,以满足同一个TCP流中的SYN包序列号不同的单向递增的要求:
为什么要重新计算syn,是因为两边处理的时间不相同,syn命中的session,重新计算seq
步骤:
增加新的虚拟机,需要升级内核,安装httpd服务
怎么分配vsip地址(申请)
[root@lvs-test-dev021-jylt keepalived]# find / -name keepalived
/etc/sysconfig/keepalived
/etc/keepalived
/etc/rc.d/init.d/keepalived
/var/lock/subsys/keepalived
/usr/sbin/keepalived
几个地方的keepalived的作用是什么:
/etc/sysconfig/keepalived:配置文件
ipvsadm -ln
IP Virtual Server version 1.2.1 (size=4194304)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 10.153.79.120:80 rr synproxy
-> 10.153.74.118:80 FullNat 1 0 0
-> 10.153.74.139:80 FullNat 1 0 0
-> 10.153.74.140:80 FullNat 1 0 0
-> 10.153.74.141:80 FullNat 1 0 0
-> 10.153.74.142:80 FullNat 1 0 0
这个是正确的,但是访问vip 是不成功的,wget不到,原因在于
还有curl 的问题
webbench qps
qps
测试记录:
webbench http://10.153.79.120/
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://10.153.79.120/
1 client, running 30 sec.
Speed=105880 pages/min, 493753 bytes/sec.
Requests: 52940 susceed, 0 failed.
[root@lvs-test-dev020-jylt webbench-1.5]# webbench -c 100 http://10.153.79.120/
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://10.153.79.120/
100 clients, running 30 sec.
Speed=1283054 pages/min, 5983260 bytes/sec.
Requests: 641527 susceed, 0 failed.
测试过程中遇到的问题:
1,HTTP_GET不配置timeout导致CPU占用过高的问题
2、间歇丢包的问题:是因为vip那台 虚拟机上面的eth0 eth1 eth2分别配置了地址,只有一个地址是已经配置好的Local ip ,导致lvs收到的报文会分发到三块网卡上。根据ospf路由协议
测试服务器性能要用到的命令:
top
htop
mpstat -P ALL 2 10000
- 与 vmstat 相似,mpstat 命令还产生与 CPU 有关的统计信息,因此所有与 CPU 问题有关的讨论也都适用于 mpstat。
- 当您看到较低的 %idle 数字时,您知道出现了 CPU 不足的问题。当您看到较高的 %iowait 数字时,
- 您知道在当前负载下 I/O 子系统出现了某些问题。该信息对于解决 Oracle 数据库性能问题非常方便。
测试的时候加上real server 的优化:
lvs的 ulimit -n 是多少?
测试pps
cat ip_vs_stats
Total Incoming Outgoing Incoming Outgoing
Conns Packets Packets Bytes Bytes
ADB9 36140 35FF0 BCA8F3 1470892
Conns/s Pkts/s Pkts/s Bytes/s Bytes/s
1374 60E1 60B7 15205C 249B73
1、使用netperf测试
怎么查看linux中哪个文件占用的空间大 du tomcat6 df -h
du -sk * | sort -n
查看某一端口号是否被占用:
lsof -i:80
netperf遇到的问题
Could not install signal catcher for sig 32, errno 22
OSPF原理:
两台lvs同时工作:
在外面的网络中利用ospf协议,使得外部的路由器将请求分给两台lvs。
查看路由状态:
怎么配置多队列网卡:
[root@10.153.72.2 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.27.0.0 172.27.0.9 255.255.255.252 UG 101 0 0 eth1
172.27.0.4 172.27.0.9 255.255.255.252 UG 101 0 0 eth1
172.27.0.8 0.0.0.0 255.255.255.252 U 0 0 0 eth1
172.27.0.16 172.27.0.9 255.255.255.252 UG 101 0 0 eth1
172.27.0.20 172.27.0.9 255.255.255.252 UG 101 0 0 eth1
10.153.72.0 0.0.0.0 255.255.248.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
10.0.0.0 10.153.79.254 255.0.0.0 UG 0 0 0 eth0
0.0.0.0 172.27.0.9 0.0.0.0 UG 0 0 0 eth1
查看路由的意义:
Linux内核优化:添加cpu的负载分担: 查看文件:
cat /etc/rc.local
sh /root/set_irq_affinity.sh eth0
sh /root/set_irq_affinity.sh eth1
观察两台的连接数是否相同:
ipvsadm -ln --stats
IP Virtual Server version 1.2.1 (size=4194304)
Prot LocalAddress:Port Conns InPkts OutPkts InBytes OutBytes
-> RemoteAddress:Port
TCP 119.188.143.208:80 423377 23306801 23303195 1300M 2260M
-> 10.153.74.85:80 39794 2418318 2416851 134956K 237316K
-> 10.153.74.139:80 43227 2417344 2417010 134888K 237832K
-> 10.153.74.140:80 43305 2381131 2381023 132866K 234285K
-> 10.153.74.141:80 40987 2329503 2329424 129985K 229206K
-> 10.153.74.142:80 42012 2166551 2166474 120892K 213172K
-> 10.153.74.249:80 40956 2292522 2292131 127919K 218630K
-> 10.153.75.54:80 40352 2039735 2039721 113819K 195405K
-> 10.153.75.55:80 43811 2432538 2432455 135734K 233030K
-> 10.153.75.56:80 43539 2396925 2396914 133748K 229623K
-> 10.153.75.152:80 44709 2428418 2428151 135503K 231651K
认识rc.local