最近在做对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-cache-lock”这个名字暗示了这个库的主要功能可能与在Django中实现缓存锁有关。在多线程或分布式环境中,缓存锁是防止数据竞争、确保并发安全的重要工具。它可能提供了对Django缓存系统的扩展,允许开发者...
django-redis-cache, 面向 Django的Redis缓存后端 Django 缓存后端 面向 Django的Redis缓存后端可以在 http://django-redis-cache.readthedocs.org/en/latest/ 找到文档。变更日志 1.7.1确认
在Python的Web开发框架Django中,`cache`模块提供了高效的数据缓存功能,用于提升网站性能和响应速度。在高并发环境下,有时我们需要确保某些操作的原子性,避免多个请求同时处理同一数据,这就需要用到锁机制。...
`django-cache-toolbox` 旨在为Django开发者提供更多的灵活性和控制权,以优化他们的应用程序性能。 **Django框架** Django是一个高级的、开源的Web框架,用Python编写。它遵循模型-视图-控制器(MVC)的设计模式...
今天我们就来看看缓存Cache应用场景及工作原理吧,并详细介绍如何在Django中设置Cache并使用它们。 什么是缓存Cache 缓存是一类可以更快的读取数据的介质统称,也指其它可以加快数据读取的存储方式。一般用来存储...
`django_cache` 是 Django 中用于操作缓存的接口,它允许开发者方便地存取和管理缓存数据,同时也为实现分布式锁提供了一个基础。 **使用 Django Cache 实现分布式锁** 在 Django 中,我们通常使用 `django.core....
yet-another-django-profiler, Django 性能分析中间件和管理命令 yet-another-django-profiler自述文件 然而,另一个 Django 探查器尝试合并多年来创建的它的他 Django 分析实用程序的最佳特性。 ( 有关更多背景信息...
性能记录能够帮助我们发现潜在的瓶颈,如数据库查询效率低、模板渲染时间过长或内存泄漏等问题。通过持续跟踪这些指标,我们可以及时采取措施,优化性能,避免因负载增加而导致的服务崩溃。 要开始记录Django应用的...
django-cache-manager django模型的简单缓存管理器,用于缓存模型的查询集。 缓存管理器将缓存已针对模型看到的所有查询。 对于模型的任何更新/删除,都会驱逐模型缓存。 对于不经常更改的模型,此管理器很有用。 ...
总的来说,`django_models_redis_cache`是Django开发者提升应用性能的一个有力工具,尤其在大数据量、高并发的情况下,能显著减少数据库压力,提高用户体验。通过合理地利用Redis缓存,开发者可以构建出更加高效和...
**Python库 django_cache_url-0.5.0-py2.py3-none-any.whl** `django_cache_url` 是一个Python库,专为Django框架设计,用于简化和增强Web应用程序的缓存配置。这个库的核心功能是允许开发者通过URL样式的方式来...
在Django中,`CACHE_BACKEND`是一个非常重要的配置项,它用于指定缓存的类型及其相关的配置信息。缓存是提高Web应用性能的关键技术之一,尤其在处理大量读取操作时,通过缓存数据可以显著减少数据库的负担,提升响应...
django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django电子商务网站源码 django...
本文通过一个简单的实例一步一步引导读者对其进行全方位的性能优化,这篇文章主要给大家介绍了关于Django代码性能优化与Pycharm Profile使用的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
Django的配置文件(settings.py)中可以设置数据库连接、缓存系统和其他环境相关参数。 13. **Django扩展**: Django拥有丰富的第三方库,如Django REST framework用于构建RESTful API,Django Channels支持...
- **Django’s cache framework**: 缓存框架用于提高Django应用性能。 - **Internationalization and localization**: 国际化和本地化支持,使得Django应用可以轻松支持多种语言。 - **Logging**: Django的日志系统...
总的来说,`django-redis-cache`是一个强大的工具,它结合了Django的灵活性和Redis的高性能,为Python Web应用提供了高效的缓存解决方案。正确地配置和使用这个库,可以帮助开发者构建响应快速、资源高效的Web应用。
Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django实现商城网站源码 Django...
Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统源码 Django客户管理系统...
在 Django 中集成 `django-redis`,可以显著提升 Web 应用的性能和响应速度。 首先,我们来看 `django-redis` 的核心功能——缓存后端。Django 自带的缓存系统支持多种数据库,包括 Memcached 和数据库缓存。然而,...