【发布时间】:2014-11-05 08:54:19
【问题描述】:
我正在使用 MongoDB/pymongo 处理一个相当复杂的 Django 应用程序。 在我的本地开发环境中,使用 Django 服务器,我获得了不错的性能。当我转移到在 Apache 下运行的远程服务器时,有一些 pymongo/BSON 方法会占用大量时间。在我的本地安装中,这些方法似乎根本没有被调用。。我很难找到导致 PyMongo 行为发生这种变化的显着差异。
这里是从远程服务器调用中选择的分析。同样,这些函数根本不会在本地调用。
ncalls tottime percall cumtime percall filename:lineno(function)
...
684 0.007 0.000 10.042 0.015 __init__.py:497(decode_all)
102704/735 1.193 0.000 10.035 0.014 __init__.py:325(_elements_to_dict)
546543/4233 2.549 0.000 10.025 0.002 __init__.py:314(_element_to_dict)
101969/1170 0.450 0.000 9.930 0.008 __init__.py:153(_get_object)
101448/1045 0.963 0.000 9.917 0.009 __init__.py:168(_get_array)
【问题讨论】:
-
原来MacOS的本地机器与这里的解决方案有关。查看答案。
标签: python django pymongo bson