<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d4684235500622716427\x26blogName\x3dCaiwangqin\x27s+blog\x26publishMode\x3dPUBLISH_MODE_HOSTED\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttp://blog.caiwangqin.com/search\x26blogLocale\x3dzh_CN\x26v\x3d2\x26homepageUrl\x3dhttp://blog.caiwangqin.com/\x26vt\x3d3393395200455623441', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Caiwangqin's blog

Focus on Cloud Service, Smart Hardware, Architecture, Technic and beyond…

Apache+Mongrel cluster vs Nginx+Mongrel cluster

2007年12月31日星期一

以下是相同服务器(PC)下,相同配置的Mongrel cluster测试后的结果。

Apache:






debian:~# httperf –port 80 –server 192.168.1.7 –num-conns 30 –uri /
httperf –client=0/1 –server=192.168.1.7 –port=80 –uri=/ –send-buffer=4096
–recv-buffer=16384 –num-conns=30 –num-calls=1
Maximum connect burst length: 1

Total: connections 30 requests 30 replies 30 test-duration 2.085 s

Connection rate: 14.4 conn/s (69.5 ms/conn, <=1 concurrent connections)
Connection time [ms]: min 42.9 avg 69.5 max 189.5 median 45.5 stddev 47.5
Connection time [ms]: connect 0.1
Connection length [replies/conn]: 1.000

Request rate: 14.4 req/s (69.5 ms/req)
Request size [B]: 64.0

Reply rate [replies/s]: min 0.0 avg 0.0 max 0.0 stddev 0.0 (0 samples)
Reply time [ms]: response 69.2 transfer 0.2
Reply size [B]: header 284.0 content 16728.0 footer 0.0 (total 17012.0)
Reply status: 1xx=0 2xx=30 3xx=0 4xx=0 5xx=0

CPU time [s]: user 0.19 system 1.75 (user 9.2% system 84.0% total 93.2%)
Net I/O: 239.9 KB/s (2.0*10^6 bps)

Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0
Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0





Nginx:






debian:~# httperf –port 81 –server 192.168.1.7 –num-conns 30 –uri /
httperf –client=0/1 –server=192.168.1.7 –port=81 –uri=/ –send-buffer=4096
–recv-buffer=16384 –num-conns=30 –num-calls=1
Maximum connect burst length: 1

Total: connections 30 requests 30 replies 30 test-duration 2.030 s

Connection rate: 14.8 conn/s (67.7 ms/conn, <=1 concurrent connections)
Connection time [ms]: min 42.4 avg 67.7 max 160.1 median 44.5 stddev 45.2
Connection time [ms]: connect 0.1
Connection length [replies/conn]: 1.000

Request rate: 14.8 req/s (67.7 ms/req)
Request size [B]: 64.0

Reply rate [replies/s]: min 0.0 avg 0.0 max 0.0 stddev 0.0 (0 samples)
Reply time [ms]: response 67.5 transfer 0.1
Reply size [B]: header 282.0 content 16728.0 footer 0.0 (total 17010.0)
Reply status: 1xx=0 2xx=30 3xx=0 4xx=0 5xx=0

CPU time [s]: user 0.21 system 1.77 (user 10.2% system 87.3% total 97.5%)
Net I/O: 246.4 KB/s (2.0*10^6 bps)

Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0
Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0






可以看到 Nginx 比 Apache 快 0.4 req/s , 感觉这个可以忽略不计,但从浏览器上打开看,一个有较多图片的页面,明显感觉Nginx要比Apache, 可能在静态文件的处理上,Nginx比Apache要快。


标签:

posted by Jesse Cai, 上午3:25 | Permalink | 0 comments |

[P1.cn] 欢迎 Geoffrey Dou 加入 P1.cn 团队

2007年12月20日星期四



Geoffrey Dou:


1st ChinaonRails open course 学员, 课程项目是:http://rbookmarks.cn/ .


BLOG:http://www.coffeeworks.cn/



从今天起,P1.CN 发团队已经有了4名成员。下一个 Rlease 即将完成,服务器硬件也正在扩容,敬请期待更精彩的P1, 更稳定的服务。



标签:

posted by Jesse Cai, 上午7:40 | Permalink | 0 comments |

Rails 2.0

2007年12月18日星期二


bd7lx 使用 pownce 分享给我 peepcode-rails2,该书从 ActiveRecord, ActionController &ActionView,Miscellaneous(Environment File/Rake/Debugging), Deprecated Features, Changelogs 五个方面讲述了Rails 2 的特性,很吸引人。但我目前的项目还是基于Rails 1.2.3的,在短期内不会升级至Rails 2. 要把一个项目从1.2.3改写到Rails 2, 不是很爽的过程,考虑到Rails 2达到稳定还需要一段时间,更重要的是还有一些我使用到的 Plugins 不能支持 Rails 2, 可能至少要在三个月后再做这件事,但新项目会基于 Rails 2 来开发。


建议初学者不要被媒体报道迷惑,各种资料和插件资源还是Rails 1.2.x丰富,从这个入手学习更轻松。


标签:

posted by Jesse Cai, 下午1:48 | Permalink | 0 comments |

难道慢性胃炎是不治之症?

2007年12月10日星期一


病历上写着:左腰部不适5年。


我左腰部有段时间不适了,不是疼痛,感觉有点涨得不舒服,好长时间以前就有这种情况,中间又没有,今天决定到医院看看。计程车司机说离国贸近的医院是垂杨柳医院,于是去到医院填单,买IC卡,挂号,系统比较先进,但服务流程不好,看病的人还是比较混乱。


好像男人一旦腰部不适,就被人怀疑是肾有问题。在咨询台告诉值班医生我不适的部位,询问挂什么号,她建议我到秘尿科。经过半小时的等待,医生询问我不适的部位后,说这是肠,跟肾没关系。验尿后没有发现异常,于是建议我到消化科。于是我又重新挂消化科的号,经过了一个半小时的排队等待后,老医生给我看了,让我躺在床上拍了几下肚子,说里面有气,慢性胃炎。回家注意饮食,不要吃凉的和辣的食物,不用吃药。


经过一个下午的折腾,我左腰部依然不适。站着、走路都没问题,坐下和躺下后就感觉有东西顶着一样。


难道慢性胃炎是不治之症?




标签:

posted by Jesse Cai, 上午9:21 | Permalink | 0 comments |

北京又下雪了



这是我在北京经历的第二次下雪,上次是在2007年3月4号,似乎那次天气比这次要好,看得要清楚多了。


想起家乡的一首描写雪景的打油诗:


天地一笼统,井上黑窟窿。黄狗身上白,白狗身上肿。


标签:

posted by Jesse Cai, 上午2:55 | Permalink | 0 comments |

ChinaonRails Career Certifications

2007年12月8日星期六



1st ChinaonRails Open Course 总结报告里的作品是由上面这些人完成的。请记住这些人和作品,同样欢迎大家加入他们的团队:


到此1st ChinaonRails Open Course完满结束。


标签:

posted by Jesse Cai, 下午1:00 | Permalink | 0 comments |

编程的革命

2007年12月7日星期五


刚收到了到 Heroku 的邀请,上图是创建一个新的 Rails application 后的在线编辑窗口,虽然还不可以和Textmate媲美,但配色已经相当好看了。各项操作也很流畅。


Heroku 可以让 Rails application 实时的展示,也可以导入导出。Collaborators 应该是邀请别人共同编辑这个项目,这是团队协作的功能。我觉得还不能取代 SVN 之类的 Coding 协作工具。希望体验的朋友可以到 Heroku 上留个 Email , 4天后就可以收到注册邀请了。


Heroku 相当酷,但它还只是个玩具。


标签:

posted by Jesse Cai, 上午1:55 | Permalink | 0 comments |

1st ChinaonRails Open Course 总结报告

2007年12月6日星期四

以下是对第一期 ChinaonRails Open Course 的总结,供所有对 Ruby on Rails 和敏捷开发感兴趣的朋友更好地了解本次培训活动。

一、起因
随着敏捷开发和 Ruby on Rails 的渐渐流行,越来越多的技术开发人员投身其中。ChinaonRails 作为一个 Ruby on Rails 专业论坛,也很乐意举办一些的培训活动,在中国做些事有助于 Ruby on Rails 传播的事。经过一定的活动策划和组织 ,第一期培训2007-11-10正式开始,应该是目前国内唯一的针对 Ruby on Rails 的系统免费培训活动。

二、组织形式
ChinaonRails Open Course 是由 Caiwangqin 组织并实施的 Ruby on Rails 系统培训,有条件的招收一定数量的学员(本期学员大多是有1-2年 Java 编程经验),进行连续4周的学习。该 Open Course 贯彻系统、免费、公开的原则,以项目实践推动学习进程。每周末一次讲解、答疑以及学员团队之间的交流。使用论坛 ChinaonRails.ComMSN Group 进行沟通,使用 BasecampTrikr 进行项目管理。

三、过程
经过了(一)第一次亲密接触(二)初试牛刀(三)高级战略(四)开源实践连续四周的培训,1st ChinaonRails Open Course 胜利结束。bd7lx 说向能坚持始终的学员们和组织者们致敬,Robert Mao 也从GTalk上发来消息支持 Open Course,感谢各位朋友的关注和支持,感谢在这期活动中出席的嘉宾 Eric Sun (来自趣客)和 Bin Dong (来自NibiruTech),感谢 P1.cn 提供场地支持,感谢学员们保持的积极学习态度。

四、成果展示
Open Course 从开课之日起,将学员随机的分为三个小组,以下分别展示三个小组的开源项目。
Team 1:
Google Code: http://code.google.com/p/cor-43things/
Group: http://groups.google.com/group/cor_43things
项目演示: http://whereq.chinaonrails.com
Screenshot:


Team 2:
Google Code: http://code.google.com/p/financing-rails2/
Group: http://chinaonrails.com/go/ask
项目演示: http://petools.chinaonrails.com
Screenshot:


Team 3:
Google Code: http://code.google.com/p/share-bookmarks/
Group: http://groups.google.com/group/chinaonrails-team3
项目演示: http://rbookmarks.chinaonrails.com
Screenshot:


五、缺陷不足



  • 线上交流不足,ChinaonRails 有问有答 区问题不够多

  • 学员还不习惯 Basecamp 对项目过程的管理

  • 没有录制课程视频



六、活动照片




七、媒体关注



  • 《程序员》 2007年12月刊




八、后期计划



  • 各小组持续完善各自的开源项目



Caiwangqin
2007.12.06


标签:

posted by Jesse Cai, 上午4:34 | Permalink | 0 comments |