自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

重思想

思维决定未来

  • 博客(129)
  • 资源 (9)
  • 收藏
  • 关注

原创 如何利用pcap接口从数据链路层发包?

采用pcap发送数据包,不仅不影响在线系统的IP层,而且可以使tcpcopy发包的性能达到最高。这里讲述的是tcpcopy如何使用pcap来发送数据包和实战中需要注意的若干事项。

2013-08-21 15:38:03 11052 40

原创 tcpcopy架构漫谈

基于server的请求回放领域,一般分为离线回放和在线实时复制两大领域,一般研究者都是从离线回放的角度在苦苦研究,而在实时复制领域,研究非常少,至少从sigcomm评审人的评审意见来看,没有看到相关内容。请求实时复制,据我所知,一般可以分为两类:1)基于应用层的请求复制2)基于底层数据包的请求复制传统的做法一般从应用层面进行复制,比如基于服务器的请求复制,这种复制的好处就是

2013-05-20 15:13:23 38993 53

原创 tcpcopy1.0系列使用方法

tcpcopy 1.0系列用法

2013-05-20 15:12:47 27610 19

原创 利用tcpcopy,如何复制在线请求到lvs的子系统中去?

由于1.0系列已经不建议使用传统iptables的方式来截获响应包,因此只书写route的使用方式使用方式和其它应用类似,但需要注意的是:1)一定要让lvs监控程序能够访问lvs的real servers,其它响应路由到运行intercept的机器上面2)辅助服务器,压力比较大的时候,interept可以采用多个实例甚至采用多台服务器来承担应答包的截获工作

2013-02-26 11:50:01 5946 2

原创 请求复制工具---tcpcopy

tcpcopy是一种请求复制(所有基于tcp的packets)工具,其应用领域较广,我们曾经应用于网易的广告投放系统,urs系统,nginx hmux协议开发等系统,避免了上线带来的很多问题。总体说来,tcpcopy主要有如下功能:1)分布式压力测试工具,利用在线数据,可以测试系统能够承受的压力大小(远比ab压力测试工具真实地多),也可以提前发现一些bug2)对于后端的短连接,请求

2011-09-26 11:01:09 5381 26

原创 tcpburn开源了

tcpburn是由网易自主研发的能够模拟千万级别并发用户的一个软件

2013-11-06 15:37:59 6487 1

原创 tcpcopy新架构具体复杂应用实例(针对tcpcopy0.9系列版本)

在线系统介绍:假设我们有在线机器A,在线机器B,在线机器C三台服务器,其中在线机器A,上面运行nginx(80端口)的业务系统,供最终用户访问,同时nginx还会内网访问在线机器B上面的adserver(端口11311)业务,在线机器C运行着伪在线业务msyql(利用sysbench模拟的)测试系统:我们有测试服务器a,b。其中a上面运行如下几个系统:1)nginx业务系统

2013-05-30 15:55:51 8219 3

原创 注意,tcpcopy 0.5版本和tcpcopy 0.4版本用法有很大的差别,而tcpcopy 1.0和tcpcopy 0.9差别也非常大

多使用tcpcopy -h和intercept -h来查看tcpcopy 0.5版本+的用法,tcpcopy 0.4以下的老版本不推荐使用了

2013-02-08 11:56:50 4010

原创 tcpcopy能否复制请求到vip?

有人写信问:测试环境:lvs 192.168.1.1vip 192.168.1.2rs1 192.168.1.21rs2 192.168.1.22线上业务:单独服务器,实ip一个。在lvs上运行./interception & (0.5以下版本用法)在线上服务器上运行./tcpcopy 实ip 80 192.168.1.2 80 (0.5以下版本用法)

2012-11-21 10:12:46 4149 6

原创 中日韩开源大赛,tcpcopy进入国内4强

从讲的过程中,就已经发现了必然晋级了,因为那些上层人士从无精打采,一下子变成了精神抖擞。tcpcopy与架构结合起来讲,一般都基本有戏。意识到冲绳原先是中国的,就不想去这个敏感地带(还是危险地带,军事重地)这里感谢程开源,也感谢余庆,还有各位战友。最后也感谢上层人士能够意识到tcpcopy对架构和软件工程的意义。

2012-10-25 10:07:12 6169 1

原创 时间真快,做开源软件1年半了

从2011年过年后,在公司没事做,就开始写开源软件,第一个软件是nginx的模块,以hmux协议访问resin,这是运维的需求,闲得蛋疼,所以才写的,结果开源以来,还没有人提出bug,此模块日均流量达到50亿pv,也算没有白写;第二个软件就是tcpcopy,比第一个成功多了,目前国内的大部分互联网公司应该知道或者已经使用此软件,也算没有白写,而且这个开源的活跃度远超第一个,用户不断提出需求,所以还

2012-08-09 14:37:24 4728 3

原创 感谢csdn,经过一年努力,tcpcopy终于在很多互联网公司应用了

经过一年的努力,目前国内大量互联网公司已经使用tcpcopy进行流量的复制,目的是提前解决上线过程中的问题。目前最新代码在如下地址:https://github.com/wangbin579/tcpcopy最新文档在docs目录

2012-08-03 17:58:09 7499 7

原创 tcpcopy复制流量到测试服务器后,如何访问测试服务器?

我们可以在执行intercept命令的时候,增加ip地址列表,tcpcopy 0.5版本及其以后版本运行如下:./intercept -x 61.135.250.86,61.135.250.87后面的ip地址列表代表了这些ip地址的访问,将不会被iptables设置的命令drop,直接会返回客户端。这里需要注意的是这些ip地址的访问,一定要直接访问测试服务器,而不能

2012-04-19 10:36:30 8496 16

原创 如何无限增大在线压力?

方法有四种,这里讲述效果较好的两种,比较适合于中小网站,方法如下:针对0.5版本及其以后版本./tcpcopy -x 服务器应用端口号-测试服务器ip地址:测试服务器应用端口 -n xx -f yy举例如下:1)在在线服务器上执行多个tcpcopy实例,但命令稍微不同,在原有命令基础上会增加 -f参数     比如你想复制3倍的在线流量或者逐步增加流量,你可以执行如

2012-04-19 10:30:59 6041 1

原创 tengine vs nginx 在线性能对比

今天针对我们的系统,进行了tengine与nginx的性能对比,下载地址:http://code.google.com/p/tcpcopy/downloads/list

2012-04-13 19:10:24 13288 1

原创 请多多支持tcpcopy,如果感兴趣的话,请投我一票

不想tcpcopy就这么被埋没投票地址:http://vote.weibo.com/vid=1629755tcpcopy ppt文档:http://code.google.com/p/tcpcopy/downloads/list

2012-04-12 18:27:28 3721

原创 nginx pk apache2.4文档出炉

这里讲述了nginx如何在实际应用中完爆apache,有兴趣的可以下载看看。下载地址:https://github.com/wangbin579/tcpcopy/downloads或者http://tcpcopy.googlecode.com/files/nginx_pk_apache_2.4.pdf欢迎指正。

2012-03-29 13:34:08 4622 5

原创 nginx pk apache 2.4全过程系列即将公布

nginx是异步处理模型,只需要几个进程就能够处理大量在线请求,而apache 2.4仍然是进程模型或者线程模型,即仍然采用大量线程来处理大量在线请求。之前淘宝曾经做过nginx和apache 2.4的性能对比,但被批很多(http://blog.zhuzhaoyuan.com/)。本人采取不同的线路来系统地科学地对比nginx和apache 2.4进行代理方面的性能对比,我们的利器就是tcpco

2012-03-26 10:14:10 4993 1

原创 tcpcopy避免了nginx的两大问题

当利用nginx某个版本的情况下,也许你不知道这个版本有哪些问题,那怎么避免上线过程中出现的问题呢?下面就是利用我们开发的tcpcopy来成功避免了上线过程中才会出现的两大问题(其它压力测试工具是发现不了的或者很难发现),希望对你们有所参考。第一次是二号人物Maxim Dounin书写的keepalive模块的问题,具体如下:http://blog.csdn.net/wangbin57

2012-03-19 18:21:58 4616

原创 小心点,不要瞎升级nginx

最近新增了功能,顺便把nginx升级到1.0.0,结果被nginx的bug恶性到了。下面是利用tcpcopy,从access.log来分析nginx各种版本的测试结果:              nginx-1.0.14 没有问题                  [wangbin@bgp176-141 logs]$ grep '16/Mar/2012:11:37' acces

2012-03-16 13:49:31 7034 3

原创 回归测试之利器---tcpcopy

当你改进了代码,但不知道会不会引起新的问题或者还有一些问题你没有考虑到,怎么办?tcpcopy可以解决你这些问题,尤其适合于回归测试。tcpcopy的原理就是复制在线的请求(比如http请求)到测试服务器中去,由于复制过去的请求数据包的过程跟路由过程相差不大,所以可以做到几乎不会影响在线系统,但针对测试机器,其测试效果几乎等同于上线测试结果。需要值得一提的是,针对http请求,tcpc

2012-03-14 15:17:19 4176

原创 nginx lua模块还真是利器

利用nginx lua模块,外加nginx模块开发+对memcached的异步改造,就能够实现很多基于异步架构的复杂应用.以前老是纠结于异步架构的复杂,现在感觉轻松多了,很多应用轻松可以搞定,再加上tcpcopy请求复制,可以做到开发无差错或者开发风险大大降低,开发不再充满焦虑,反而充满乐趣.如果大家有兴趣的话,建议看看nginx模块开发,nginx lua模块,也可以看看tcpcopy,

2012-03-13 21:00:01 4660 2

原创 开源中国推广效果还真不错

推广tcpcopy的时候,每天还有几十个下载量;推广完了,一天都没有下载量。看来开源要找好的渠道,否则就消失在茫茫信息量中去了

2012-03-09 10:59:04 1126

原创 很看不怪小事做大的技术人员

明明一台服务器能够解决的问题,非要搞分布式,非要搞什么hadoop,结果主要精力化在hadoop本身上面去了。什么样的问题,就用什么样的工具,为啥很多科班人士不懂呢

2012-03-07 13:46:14 1434 1

原创 抓包函数分析

tcpcopy代码中试验了各种不同的抓包函数:1)int sock = socket(AF_PACKET,SOCK_DGRAM,htons(ETH_P_ALL));这个函数工作在数据链路层,可以截取IN的数据包和OUT的数据包,我们做了这么一个测试:我们在208机器上发起mysql请求,148作为在线服务器,同时在148上面运行tcpcopy来截取数据包,并且发送请求包给161(作为测

2012-03-02 17:00:41 2653

原创 谈谈对IT学习的态度

进入it若干年,虽然没有上过什么有用的课,但我还是有些心得的,其实也就是拿物理的学习方法来学习it。总结如下:1)永远不要盲目相信别人的结论性知识不同的环境下,可能有不同的结论,哪怕是书本上的知识,也不能盲目相信。就拿清华的数据结构书籍来说,说堆排序对于记录数较少的文件并不值得提倡,但对于n较大的文件还是很有效的。经过我的实践,结论正好相反。2)要不断善于总结随

2012-03-02 14:39:11 1442

原创 分布式TCP压力测试工具 tcpcopy

在开源中国网站中,tcpcopy属于性能测试和优化系列。居然有人这样评价:LongRaindy 回答于 2012-02-26 00:28 (4天前)我感觉这确实是很先进的测试工具,起码对于我所在的领域而言,这是非常非常有用的测试工具,不单是节省了硬件,而且能达到最好的测试效果。收藏并支持一个!!深感欣慰,希望不是托。

2012-02-29 09:48:35 2860

原创 nginx hmux模块被冷落了

自从在开源中国上传了tcpcopy和nginx hmux模块介绍,tcpcopy反应不错,但nginx hmux连一个下载量都没有增加。nginx hmux模块可是费了很大劲才写成的,要求苛刻,不能出大错。tcpcopy一般出问题也没有关系,毕竟不影响到公司的赚钱。所以还是写用户需要的,而且风险小的。

2012-02-24 15:22:36 2662

原创 淘宝Tengine vs ngx_openresty

之前对这迷迷糊糊的,以为是同一个东西,问了agentzh,终于明白差别了。agentzh是这样说的:Tengine 是一个 nginx 的 fork,而 ngx_openresty 是 nginx 的 bundle.最初两者没有交集,后来Tengine 也是 ngx_openresty 多数核心组件的用户 了,Tengine pdf文档中提到ngx_lua等核心组件也不足为

2012-02-23 15:10:35 8231

原创 ngx_lua模块,发现不少英文单词错误

可能agentzh太忙了,注释中出现了不少英文错误。有幸查看代码中发现了不少,目前所能做的也就是理解ngx_lua模块的原理,发现一些注释错误。希望大家也参与进来,共同改善开源项目

2012-02-22 10:17:02 1512 1

原创 为了提高微博粉丝数量,把猎头都加上了

是不是很没有品味

2012-02-21 18:56:32 1352 2

原创 为啥国内推广开源这么难?

辛辛苦苦写了两个开源,其中tcpcopy个人觉得对于很多公司都有用,为啥向开源中国微博推荐这,却得不到响应?难度国内的开源都这么牛了,都看上哪些开源了?虽然难度有点大,但我不灰心,今年继续推广这款很有意义的软件.

2012-02-19 16:08:50 2380 10

原创 国内公司也就淘宝开源比较给力了

国内开源,貌似火的也就淘宝了,其它公司是不是不舍得,还是没有实力开源.个人主导的开源大都也淹没在大海之中了,太难了.淘宝开源会不会让京东占大便宜?

2012-02-19 15:02:05 1736

原创 最近一段时间打算主攻lua

最近一星期初步看了lua,感觉语言不错,但推荐的书籍不怎么的,好多稀里糊涂的,不像大师写的那么容易明白.下星期准备从lua源代码入手,把各种不明白给整明白,不想从书籍中获取知识了.公司目前在推广lua,一方面暴雪游戏是用lua的,另一方面就是淘宝也在用这个.为了迎合公司的喜好,打算最近主攻这个,一方面也算为公司做点事情,另外一方面也是为了迎接agentzh来讲解ngx-lua方面的内容

2012-02-18 17:54:06 1722 1

原创 lua编译问题总结

1、首先安装lualinux系统make linuxmake install2、编译gcc -lm  -g -o test test.c /usr/local/lib/liblua.a -ldl如果少-ldl,那么编译就会报:gcc -lm  -g -o test test.c /usr/local/lib/liblua.a  /usr/

2012-02-16 17:39:50 13776 1

原创 简历一更新,结果招来很多猎头的电话。

我只是更新一下简历,并没有打算最近找工作,我想找,也找不了,小孩出生,忙得不行,哪有工夫去折腾面试。不过我还是纯loser一个,还需要修改简历以保持同步。

2012-02-15 15:01:54 2266 4

原创 初步完成mysql正常方式的请求复制

mysql 非skip-grant-tables方式请求复制工具如下(0.5版本以下版本):      1)必须保证线上和测试机的用户名和用户名对应的权限要一样,密码可以不一样,这样做的目的就是保证在线和测试校验过程一样,简化tcpcopy。      2)启动方法在原先基础上,增加用户名密码对 -p 用户名1@密码1:用户名2@密码2:...          ./tcpco

2012-02-15 10:52:33 1119 2

原创 偶然发现nginx_hmux_module下载量增加了不少

居然还有老外用我们的东西,可惜我英文不好,不过居然还交流成功了,以后得加强英文交流的能力。

2012-02-14 15:00:47 1033

原创 mysqlcopy 版本初步试验结果 (非skip, 采用的tcpcopy为 0.5以下的版本)

说明一下:以下试验所采用的tcpcopy为 0.5以下的版本,仅供参考,如果要使用mysqlcopy,请下载最新的代码(https://github.com/wangbin579/tcpcopy)从208远程发起大量mysql请求,命令如下:[root@yz250-208 ~]# sysbench --debug=off --test=oltp --mysql-table-

2012-02-14 14:37:41 1945 9

原创 tcpcopy决定支持非skip-grant-table的模式了

为了解决mysql的主从问题,打算支持非skip-grant-table,以支持mysql多方面的需求。希望大家多多支持。

2012-01-19 09:47:40 1387 1

nginx pk apache2.4

这里讲述了nginx如何在实际应用中完爆apache,有兴趣的可以下载看看。

2012-03-29

自动化测试ppt

在开发广告投放系统时,利用自动化测试,避免了很多问题,特别是功能方面的问题。 在开发广告投放系统的时候,很少出现问题,第一功劳是tcpcopy(老的单机器版本,需要设置路由),第二功劳是自动化测试 希望对大家有用

2011-11-02

java代码质量控制

非常实用的代码控制工具介绍,例如jprofile,PMD等工具的ppt介绍

2011-04-16

异步编程及其在广告投放中的应用

讲述了把memcached代码改造成异步架构,并利用异步思想构造了多层异步架构,对于每秒2万请求的应用非常有效,改造后利用的服务器数量同比double click降低了一半以上

2011-04-16

中等规模海量数据处理实例分析

只需要一台普通服务器计算近60亿pv数据

2011-04-16

Understanding the Linux Kernel

linux内核机制----不可多得的讲述linux内核的书籍

2009-04-24

Inside Java Virtual Machine

成为高手必备的书籍,一定要了解的一本书 读了此书,可以了解java的多态是如何实现的 为什么成员变量不具有多态性

2009-03-10

Understanding the Linux Kernel 3rd Edition

一本讲述linux内核的好书,绝对值得一看。 linux爱好者赶紧下吧 Understanding the Linux Kernel 3rd Edition.chm

2009-03-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除