发挥你的思维,没有做不到的事情

在新的一年,Yo2 的服务器压力比以前大多了。为了能够提供快度的博客访问,我们使用了多种服务软件。比如 nginxsquidlighttpd等,这些在 linux 系统上的性能都是十分棒的 :) 不过我们还在追求更快、更高效率的解决方案。

我作为一个开发员,想法又特别的多 _-!! 居然想到自己写个 web server _-!! 汗~

有了想法当然必须做出行动 :) 立刻到网上查找相关资料,首先从英文网站出发(国外的开源项目多,并且代码都很好),逛了一整天,终于找到一个国人写的 epoll 代码模型。因为只是个模型,根本没有任何业务处理能力,这些就得自己写了 :) 花费2天 时间,就在这个基础模型上实现了 web server 功能。

yo2pagengine 终于面世 :) 不到 1000 行代码,当然还有很多功能没加进去,但已经可以实现基本的 web server 服务。

我使用了 siege web 服务压力测试软件,测试了一下 yo2pagengine 的性能。在 gdb 调试进程内服务,得出的成绩是每秒处理 150 个请求。我把该结果告诉了 charles 和一个熟悉 web 系统的网友,都觉得这个成绩很棒咯。呵呵,但这个数据只是我在 debug 模式测试出来的,真正的业务处理能力在下面:

$:siege -c 300 -r 100 -f oneoo.com.url (包含350个URL)

Transactions: 30000 hits
Availability: 100.00 %
Elapsed time: 83.53 secs
Data transferred: 217.47 MB
Response time: 0.07 secs
Transaction rate: 359.15 trans/sec
Throughput: 2.60 MB/sec
Concurrency: 25.49
Successful transactions: 30000
Failed transactions: 0
Longest transaction: 13.77
Shortest transaction: 0.00

处理能力达到每秒处理 360 个请求 !哇~这个成绩是在我自己的电脑上测试的,web server 和 siege 都开在同一个电脑上,还有 linux 效率比较低的 X (在我的电脑上,Vista 运行起来比它流畅多了,很不解,怎么人人都说它性能好)如果是在真正的服务器上使用,肯定不只这个成绩 :)

下面才是本文主要部分:

其实我也不熟悉C语言,只能算入门。但还是顺利实现了自己的需要的功能 :)

这么多的编程语言,人是不可能全都熟悉的,问题是人的思维是否灵活。

不要担心前路是否平坦,只有踏出了第一步,你才真正知道这条路的好坏,遇到什么问题,尽努力逐一解决,方可实现自己的目标。但如果你连第一步都无法踏出去,你连成功的机会都没了。

  • http://gunzonline.yo2.cn Qsar

    第一个来支持~~~ 8)

  • http://yuhc.yo2.cn 冰封王子

    作为外行,支持一下。

  • http://www.notii.com notii

    oneoo的技术很牛哦。支持!!!
    ps:Linux的X的确效率很低,低配置的电脑还是用win98或者精简过的其他windows版本。我也很不理解一些人把Linux推荐为低配置的电脑的OS,除非不开X。

  • http://www.guanzhipeng.com 管智鹏

    支持yo2!!! 8)

  • http://terse.yo2.cn terse

    oneoo真牛
    羡慕+钦佩

    ps:不知道X的效率怎么衡量
    但觉得低配置电脑行表现也挺好的哈
    当然前提别装gnome/kde等庞然大物

  • http://www.moon-blogger.com moon

    Oneoo,你全才啊··呵呵

  • http://miaozhifeng.yo2.cn/ miaomiao

    超赞!!支持!优博绝对会很强大!

  • Eliam

    帮老大测试一下。
    呵呵 :P

  • http://fall.yo2.cn 青衿

    发表一个不是垃圾评论的评论

  • http://www.iyo2.cn iyo2

    嘿嘿…

  • http://www.mianhou.cn braveboy

    老大果然厉害!

  • http://modijune.yo2.cn modijune

    哈哈,老大加油! 8)

  • http://www.lionor.cn lionor

    不要担心前路是否平坦,只有踏出了第一步,你才真正知道这条路的好坏,遇到什么问题,尽努力逐一解决,方可实现自己的目标。但如果你连第一步都无法踏出去,你连成功的机会都没了。

    老大这句话说的很有哲理.
    支持yo2,支持oneoo。

  • http://www.tianliang.org 田亮

    最后一段话真是经典啊!
    其余的都不太懂o :?: 感觉挺深奥!

  • http://ggggqqqqihc.yo2.cn ggggqqqqihc

    牛人啊。不过我倒不建议使用自己开发的Web Server,毕竟没有经过时间的考验。我觉得对于yo2来说lighttpd甚至是apache应该是足够了,据说Javaeye用的就是lighttpd。

  • http://oneoo.com oneoo

    [Comment ID #270494 Will Be Quoted Here]

    在 Yo2 访问量比较大的情况下测试过我们编写的 server ,能很好的工作。并且解决了我们很重要的功能需求,这个月会全面部署该 server 架构 :)

  • http://initiative.yo2.cn est

    oneoo真厉害!

  • http://www.hukai.org 胡凯

    “不要担心前路是否平坦,只有踏出了第一步,你才真正知道这条路的好坏,遇到什么问题,尽努力逐一解决,方可实现自己的目标。但如果你连第一步都无法踏出去,你连成功的机会都没了。”
    这句话很经典啊!!