分析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或缩写输出)
- 包装不太好。