<p>在我的例子中,这个问题是由于我的数据库的某些操作的延迟造成的。在</p>
<p>我使用<strong>uWSGI</strong>和<strong>金字塔</strong>(<a href="http://docs.pylonsproject.org/projects/pyramid/en/latest/" rel="nofollow noreferrer">http://docs.pylonsproject.org/projects/pyramid/en/latest/</a>)。因为您使用的是Django(Python),所以解决方案很可能适合您。在</p>
<p>下面引用的设置位于配置文件<strong>生产.ini</strong>(第<strong>[uwsgi]</strong>)(<a href="http://uwsgi-docs.readthedocs.io/en/latest/Options.html" rel="nofollow noreferrer">http://uwsgi-docs.readthedocs.io/en/latest/Options.html</a>)。在</p>
<p>我用下面的规则“解决”了这个问题。这个规则“解决”了问题,因为它大大减少了它的发生。到目前为止,我还没有看到任何可以完全避免的事情。我的表现也有了提高(需要测试,但我们的评估是很好的改进)。解决方案基本上是根据数据库允许的连接数增加线程数(也可以增加数据库允许的连接数)。在</p>
<p><strong>规则:</strong></p>
<p>定义进程的数量(<strong>进程中的</strong>参数生产.ini或同等产品)</p>
<pre><code>q=n*2
q - number of processes
n - number of CPUs/cores
</code></pre>
<p>定义线程的数量(<strong>线程</strong>在生产.ini或同等产品)</p>
^{pr2}$
<p>还要注意<strong>sqlalchemy.pool_大小</strong>参数(如果您使用sqlalchemy<a href="http://www.sqlalchemy.org/" rel="nofollow noreferrer">http://www.sqlalchemy.org/</a>)应该被赋予与t相同的值</p>
<p><strong>加上:</strong></p>
<p>为了防止Python进程访问生产.ini同时,当它们重新启动导致“锁定”时,在[uwsgi]部分添加“lazy apps=true”参数。<strong>只有在系统出现问题时才执行此操作。</strong></p>