爱看网的内存占用情况

爱看网 (http://2goo.info) 采用了Go 语言开发的信息网站,上线以来,流量都很低,主要是新网站要搜索引擎收录,需要漫长的过程,目前网站开通半个月,每日 pv 在 120-700,ip:10-29 个之间,包括我自己的访问,其实多数是我自己的访问。通过proc 查看内存的使用情况,发现网站占用的物理内存是 26M, 占用虚拟内存是 273M。拿客户相似的网站(采用Java开发的) 对比,该网站每日 pv ip,和爱看网比较都接近,甚至比爱看网稍微低一点,对方的物理内存是 174M, 占用虚拟内存是 4G。Java 使用虚拟内存很惊人,可能和 tomcat 的配置有关吧。

至于物理内存占用量,Java 接近 Go 的7倍。这个和 Debian 多语言性能比较的对比结果基本吻合。抛开虚拟内存不说,能不能这么说,采用Go 开发的网站,只用一台服务器,Java开发的网站,可能需要到6-7台服务器了。

爱看网,开始采用Martini + PostgreSQL的框架开发,后来看了作者博客介绍,尝试用了Negroni(中间件:Gorilla Mux,Render,Binding,Gzip,Gorp,Pq,) + PostgreSQL,Martini 和 Negroni 都是出自同一个作者,后者是作者为了追求简单化,非魔幻化,尽少使用 Go 反射功能,改进的产品,从文中描述来看,我觉得作者更喜欢 Negroni,毕竟 Negroni 是开发 Martini 过程中,发现问题,不断反省,求变,出来的产物。

开发过程中,学到了不少的东西,其中我喜欢 爱看网 采用的技术架构,虽然它们还有很多不成熟的因素,但我相信,随着时间的推移,东西会慢慢变好。

爱看网 架构采用的技术:

negroni: https://github.com/codegangsta/negroni
gorilla mux: https://github.com/gorilla/mux
render: https://github.com/unrolled/render
binding: https://github.com/mholt/binding
gorp: https://github.com/go-gorp/gorp
pq: https://github.com/lib/pq

其实最近想把 Gorilla Mux 改成 pat 试试,不知道有没有必要。

 

 

posted @ 2015-03-06 15:20 2goO 阅读(...) 评论(...) 编辑 收藏