最近一个Python的项目遇到性能问题,起初是使用Nginx+Fastcgi的模式,但由于多核CPU不能完全利用,且Python的跨进程通信上的技术难题,打算找一个突破口。
Web大牛推荐Tornado,小压了一下,性能果然不简单
,而且简单易用。在当前的Django架构,修改起来也非常容易。
不过测试证明,使用Django获取Post数据有较明显的性能损耗,即使你不对数据进行处理而仅仅是读取它。最终希望慢慢去掉去Django的依赖。
而Tornado这边,也是单进程的。 关于进程通信上。起初是打算作一Web服务,最终当然是希望是缓存,这是最基本的模式了。
用Tornado作了一些简单的动态页面的性能测试,诸如打印HelloWorld、系统时间、参数返回,性能是相当的可观。简单的动态页面可以迅速爬升到8000Hits/Second。而且在处理多连接上也毫不逊色,真可谓小巧精悍。
在查找Web服务器的过程中也接触了一下web.py和Google's webapp。web.py非常小巧,是一款使用非常简单的绿色软件。我觉得作个简单的Web服务还不错,毕竟Python适合快速开发。而Google的Webapp由于不符合当前项目需要,也没多时间去看它了。
在搜Tornado的资料时,官网都打不开,资料非常少。中文的就更别想了!好不容易搜到一个不错的,而且文章上用的软、硬件、测试方法等都非常相似。发现那个人就是我的同事
,他是个Web大牛!
本文探讨了一个Python项目从使用Nginx+Fastcgi模式到采用Tornado框架的性能提升过程。重点阐述了Tornado在简化开发、提高性能方面的优势,并对比了Django获取Post数据时的性能损耗。通过简单的动态页面测试,展示了Tornado在多连接处理上的高效表现。同时,还介绍了web.py和Google's webapp的基本情况,以及在寻找Web服务器过程中的体验。最后,分享了一次偶然发现同事所写关于Tornado性能测试的文章,强调了同事作为Web大牛的重要性。
2755

被折叠的 条评论
为什么被折叠?



