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 ...
随机推荐
- IIS HTTP 错误 404.17 - Not Found HTTP 错误 404.2 解决方法
出现这种情况的原因通常是因为先安装了Framework,后安装的IIS: 解决方法 运行cmd,输入: C:\Windows\Microsoft.NET\Framework\V4.0.30319\as ...
- libpng使用
自己的实现 unsigned int component(png_const_bytep row, png_uint_32 x, unsigned int c, unsigned int bit_de ...
- ES5基础之正则表达式02:范围类、预定义类和边界字符
1.范围类 //元字符 /* * 正则表达式由两种基本字符类型组成 * 1.原义文本字符:例如123abc * 2.元字符:元字符是在正则表达式中有特殊含义的非字母字符 */ //常见特殊符号:. * ...
- TinyFrame系列:基于EFCodeFirst,IOC,AOP的轻型框架
TinyFrame开篇:基于CodeFirst的ORM TinyFrame续篇:整合Spring IOC实现依赖注入 TinyFrame再续篇:整合Spring AOP实现日志拦截 TinyFrame ...
- 记一次事件委托在 ios 下的兼容 bug
项目中碰到的兼容类 bug,记录一二. 页面上有几个同类型的控件,点击它们会触发一些事件,很显然,事件委托优于批量绑定.为了图方便,我将 click 事件绑定到了 document.body 上(绑定 ...
- JavaScript模板引擎artTemplate.js——如何引入模板引擎?
artTeamplate.js在github上的地址:artTemplate性能卓越的js模板引擎 引入模板引擎,就是引入外部javascript啦,并且artTemplate.js不依赖其他第三方库 ...
- doc2vec使用说明(二)gensim工具包 LabeledSentence
欢迎交流,转载请注明出处. 本文介绍gensim工具包中,带标签(一个或者多个)的文档的doc2vec 的向量表示. 应用场景: 当每个文档不仅可以由文本信息表示,还有别的其他标签信息时,比如,在商品 ...
- jq实现点击某元素之外触发事件
<script type="text/javascript"> $(document).bind("click",function(e){ var ...
- 利用ucenter整合discuz数据
由于项目需要,需要用到discuz论坛用户的数据,所以想到利用ucenter获取数据.以下为整合ucenter的过程. 1.首先你需要下载官方demo:http://faq.comsenz.com/l ...
- Android开发:关于WebView
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangruijun.blog.51cto.com/3061169/647456 ...