CloudFoundry 中的GoRouter性能測试
之前一直感觉CloudFoundry的GoRouter的性能不靠谱,或者我们的CloudFoundry 部署架构存在问题,想着进行一些压力測试,可是一直苦于没有压力測试的工具。上一周,部门须要出一个測试报告,刚好借此机会。进行一个比較好的測试。
測试的时候,是使用的两个gorouter+nginx,測试使用的应用是一个比較简单的应用,使用LoadRunner进行压力測试,使用LoadRunner的1000个用户进行,測试效果非常差。和QQ群里的同学交流,他们也出现了类似的问题,使用F5或者HaProxy 都非常正常,可是使用nginx 出现非常多问题,表现出来的性能非常差。所以也尝试改用haproxy做负载均衡。
haproxy的部署方式就不描写叙述了,使用haproxy的默认配置,性能也是非常差,開始进行调优。一開始以为是应用、gorouter的问题,可是定位了非常久,发现这些眼下看来都没有什么问题。最后,对haproxy的配置文件进行了优化,眼下我的haproxy配置文件:
global
log 127.0.0.1 syslog info
daemon
maxconn 300000
spread-checks 4
nbproc 8
defaults
log global
timeout connect 30000ms
timeout client 300000ms
timeout server 300000ms
# maxconn 320000
# option http-pretend-keepalive
option dontlognull
option forwardfor
option redispatch
option abortonclose
listen admin_stats
bind 0.0.0.0:1080
mode http
option httplog
maxconn 10
stats refresh 30s
stats uri /stats
stats realm XingCloud\ Haproxy
stats auth admin:admin
stats hide-version
frontend http-in
mode tcp
bind *:80
reqadd X-Forwarded-Proto:\ http
default_backend tcp-routers
backend tcp-routers
mode tcp
balance source
server node1 10.106.1.46:80 weight 10 inter 2000 rise 2 fall 5 maxconn 10000
server node2 10.106.1.57:80 weight 10 inter 2000 rise 2 fall 5 maxconn 10000
还须要改动 操作系统的配置 /etc/sysctl.conf
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.ip_local_port_range = 1024 65000
net.nf_conntrack_max = 1024000
改动该配置文件,主要是为了添加机器能够打开的TCP连接数,还须要设置ulimit,设置的应该比較大一些。我使用的操作系统是Ubuntu10.04 ,须要载入模块 modprobe ip_conntrack
终于的測试结果:

之前使用nginx的时候,才300TPS。。。哎。。如今最终好多了。眼下使用的机器都是虚拟机(4core /10G/ )假设使用更好的机器,不知道结果会不会好一些。
个人独立博客:http://www.wangdk.com/
CloudFoundry 中的GoRouter性能測试的更多相关文章
- Window平台搭建Redis分布式缓存集群 (一)server搭建及性能測试
百度定义:Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对很多其它.包含string(字符串).list(链表).set(集合).zset(sort ...
- mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY'
mysql主键设置成auto_increment时,进行并发性能測试出现主键反复Duplicate entry 'xxx' for key 'PRIMARY' 解决方法: 在my.cnf的[mysql ...
- android 性能測试iozone篇
一:简单介绍 iozone是一个文件系统的benchmark工具, 用于測试不同的操作系统中文件系统的读写性能, 能够測试下面13种模式 0=write/rewrite 1=read/re-read ...
- 系统吞吐量、TPS(QPS)、用户并发量、性能測试概念和公式
PS:以下是性能測试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗.外部接口.IO等等紧密关联.单个reqeust 对CPU消耗越高, ...
- Linux 性能測试工具
Linux 性能測试工具 linux performance 查看系统配置 查看CPU信息 lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64- ...
- LR杂记 - 性能測试指标及经常使用的监控工具
监控指标 性能測试通常须要监控的指标包含: 1.serverLinux(包含CPU.Memory.Load.I/O). 2.数据库:1.Mysql 2.Oracle(缓存命中.索引.单条SQL性能.数 ...
- PHP归档phar性能測试
PHP自从5.3后新增PHAR归档,Phar 归档的概念来自 Java™ 技术的 JAR 归档,它同意使用单个文件打包应用程序.这个文件里包括运行应用程序所需的全部东西.该文件不同于单个可运行文件,后 ...
- Redis源代码分析(十三)--- redis-benchmark性能測试
今天讲的这个是用来给redis数据库做性能測试的,说到性能測试,感觉这必定是高大上的操作了.redis性能測试.測的究竟是哪方面的性能,怎样測试,通过什么指标反映此次測试的性能好坏呢.以下我通过源代码 ...
- 微博达人硅谷之歌:Testin云測移动搜索性能測试非常是让人信服
微博达人硅谷之歌:Testin云測移动搜索性能測试非常是让人信服 2014/10/08 · Testin · 开发人员訪谈 2013年11月1日,谷歌运行董事长施密特(Eric Emerson Sch ...
随机推荐
- iPhone、iPad强制关机
情景:iPad測试应用过程中死机了. 解决:同一时候按住右上方的电源键和屏幕下方的HOME键大约10秒左右. 就会自己主动强制断电关机,然后重新启动. 强制重新启动后你会看到进入苹果的标志,然后进入主 ...
- C#获取Excel中所有的Sheet名称
原文地址:http://blog.csdn.net/qq1010726055/article/details/6858849 Excel.Application myExcel = new Excel ...
- 菜鸟学Java(十九)——WEB项目測试好帮手,Maven+Jetty
做WEB开发,測试是一件非常费时间的事情.所以我们就应该用更简单.更快捷的方式进行測试.今天就向大家介绍一个轻量级的容器--jetty.j今天说的etty是Maven的一个插件jetty-maven- ...
- SE 2014年4月2日
一 描述OSPF协议 LSA(Type 1~5)的名称,始发者以及特点 第一类LSA (router lsa)该类lSA为启动了ospf进程的所有路由器都可以产生,该类LSA主要含有本地路由器的接口状 ...
- Date和String类型的相互转换
String转Date: SimpleDateFormat bartDateFormat = new SimpleDateFormat("MM-dd-yyyy"); String ...
- 开源论坛jforum的集成
Jforum是一款开源的java类的论坛,小巧高效,运用了很多JSP新技术,支持hsqldb.oracle.mysql. postgresql数据库,完全遵从MVC设计模式. 1.首先下载最新的版本( ...
- PHP类中的七种语法说明
类中的七种语法说明 -属性 -静态属性 -方法 -静态方法 -类常量 -构造函数 -析构函数 <?php class Student { // 类里的属性.方法和函数的訪问权限有 (函数和方法是 ...
- Android---53---多线程下载
采用HttpURLConnection HttpURLConnection从继承URLConnection,它也可以被用来发送到指定的网站GET求 POST求. 办法: int getResponse ...
- Swift难点-继承中的构造规则实例具体解释
关于继承中的构造规则是一个难点. 假设有问题,请留言问我. 我的Swift新手教程专栏 http://blog.csdn.net/column/details/swfitexperience.html ...
- jQuery插件之-瀑布流插件
jquery.wookmark.js 一个实现瀑布流自适应宽度布局的jQuery插件—jquery.wookmark.js , wookmark使用非常简单到只需要一句代码就能实现,除此之外,当页面宽 ...