分析django db会话的工具

django-analyze-sessions的Python项目详细描述


这是一个django管理命令(如 https://docs.djangoproject.com/en/dev/howto/custom-management-commands/) 它分析并报告数据库中会话的大小。它是 旨在更容易理解会话数据的空间大小 开始。

为什么?

我注意到django应用程序中的会话相对较少 他们每人消耗了50多kib的数据,想知道为什么。 分析大量的django是不可行的,也不具有吸引力。 会话的手,我找不到任何现有的工具做了批处理 分析,所以我写了这个工具。

安装

从pypi安装发行版,例如pip install django-analyze-sessions

然后,将analyze_sessions添加到Django项目中已安装的应用程序中。

就这样。现在可以运行django-admin.py并确认命令 出现了。

示例使用

将大于15KB的所有会话的空间使用量细分为 会话数据:

django-admin.py analyze-sessions --bigger-than=15000
Processed 2 sessions out of 5125 total sessions
Average size was 16885.50 bytes
Saw the following keys:
    foo (2 times, avg. size 15723.00 bytes)
    bar (2 times, avg. size 618.50 bytes)
    baz (2 times, avg. size 211.50 bytes)

分解密钥在给定范围内的所有会话的空间使用情况 输入文件(当您希望在超过 编码大小)::

django-admin.py analyze-sessions --ids-from=/tmp/ids-to-check
Processed 2 sessions out of 5125 total sessions
Average size was 16885.50 bytes
Saw the following keys:
    foo (2 times, avg. size 15723.00 bytes)
    bar (2 times, avg. size 618.50 bytes)
    baz (2 times, avg. size 211.50 bytes)

已知问题和错误

  • 用于筛选会话大小的自定义where子句可能只在mysql上工作(我无权访问另一个dbms上的django安装,因此无法保证它在那里的工作情况如何)。
  • 该工具可以在大小缩写方面变得更加智能(例如,通过学习如何解释100kb或缩写输出)
  • 包装不太好。

作者

凯万·卡斯滕森kevan@isnotajoke.com>;

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
MIME类型多部分/混合的java无对象DCH   Java Swing中单元格和列的间距   java为什么我不能使用For循环从集合中获取元素?   mysql Java餐厅计费系统   java MediaPlayer内存消耗   println Java添加的神秘输出:一些经过评估,一些经过打印   java我应该使用哪个对象?   PHP到Java论坛游戏集成   通过GeoNetwork上的java http post请求获取XML响应   java为什么类名与使用“==”的内部字符串比较冲突?   java反应。js如何定义自定义id,而不是在html中显示reactselect1value   java中的拼字数组   java如何使ScheduledExecutorService在其计划任务取消时自动终止   java查询未正确执行   IBatis+Java:检索HashMap   要读取的加密Java代码。txt文件并转换为二进制表示形式   Java Web Start应用程序自动加载   java Swing重写对象的paintComponent