Jmeter Http Proxy服务器搭建

📝 面试求职: 「面试试题小程序」内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


01 前言

在对网页服务进行压力测试时,如果一个一个手工作成脚本的话,会相当费时间。Jmeter作为负荷测试的专业工具,本身就有录制脚本的功能–JmeterHttpProxy(代理)服务器。工作中正好用到,所以作成一个简单的入门手册。供大家参考。

02 Macbook上安装Jmeter

Windows和Linux安装比较简单。我一直以为macbook上跟Windows本一样呢----下载个zip包点开启动文件就可以。在官网找下载链接,尝试了几次之后才发现,不得不在命令行安装。

进入正题!

2.1 安装手册

1:在macbook的终端里输入

$brewinstalljmeter

brew命令对应的工具HomeBrew安装方法,自行解决。

2:等待安装正常结束后执行

$jmeter-?

会弹出如下内容

_    ____   _    ____ _   _ _____       _ __  __ _____ _____ _____ ____     
   / \  |  _ \ / \  / ___| | | | ____|     | |  \/  | ____|_   _| ____|  _ \   
  / _ \ | |_) / _ \| |   | |_| |  _|    _  | | |\/| |  _|   | | |  _| | |_) | 
 / ___ \|  __/ ___ \ |___|  _  | |___  | |_| | |  | | |___  | | | |___|  _ <  
/_/   \_\_| /_/   \_\____|_| |_|_____|  \___/|_|  |_|_____| |_| 
|_____|_| \_\ 4.0 r1823414  

Copyright (c) 1999-2018 The Apache Software Foundation

--?
    print command line options and exit
-h, --help
    print usage information and exit
。。。。(省略)

3:启动jmeter

$jmeter

然后GUI就启动了,启动后的主题和语言在[options]菜单选项中设定。

在这里插入图片描述

GUI

2.2 录制脚本

看启动之后的GUI,只有[测试计划TestPlan]找不到[工作台]选项。

这个也花费不少时间挨个菜单查找。后来通过google才知道,jmeter4.0(公司使用的事2.13版)改变了很多内容。其中就是把[工作台]删除。

jmeter4.0添加HTTP代理服务器的添加方式如下

1:追加代理服务器

[TestPlan]→[Add]→[Non-TestElements]→[HTTP(s)TestScriptrecorder]

选择项目

在这里插入图片描述

选择代理服务器选项

设定项目

在这里插入图片描述

代理服务器设定

如果不需要测试静态文件,那么在下面红框中追加一下除外设定。

在这里插入图片描述

除外设定

红框中追加以下三条内容(不加引号)。

“.*.png”

“.*.gif”

“.*.css”

2:设定测试线程组

选择项目

在这里插入图片描述

线程组

设定项目

在这里插入图片描述

设定线程组名

3:绑定Http代理服务器跟测试脚本关系

在这里插入图片描述

绑定关系

4:设置浏览器代理

将Jmeter里设定的Http代理服务器IP(本地电脑的原因,我设定成localhost)和步骤1中的默认端口号在自己电脑上设定。具体设定方法可以google。最后不要忘了点[OK]保存设定。

在这里插入图片描述

设定代理

别忘了点适用按钮,否则代理不起效

在这里插入图片描述

适用

在这里插入图片描述

启动成功

5:录制脚本

点击[Start]启动Http代理服务器。

在这里插入图片描述

google

打开浏览器输入例子,比如baidu的首页

在这里插入图片描述

baidu

查看线程组中内容。

在这里插入图片描述

生成脚本

如果上面步骤已经满足你的需求。那么点击[Stop]停止录制

在这里插入图片描述

stop

注意:此时JmeterHttp代理服务器的工作已经完成和停止,不用忘记把电脑上代理checkout掉。否则正常的访问网页会上不去。尤其是有公司代理的时候,不要忘了切回公司代理。

6:执行脚本

测试执行一下脚本。点击执行按钮后会提示保存脚本文件,点击[Yes]

在这里插入图片描述

执行

显示结果树(jmeter不会默认显示结果树,需要自己追加)

在这里插入图片描述

结果树追加

测试结果

在这里插入图片描述

测试结果

其他

如果有login的网页,可以追加[HTTPHeaderManager]和[CSVDataSetConfig]来解决账号密码问题。实现起来不复杂,在这里就省略。

在这里插入图片描述

账号密码对策

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】
在这里插入图片描述
在这里插入图片描述

<think>好的,用户想了解如何搭建基于uniGUI的HyperServer多服务端负载均衡服务器。首先,我需要回忆一下uniGUI和HyperServer的基本概念。uniGUI是一个用于Delphi的Web应用框架,允许开发者创建Web应用程序,而HyperServer是其负载均衡解决方案,用于处理高并发和提升可用性。 用户可能是一位Delphi开发者,希望将现有的uniGUI应用扩展到支持更多用户,或者正在规划一个需要高可用性的新项目。他可能已经熟悉uniGUI的基础,但需要具体的步骤来配置HyperServer。需要确认他的实际需求,比如是否已经有一个uniGUI应用,或者是从头开始搭建。不过,问题描述中没有提到这些细节,所以回答需要覆盖一般情况。 接下来,我得整理搭建HyperServer的步骤。首先需要明确HyperServer的架构,包括主节点(HyperServer Manager)和多个子节点(应用程序实例)。主节点负责分发请求,子节点处理实际负载。每个子节点可能需要不同的端口,并且需要配置反向代理,如Nginx或IIS,以实现外部流量的分发。 用户可能关心的关键点包括:环境准备、配置文件设置、负载均衡策略、会话管理、安全性以及监控和扩展。需要详细说明每个步骤,例如如何修改HyperServer.ini文件,设置MaxWorkers和Port参数,如何配置反向代理的负载均衡算法,以及如何处理会话粘滞(Sticky Session)等问题。 还需要注意潜在的问题,比如端口冲突、防火墙设置、会话同步等。例如,如果子节点之间的会话不共享,可能需要使用数据库或缓存来保持状态,或者确保使用粘滞会话让同一用户请求始终转发到同一子节点。 此外,用户可能需要测试和监控方面的建议,比如使用Apache Bench或JMeter进行压力测试,以及使用Prometheus和Grafana进行性能监控。最后,扩展性方面,可以提到如何动态添加子节点以适应流量增长。 要确保回答清晰,分步骤说明,同时指出常见问题及解决方案。可能还需要提醒用户参考uniGUI的官方文档,因为具体配置可能因版本而异。总之,回答需要全面但不过于复杂,适合有一定经验的开发者按照步骤操作。</think>好的!以下是基于 **uniGUI** 的 **HyperServer** 多服务端负载均衡服务器搭建介绍,分步骤说明其原理和实现方法: --- ### **1. HyperServer 基本概念** **HyperServer** 是 uniGUI 提供的负载均衡和高可用性解决方案,支持将多个 uniGUI 应用实例组成集群,通过智能路由分发请求,提升并发处理能力和容错性。 - **核心组件**: - **HyperServer Manager**:主节点,负责管理子节点(Worker)和分发请求。 - **Worker Nodes**:子节点(多个 uniGUI 应用实例),处理实际业务请求。 --- ### **2. 环境准备** 1. **开发工具**: - Delphi IDE(支持 uniGUI 的版本,如 Delphi 10.4+)。 - uniGUI 专业版或企业版(HyperServer 是企业版功能)。 2. **服务器要求**: - 至少一台主服务器(运行 HyperServer Manager)。 - 多台子服务器或同一服务器的多个端口(运行 Worker Nodes)。 - 推荐使用反向代理(如 Nginx、IIS)处理外部流量。 --- ### **3. 搭建步骤** #### **(1) 配置 HyperServer Manager** 1. **创建主节点项目**: - 在 Delphi 中新建 uniGUI 项目,选择 **HyperServer Manager Application**。 - 配置 `HyperServer.ini` 文件: ```ini [Manager] Port=8077 # 主节点监听端口 MaxWorkers=10 # 最大子节点数量 ``` 2. **启动主节点**: - 编译并运行 Manager 应用,它会监听指定端口,等待子节点注册。 #### **(2) 配置 Worker Nodes(子节点)** 1. **修改子节点项目**: - 在现有的 uniGUI 应用中(或新建项目),启用 HyperServer 支持。 - 在 `ServerModule` 中设置 `HyperServer` 属性: ```delphi UniServerModule.HyperServer.Enabled := True; UniServerModule.HyperServer.ManagerHost := '主节点IP'; UniServerModule.HyperServer.ManagerPort := 8077; ``` 2. **启动多个子节点**: - 在同一服务器不同端口或不同服务器上启动多个子节点实例。 - 示例命令行参数: ``` YourApp.exe /port:8081 YourApp.exe /port:8082 ``` #### **(3) 反向代理配置(以 Nginx 为例)** 1. **配置负载均衡**: ```nginx http { upstream unigui_cluster { least_conn; # 负载均衡策略(最小连接数) server 主节点IP:8077; # 指向 HyperServer Manager } server { listen 80; location / { proxy_pass http://unigui_cluster; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } } ``` - 外部用户通过 Nginx 访问,请求会被分发到 HyperServer Manager。 #### **(4) 会话管理** - **粘滞会话(Sticky Session)**: - 确保用户会话在同一子节点处理,需在反向代理中配置会话粘滞。 - 若需要无状态架构,可将会话数据存储到 Redis 或数据库。 --- ### **4. 关键注意事项** 1. **端口与防火墙**: - 确保主节点和子节点的端口在防火墙中开放。 - 子节点需能访问主节点的管理端口(默认 8077)。 2. **监控与日志**: - 使用 HyperServer Manager 的 Web 界面监控子节点状态。 - 启用 uniGUI 日志功能(`UniServerModule.Logger`)排查问题。 3. **动态扩展**: - 可随时添加新的子节点,HyperServer 会自动检测并纳入集群。 --- ### **5. 测试与验证** 1. **压力测试**: - 使用工具(如 Apache Bench、JMeter)模拟高并发请求: ``` ab -n 1000 -c 100 http://your-nginx-server/ ``` 2. **故障转移测试**: - 手动关闭某个子节点,观察请求是否自动迁移到其他节点。 --- ### **6. 高级配置** - **自定义负载均衡策略**: - 修改 HyperServer 的路由逻辑(需 Delphi 代码级定制)。 - **HTTPS 支持**: - 在反向代理(Nginx/IIS)中配置 SSL 证书,实现 HTTPS 加密。 --- 通过以上步骤,可以搭建一个基于 **uniGUI HyperServer** 的高可用负载均衡集群,适用于企业级 Web 应用的横向扩展需求。具体细节需参考 [uniGUI 官方文档](https://www.unigui.com/doc/) 进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值