haproxy测试

摘要:
使用五个客户端向haproxy发送2w*5=10w并发请求:4000/s,会话数稳定在6.5w,难以打开监控接口,请求延迟非常严重。为haproxy配置的最大会话数为40w,但仍不能超过ulimit值65535。根帐户对连接数没有限制。它应该是haproxy的实现。7月25日更新:ulimit值未更改。默认值为1024。当haproxy启动时,将根据setrlimit的配置设置配置的nofile数。根操作设置为ulimit。

环境:

Clients:N台linux, 使用“ab -k -c 20000...” 并发2w 请求haproxy

Haproxy Server: R610 2*8核 2.4G

Real Server: IIS6 (50字节 html静态文件)

使用一台客户端向haproxy发起20000并发请求,如下:

1. option httpclose

  7000/s

2. option http-server-close

10000/s

3.keepalive

20000/s

4. nbproc=8 (前面nbproc=1)

2000/s (8个进程,平均CPU 30%),单核心%si 达到65%,性能不升反降 。

   后来想想是测试机器的网卡不行,多队列启动不来。

使用5台client 想haproxy 发起2w*5=10w 并发请求:

4000/s,session数稳定在6.5w,监控界面打开已经很困难了,请求延时很厉害了。

配置haproxy最大session数为40w,但还是无法超越65535 这个ulimit值,root账号可以没连接数限制的,应该是haproxy实现问题

7.25更新:


没有改ulimit 值默认1024,haproxy启动是会根据配置setrlimit 设置到配置到的nofile数,root运行设置是ulimit的。多谢@lj098提醒

/etc/security/limits.conf 中nofile 值最大不是65535,而完全可以更大。

还有就是这个测试中多进程效率不提速,后来才发现是测试那台机器网卡问题,中断都在一个核心,多进程时,每个进程都会accept连接,之后处理

按理如果中断均衡的话receive data 可以分散到各个核心,性能就能成倍提高了。

           在新的机器上重新测试:

    使用:redis-benchmark->Haproxy->redis 方式测试tcp转发,get请求

      单进程:6.5w/s 100%CPU(相比twenproxy要快一些呢)

      2进程: 12w/s 100%*2CPU

      4进程: 15w/s 65%*4 CPU

   总的来说,一定程度上使用多进程与单进程性能成比例的,因为不同连接上业务负载差不多,多进程负载还是比较均匀的。


====

整个过程IIS峰值 2w/s请求 、2w并发连接数,cpu占用8%左右,从这儿看来IIS6对静态文件的处理还是相当的强的。

免责声明:文章转载自《haproxy测试》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Mongodb联合查询从软件开发到 AI 领域工程师:模型训练篇下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Python多进程和多线程(跑满CPU)及IO模型详解

目录 Python多进程和多线程(跑满CPU)IO模型详解 Python多进程和多线程(跑满CPU) 转载自:https://www.liaoxuefeng.com/wiki/1016959663602400/1017627212385376 Python多进程和多线程(跑满CPU****) 概念 任务可以理解为进程(process),如打开一...

TiDB配置HAProxy负载均衡

1、简介 HAProxy是一个C语言编写的免费的负载均衡软件,可以运行于大部分主流的Linux操作系统上。 HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。 2、配置使用 2.1、下载安装 https://www.haproxy.org/download/1.9/src/ 此处使用的是1.9版本 解压安装:tar -...

haproxy部署及配置

HAProxy介绍 (1)HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。 HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。HAProxy运行在时下的硬件上,完全可以支持数以万计的 并发连接。并且它的运行模式使...

HAProxy安装文档

HAProxy安装文档 目录 HAProxy安装文档 一、环境说明 二、安装配置 1.创建用户 2.安装 3.创建配置文件和启动文件 三、编辑配置文件 四、启动HAproxy 五、配置日志 1.配置rsyslog 2.创建haprxoy日志配置 3.开启远程日志 4.haproxy开启日志配置 5.重启rsyslog 和 haproxy 6....

2、Apache(httpd)之一 三种工作模式

httpd的特性: 高度模块化:core + modules 模块化设计DSO:Dynamic Shared Object MPM:Multipath Processing Modules 多路处理模块 perfork MPM:多进程模型,每个进程响应一个请求  (并发模型不能超过1024个)    一个主进程:负责生成子N个子进程及回收子进程,每个子...

利用docker镜像配置mysql集群+nextcloud集群+haproxy负载均衡

测试环境: docker xampp 9.1.1 ubuntu 16.0.4 hadoop 2.7 jdk 1.8 一、配置mysql集群 通过docker拉取mysql集群镜像创建容器,包括ndb_mgm(管理节点)、ndb_mgmd01、ndbd01(数据节点1)、ndbd02(数据节点2)、mysqld01(sql节点1)、mysqld02(sql节...