我作为一个开发员,想法又特别的多 _-!! 居然想到自己写个 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语言,只能算入门。但还是顺利实现了自己的需要的功能 ![]()
这么多的编程语言,人是不可能全都熟悉的,问题是人的思维是否灵活。
不要担心前路是否平坦,只有踏出了第一步,你才真正知道这条路的好坏,遇到什么问题,尽努力逐一解决,方可实现自己的目标。但如果你连第一步都无法踏出去,你连成功的机会都没了。























最新评论
说得好!! 8...
可惜老头和村民没看见这篇文...
顶老...
有这样的态度 赞一个 ^^ 希望yo2越做越好~也肯定会越做越好...
哈哈……你还玩QQ堂…… 卡通片……话说我只看过很少很少的卡通片,为此被鄙视了很多次…...
第二项不是很清楚,只要固定不变的东西是不是就可以开启这块呢...
呀,原来是YO2老大,久仰久仰!~~~~...
以前的卖家已经转为做批发,没有零售了。 你可以在淘宝找找其他的 :...
我觉得还不错呀,怎么联系卖家...
...