欢迎来到皮皮网官网

【jsp源码 erp】【小叮当源码】【erp源码网】haproxy源码部署

时间:2024-12-23 09:15:01 来源:纸牌游戏app源码

1.NGINX 和 HAProxy:基于公有云标准环境的码部用户体验测试对比
2.haproxy安装
3.使用命令行启停HAProxy的Backend

haproxy源码部署

NGINX 和 HAProxy:基于公有云标准环境的用户体验测试对比

       NGINX 和 HAProxy 在公有云环境下的用户体验测试对比

       在深入探讨性能指标时,我们往往倾向于关注峰值吞吐量或每秒请求数(RPS),码部然而,码部这些指标可能未能全面反映站点的码部实际性能需求。站点的码部性能需求取决于必须服务的并发用户数量以及每个用户活跃程度。最终,码部jsp源码 erp用户的码部体验才是决定性因素。用户并不关心有多少人正在访问站点,码部他们更关注的码部是能够获得最佳服务,且系统不会因过载导致性能下降。码部

       因此,码部对于企业来说,码部关键在于提供在高负载下也能持续提供低延迟、码部可靠性能的码部服务。本文将从两个方面对比 NGINX 和 HAProxy 在公有云标准环境下的码部用户体验测试:测试程序与收集的指标,以及测试方法与代理配置。

       在测试中,我们使用压测工具wrk2 模拟客户端,连续发出HTTPS请求,NGINX或HAProxy作为反向代理,与客户端建立加密连接,小叮当源码并将请求转发至后端Web服务器。三个组件(客户端、反向代理和Web服务器)均运行在Ubuntu ..1 LTS、EC2的c5n.2xlarge实例上。

       我们收集了完整的延迟指标百分位分布,包括客户端从生成请求到接收响应所用的时间。此百分位分布将测试期间的延迟测量值从高到低排序。

       测试中,借助wrk2(版本4.0.0),我们运行脚本生成4个wrk线程,erp源码网共建立个连接,持续秒生成指定数量的RPS。参数对应于wrk2选项。在一组测试中,我们逐渐增加RPS数量,直至代理CPU利用率达到%。

       客户端与代理间所有连接采用TLSv1.3建立,使用位ECC密钥加密、PFS(完全向前保密)以及TLS_AES__GCM_SHA密码套件。在测试中,countc指标源码我们使用TLSv1.2进行重跑,结果与TLSv1.3相似,故不再详述。

       在HAProxy测试中,我们使用版本2.3(稳定版)进行反向代理性能测试。HAProxy在1.8版本中引入了多线程作为多进程的替代方案,解决状态共享问题,但多线程模式下的性能不如多进程模式。我们的配置包含了多线程模式(HAProxy MT)和多进程模式(HAProxy MP)。

       NGINX测试中,钓页源码我们使用开源版1..0作为反向代理,配置中使用worker_processes指令添加auto参数,以便使用设备上所有可用的内核,同时添加worker_cpu_affinity指令,将每个worker进程绑定到一个CPU。

       性能测试结果表明,三个反向代理在未耗尽RPS能力时性能相当。在RPS为,的负载级别上,HAProxy MT的CPU利用率首先达到%,随后性能急剧下降。HAProxy MP的性能相对更好,延迟在第百分位前保持较慢的上升速度,并在达到大约毫秒时趋于平稳。NGINX在整个百分位上几乎都没有延迟,最高延迟(第.百分位)约为8毫秒。

       从用户体验角度看,延迟分布中的高百分位数更能代表多数请求的延迟情况,对用户感知影响更大。NGINX无需在性能与多线程模式之间做取舍,能够提供多进程的卓越性能,避免了HAProxy中的状态共享限制。

       测试结果证明,NGINX在用户体验上优于HAProxy,尤其是在高负载下仍能提供低延迟、可靠性能。NGINX的配置灵活,可根据需求调整,无需担心多线程模式带来的复杂性。

       欲使用NGINX开源版,请下载二进制文件或源代码。更多资源,可访问NGINX开源社区。

haproxy安装

       安装HAProxy的具体步骤如下:

       首先,使用tar命令解压HAProxy的源代码包:tar zxvf haproxy-1.4.8.tar.gz

       解压完成后,进入解压目录:cd haproxy-1.4.8

       接着,使用uname -a命令查看Linux内核版本,以确定兼容性。

       接下来,运行make TARGET=linux PREFIX=/usr/local/haproxy命令,指定编译目标和安装路径,创建HAProxy的可执行文件。

       最后,执行make install PREFIX=/usr/local/haproxy命令,完成HAProxy的安装。

       以上步骤详细介绍了如何安装HAProxy,通过上述操作,可以顺利地将HAProxy部署在Linux系统上,用于负载均衡和反向代理服务。

使用命令行启停HAProxy的Backend

        HAProxy自带监控页面,需要在HAProxy使用的配置文件haproxy.cfg中添加配置项进行开启,重启HAProxy服务后生效。

        添加的配置大致如下:

        浏览器地址栏输入 cat类似,可以看做netcat的加强版,关于它的详细资料可以自行google,我们这里使用编译源码方式进行安装:

        3. socat使用

        到这里我们就可以使用socat对后端服务进行操作了,首先输入下面这条命令看下可以使用的命令有哪些

        echo ""| socat stdio /home/haproxy/haproxy.sock

        输出结果如下:

        我们可以使用上面的disable和enable命令启停HAProxy代理的后端或frontend前端服务:

        disable与enable支持“agent”、“frontend”、“health”和“server”,命令要比图形界面强大的多,好多参数设定,都可以使用socat来操作。记住一个格式“命令 backend/server”。

        熟悉使用方法后,我们可以编写脚本,通过执行脚本文件来启用/停用frontend或server。

        远程操作HAProxy

        上面的这些操作都是在HAProxy所在的机器上进行的,而且机器上都只开了一个HAProxy进程,生产环境上我们需要在远程机器上对HAProxy进行操作,并且HAProxy会开很多进程,现在针对这种需求进行相应调整。

        先把HAProxy的配置修改贴一下:

        重启HAProxy。

        在另外的机器上安装socat,然后写个脚本haproxy.sh远程停用或启用HAProxy对后台服务的代理:

        执行脚本操作代理:

copyright © 2016 powered by 皮皮网   sitemap