那年那日那朵花

".......(o´ω`o)......"

标签: python

引子

偶然在v2ex上看到这个帖子 ,是关于讨论在flask中大量使用requests调用外部接口而造成的性能影响。出于好奇,我也在本地做了下测试,并将其总结归纳一下。

开始测试

测试方案是先写个一个简单的接口供外部服务调用,然后外部调用通过requests、httplib2、requests共享sessions、gevent+requests等不同的方式来验证那种方法更快。

好那就开始了...

好久没有更新博客了,最近懒癌发作。。。。所以今天出来冒个泡。^ ^

在使用django的过程中,默认django会将sessions信息保存在数据库中,通常情况下对于一个后台应用服务来说没啥问题。但是请求量上来后,对于需要频繁交互的sessions信息来说,保存在数据库中就显得不太合理了。对此,django官方就有解决方案,可以将sessions信息保存在缓存中。实现起来非常的方便。

  1. 首先要有memcached服务端
  2. 安装python连接memcached的客户端...

坑....直接看代码

#!/usr/bin/env python
#_*_ coding:utf-8 _*_
import traceback

def test1():
    try:
        a = "1231312"
        print a
        a / 3
        return 0
    except :

...

之前在用celery的时候,通常都是把任务直接丢进broker里异步处理的。今天网上看到篇文章说应该根据任务分类的不同分别使用不同的队列queue来处理。譬如说两种不同的任务,一个量多但不关键,一个量少但较为重要,如果放在同一个queue中,那么或多或少会带来相互之间的影响。所以应该将任务一放到queue1,而将另外的一个任务放在queue2中。这种方式我感觉很有道理诶。。。

然后查了下文档,用官方文档上的例子学习并记录下来。

目录结构如下

proj
├...

Cloudhu 个人随笔|built by django|

沪ICP备16019452号-1