вторник, 2 февраля 2016 г.

Memcache и expiration time

Сегодня пришлось столкнуться со странной багой, связанной с Мемкешом.
При установке какого-либо короткого периода жизни ключа, ключ почему-то существовал гораздо дольше положенного времени.

После различных поисков и сравнений версий на серверах бага была обнаружена. Время в Мемкеше отличалось от системного, аж на 14 часов. Неясно почему, но отличалось. Бага решается перезапуском Мемкеша:

>  /etc/init.d/memcached restart

Небольшой скриптец как проверить системное время и время Мемкеша:
$memcache = new Memcache;
$memcache->connect('127.0.0.1', 11211);
$stats = $memcache->getStats();
$mct = $stats['time'];
$curt = time();
echo'<pre>DIFF: ',($mct - $curt),'</pre>';

В идеале должно выводить 0 или -1.

Update: причиной отставания времени считаю уход в спящий режим. После восстановления системы из спящего режима системное время и время сервера Мемкеша различаются (Ubuntu 14.04)

Комментариев нет:

Отправить комментарий