<div dir="ltr">Hi,<div><br></div><div>I stuck in analyzing this and can not repeat in a test environment.</div><div><br></div><div>We see '/' location "freeze" from time to time as nginx stops updating cache. This lasts for 30 minutes - an hour.</div><div><br></div><div>Regular requests flow:</div><div>HIT</div><div>...</div><div>HIT</div><div>UPDATING</div><div>UPDATING</div><div>EXPIRED (every 30 seconds)</div><div>HIT</div><div>...<br clear="all"><div><br></div><div>So under normal conditions a page is served from the cache, cache record expires, next request goes to upstream locking the cache record, requests still served from cache with UPDATING cache status while UPDATING request is working, on return from the upstream cache is updated, unlocked and EXPIRED cache status show up in the log. Back to step one - serving from cache.</div><div><br></div><div>Abnormal flow we see under nginx 1.6.x</div><div><div>HIT</div><div>...</div><div>HIT</div><div>UPDATING</div><div>STALE</div><div>UPDATING</div></div><div>UPDATING</div><div>STALE</div><div>UPDATING</div><div>STALE</div><div>STALE</div><div>....</div><div>continues for a while</div><div>...</div><div>HIT</div><div><br></div><div>We first noticed this when attempted upgrade to 1.8.0 where situation was much worse:</div><div><div><div>HIT</div><div>...</div><div>HIT</div><div>UPDATING</div><div>UPDATING<br></div></div><div>UPDATING</div><div>UPDATING<br></div><div>....<br></div><div>continues until cache clean</div></div><div>...</div><div><br></div><div>We downgraded nginx back to 1.6, after some time realized that this situation also happens on 1.6, but page doesn't freeze forever.</div><div><br></div><div>I don't say it only happens with '/', it's just the busiest page, we probably don't notice other pages. On 1.8 this happened also on top level sections /football/. I feel it's related to amount of pressure on the page.</div><div><br></div><div>Our error log has "<span class="">ignore long locked inactive </span><span class="">cache</span><span class=""> entry</span>" alerts, but I really couldn't match it to "defreeze" event. Access log has STALE/UPDATING requests between the alert and EXPIRED (cache updating) request.</div>







<div><br></div><div>Any help on hunting it down would be appreciated.</div><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><div>Руслан Закиров</div><div>Руководитель отдела разработки веб-сервисов</div><div><span>+7(916) 597-92-69</span>, <span>ruz @ <a href="http://www.sports.ru/" target="_blank"><img src="http://farm7.static.flickr.com/6235/6210250811_19a888dbba_o.jpg" width="43" height="14" style="vertical-align: bottom; margin-right: 0px;"></a></span></div></div></div>
</div></div>