负载均衡,一个IP对应一个负载机情况下的压力测试

本文详细介绍如何在LoadRunner中使用IP欺骗功能进行负载均衡测试。通过创建新的IP集,利用IPWizard工具增加多个虚拟IP地址,确保在多服务器环境下进行有效压力测试,避免负载集中在单一服务器上。

基本情况:
系统部署了两套通过nginx做了负载均衡,在两台服务器上,一个IP对应一个负载机
(采用一般的压力测试方法,会发现只有一台服务器上有压力,其余的服务器没有压力)
解决:
使用loadrunner的IP欺骗
HP loadrunner—>Tools—>IP Wizard(右键使用管理员权限打开,不然会出现如图1示问题),再根据图示一步步来

图1
在这里插入图片描述

1.点击Create new setti ,点击下一步
在这里插入图片描述
2.点击下一步
在这里插入图片描述
3.点击ADD
在这里插入图片描述

4.设置IP个数,将检查IP是否被占用打上对勾
在这里插入图片描述
5.第一个是我们自己的,剩下的五个是增加的IP,点击完成
在这里插入图片描述
6.建议save as 保存一下,保存成.ips结尾的文件,点击OK。
在这里插入图片描述
7.cmd下ipconfig/all会出现所有的IP信息
8.打开controller—>scenario—>Enable IP Spoofer,底下会出现IP Spoofer
在这里插入图片描述
9.点击Tools—>Export Mode,点击Tools—>Options—>General
在这里插入图片描述
10.点击scenario—>load generations,点击add,将我们刚才增加的IP添加进去
在这里插入图片描述
11.点击connect,点击连接,这时候我们会发现除了本机的IP之外,其他的status都是failed,点击HP loadrunner—>Advanced Settings—>Agent Configuration,把两个对勾都选上,点击setting,再connect一下,status由failed改成Ready

在Linux虚拟机上使用Nginx配置负载均衡以处理多个域名的请求,可以通过定义多个`server`块,并结合`upstream`模块来实现。以下是详细的配置步骤: ### 配置步骤 1. **定义后端服务** 在Nginx配置文件中,使用`upstream`指令定义后端服务器组。每个域名可以对应不同的服务器组,或者共享同一组服务器。例如: ```nginx upstream backend1 { least_conn; server 192.168.1.10:80; server 192.168.1.11:80; keepalive 32; } upstream backend2 { ip_hash; server 192.168.1.12:80; server 192.168.1.13:80; keepalive 32; } ``` 在上述配置中,`backend1`使用`least_conn`策略选择后端服务器,而`backend2`使用`ip_hash`策略实现会话保持。 2. **配置多个`server`块** 每个`server`块对应一个域名,并通过`proxy_pass`指令将请求转发到对应的`upstream`。例如: ```nginx server { listen 80; server_name example.com www.example.com; location / { proxy_pass http://backend1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 80; server_name anotherdomain.com www.anotherdomain.com; location / { proxy_pass http://backend2; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` 上述配置中,`example.com`和`anotherdomain.com`分别指向不同的后端服务器组。通过`proxy_set_header`指令,可以将客户端的真实IP地址和主机名传递给后端服务器。 3. **启用负载均衡策略** Nginx支持多种负载均衡策略,包括: - `round-robin`(默认):按顺序将请求分发给后端服务器。 - `least_conn`:将请求发送到当前连接数最少的服务器。 - `ip_hash`:根据客户端的IP地址进行哈希计算,确保来自同一IP的请求总是转发到同一台后端服务器。 - `hash`:基于指定的键(如`cookie`或`args`)进行哈希计算,实现会话保持。 可以根据实际需求选择合适的策略。例如,在需要会话保持的情况下,可以选择`ip_hash`或`hash`策略。 4. **启用健康检查** Nginx Plus支持主动健康检查功能,可以定期检查后端服务器的状态,并自动剔除不可用的服务器。例如: ```nginx upstream backend1 { zone backend 64k; least_conn; server 192.168.1.10:80 weight=3; server 192.168.1.11:80; keepalive 32; health_check; } ``` 在上述配置中,`health_check`指令启用了健康检查功能,默认情况下,Nginx会每5秒检查一次后端服务器的状态。 5. **重启Nginx服务** 完成配置后,需要重启Nginx服务以使配置生效。可以使用以下命令重启Nginx: ```bash sudo systemctl restart nginx ``` ### 示例代码 以下是一个完整的Nginx配置示例,展示了如何配置多个域名的负载均衡: ```nginx upstream backend1 { least_conn; server 192.168.1.10:80; server 192.168.1.11:80; keepalive 32; } upstream backend2 { ip_hash; server 192.168.1.12:80; server 192.168.1.13:80; keepalive 32; } server { listen 80; server_name example.com www.example.com; location / { proxy_pass http://backend1; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 80; server_name anotherdomain.com www.anotherdomain.com; location / { proxy_pass http://backend2; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值