测试一下lvs fullnat的性能(工作记录)

参考资料的地址在于:
参考资料: http://kb.linuxvirtualserver.org/wiki/IPVS_FULLNAT_and_SYNPROXY 

测试考虑

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

QPS每秒查询率(Query Per Second)
每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。
对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力

测试记录:


 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

  1. 与 vmstat 相似,mpstat 命令还产生与 CPU 有关的统计信息,因此所有与 CPU 问题有关的讨论也都适用于 mpstat。  
  2. 当您看到较低的 %idle 数字时,您知道出现了 CPU 不足的问题。当您看到较高的 %iowait 数字时,  
  3. 您知道在当前负载下 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 



 




LVS(Linux Virtual Server)是一个基于Linux内核的负载均衡器,FULLNAT则是其中一种负载均衡的配置方式。在FULLNAT模式下,负载均衡器会将请求从客户端接收,并将其目标地址和端口修改为后端服务器的地址和端口,然后将请求转发给后端服务器。 以下是一个基本的LVS FULLNAT配置示例: 1. 安装和配置LVS软件包 在负载均衡器上安装ipvsadm软件包:`sudo apt-get install ipvsadm` 2. 配置网络参数 添加以下配置到负载均衡器的网络接口上(例如eth0): ``` sudo ifconfig eth0 promisc up sudo sysctl net.ipv4.ip_forward=1 ``` 3. 添加虚拟服务器 使用ipvsadm命令添加虚拟服务器: ``` sudo ipvsadm -A -t <虚拟服务器IP>:<虚拟服务器端口> -s wlc ``` 这里的`-s wlc`表示使用加权最小连接(Weighted Least Connection)调度算法。 4. 添加后端服务器 使用ipvsadm命令添加后端服务器: ``` sudo ipvsadm -a -t <虚拟服务器IP>:<虚拟服务器端口> -r <后端服务器IP>:<后端服务器端口> -g -w 1 ``` 这里的`-g`表示使用FULLNAT模式,`-w 1`表示权重为1。 5. 配置路由 在后端服务器上添加默认路由到负载均衡器的IP地址上: ``` sudo ip route add default via <负载均衡器IP> ``` 这是一个基本的LVS FULLNAT配置示例,你可以根据具体需求进行调整和扩展。请确保在进行配置之前详细了解LVS工作原理和使用方法,并进行适当的测试和验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值