最近在做对django性能的测试,发现LocalMiddleware.process_request占用时间较长,本机大约占用60~70毫秒。一直以为是I18n模块的问题,经详细的调试,发现主要cpu都在 request.session.get('django_language')一句被占用了。
原来是session的性能问题。
session的backend应当设为cache或cache_db。
使用cache时发现,memcached的python客户端包没有很好的选择,因为cmemcached已经不再维护了,有几个可以选择的库,django所支持的cmemcached,python-memcached都不是很好的选择。
python-libmemcached性能不错,似乎是豆瓣的成员维护的项目,但django目前不支持
http://pypi.python.org/pypi/pylibmc 似乎是另一个积极维护的python memcached客户端
遗憾的是这两个目前django不支持,决定先用本地mem缓存做测试,等django集成了这些高性能bindings再说吧
http://code.djangoproject.com/ticket/12427
cache key的长度对性能理论上应是有影响的,虽然目前没有做过测试。
这两天做了个小程序来做key的长度转换,将所有的key转换为长度很小的key,但目前担心key转换本占用了过多性能
分享到:
相关推荐
django-redis-cache, 面向 Django的Redis缓存后端 Django 缓存后端 面向 Django的Redis缓存后端可以在 http://django-redis-cache.readthedocs.org/en/latest/ 找到文档。变更日志 1.7.1确认
python库。 资源全名:django-cache-lock-0.2.5.tar.gz
lock拓展,基于django的内置cache,django-cache-lock-master.zip
今天我们就来看看缓存Cache应用场景及工作原理吧,并详细介绍如何在Django中设置Cache并使用它们。 什么是缓存Cache 缓存是一类可以更快的读取数据的介质统称,也指其它可以加快数据读取的存储方式。一般用来存储...
yet-another-django-profiler, Django 性能分析中间件和管理命令 yet-another-django-profiler自述文件 然而,另一个 Django 探查器尝试合并多年来创建的它的他 Django 分析实用程序的最佳特性。 ( 有关更多背景信息...
django-cache-manager django模型的简单缓存管理器,用于缓存模型的查询集。 缓存管理器将缓存已针对模型看到的所有查询。 对于模型的任何更新/删除,都会驱逐模型缓存。 对于不经常更改的模型,此管理器很有用。 ...
在与同事们讨论后,想通过加锁的方式,起初想用redis锁,但这样会为项目增加别的依赖,因此转而使用django-cache的缓存数据库,来实现该功能。 资料查找 基于缓存实现分布式锁,在网络上查找了实现方式,大概可以...
保持 Django 应用性能的详细记录
django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django...
本文通过一个简单的实例一步一步引导读者对其进行全方位的性能优化,这篇文章主要给大家介绍了关于Django代码性能优化与Pycharm Profile使用的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
新人学习python的django框架常见问题总结
Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django...
Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统...
已有Django项目,在其中设置以... "BACKEND":"django_redis.cache.RedisCache", "LOCATION":"redis://127.0.0.1:6379/1", # DB设为1 "TIMEOUT":None, # 永久缓存,默认300秒 "OPTIONS":{ "CLIENT_CLASS":"django
要使用此模块,用户必须有权访问 Django 管理面板并具有对simple_cache_admin | SimpleCache admin更改权限。 simple_cache_admin | SimpleCache admin模型。 设置添加或删除权限没有效果,它们总是假的。 设置 在...
索引,给关键的字段添加索引,性能能更上一层楼,如给表的关联字段,搜索频率高的字段加上索引等。Django建立实体的时候,支持给字段添加索引,具体参考Django.db.models.Field.db_index。按照经验,Django建立实体...
django笔记 django笔记
基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django的个人网盘源码 基于Django...
基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于Django就业系统源码 基于...
Django版 Django版 Django版Django版Django版