【python源码安全】【挖客app 源码】【88H源码】haproxy 源码部署

时间:2024-12-29 01:36:22 来源:thinkphp项目源码 分类:休闲

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

haproxy 源码部署

使用命令行启停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对后台服务的代理:

        执行脚本操作代理:

haproxy安装

       安装HAProxy的具体步骤如下:

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

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

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

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

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

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

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

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

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

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

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

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

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

       客户端与代理间所有连接采用TLSv1.3建立,使用位ECC密钥加密、PFS(完全向前保密)以及TLS_AES__GCM_SHA密码套件。在测试中,我们使用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开源社区。