haproxy测试
环境:
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测试的更多相关文章
- 【线上测试之后的应用】基于MySQL+MHA+Haproxy构建高可用负载均衡数据库集群(详解)
这里我们先介绍一下MHA是什么,其次就是它的应用与测试,同时为了大家呈现了数据备份案例,最后总结了使用情况以及注意事项和解决办法 一.MHA 概述 MHA(Master High Availabili ...
- keepalived+haproxy构建高可用负载均衡
一.环境介绍 我用的是centos6.7,内核版本为2.6.32-573.el6.x86_64,keepalived版本为keepalived-1.2.22,haproxy版本为haproxy-1.6 ...
- HAProxy+Keepalived+PXC负载均衡和高可用的PXC环境
HAProxy介绍 反向代理服务器,支持双机热备支持虚拟主机,但其配置简单,拥有非常不错的服务器健康检查功能,当其代理的后端服务器出现故障, HAProxy会自动将该服务器摘除,故障恢复后再自动将该服 ...
- Haproxy+PXC实现负载均衡
软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第 三方应用的软负载实现.LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载.HA ...
- HAproxy+varnish动静分离部署wordpress
author:JevonWei 版权声明:原创作品 实验背景:将wordpress应用部署在后端服务器上,使用HAProxy做代理服务器,Varnish做缓存服务器,后端有四台web服务器,web1和 ...
- PXC5.7(Percona XtraDB Cluster)+HAproxy+Keepalived 集群部署
Percona-XtraDB-Cluster+Haproxy 搭建集群环境 环境准备及服务器信息: 配置防火墙 firewall-cmd --add-port=3306/tcp --permanent ...
- Redis+Twemproxy+HAProxy集群(转) 干货
原文地址:Redis+Twemproxy+HAProxy集群 干货 Redis主从模式 Redis数据库与传统数据库属于并行关系,也就是说传统的关系型数据库保存的是结构化数据,而Redis保存的是一 ...
- haproxy(单机)+mysql集群负载均衡
HAProxy是 七层代理 ,在使甠HAProxy后,在MySQL上 看不到Apps的源IP地址 ,看到的是HAProxy地址,而 MySQL的权限访问设置是和IP地址有关 ,这样就导致了MySQL无 ...
- [Z]haproxy+keepalived高可用群集
http://blog.51cto.com/13555423/2067131 Haproxy是目前比较流行的一种集群调度工具Haproxy 与LVS.Nginx的比较LVS性能最好,但是搭建相对复杂N ...
随机推荐
- javascript正则表达式:匹配所有html标签
此正则表达式收集于网络,但那个网站连复制一下都需要注册会员,鄙视之,所以不提他了.而且,原作者也不可能是那个网站. html标签有<h1></h1>这种成对的,也有<br ...
- 第一个Android应用--签证无忧 上线
用了大概1个多星期的时间,把一个简单的应用完成,[签证无忧]是基于在我所在公司办理签证的前提下,为方便客户查询进度所开发,后来我加了淘宝的购买链接,这样客人在以后需要时不需要到淘宝查找了. 签证无忧这 ...
- javascript 中断函数的使用 setInterval();
<script type="text/javascript"> var i=1; var IR1 = setInterval("myMethod()" ...
- C++标准库:std_map作为一个关联数组
摘要:std::map作为一个容器存在一个典型应用就是作为关联数组来作用.在诸如Java等等语言中,关联数组广泛存在.std::map是一个容器,在它的概念框架中存在两个词:键和值,std::map把 ...
- linux显示git commit id,同时解决insmod模块时版本不一致导致无法加载问题
linux内核默认会包含git的commit ID. 而linux的内核在insmod模块时,会对模块和内核本身的版本做严格的校验.在开发产品时,改动内核后,由于commit ID变更,会导致linu ...
- 运维自动化轻量级工具pssh
1pssh介绍 pssh是python写的可以并发在多台机器上批量执行命令的工具,它的用法可以媲美ansible的一些简单用法,执行起来速度比ansible快它支持文件并行复制,远程命令执行,杀掉远程 ...
- Python【第四章】:socket
ocket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Uni ...
- Beta阶段第四次Scrum Meeting
情况简述 Beta阶段第四次Scrum Meeting 敏捷开发起始时间 2016/12/13 24:00 敏捷开发终止时间 2016/12/14 24:00 会议基本内容摘要 进度平稳推进,分配新任 ...
- JavaScript 中对内存的一些了解
在使用JavaScript进行开发的过程中,了解JavaScript内存机制有助于开发人员能够清晰的认识到自己写的代码在执行的过程中发生过什么,也能够提高项目的代码质量.其实关于内存的文章也有很多,写 ...
- 【总结】详细说说@Html.ActionLink()的用法
一.@Html.ActionLink()概述 在MVC的Rasor视图引擎中,微软采用一种全新的方式来表示从前的超链接方式,它代替了从前的繁杂的超链接标签,让代码看起来更加简洁,通过浏览器依然会解析成 ...