Что означают скачки времени в файлах журнала?Или: что пожирает время? - PullRequest
0 голосов
/ 16 ноября 2011

В моих журналах GAE (видно из браузера) у меня часто бывают странные «скачки времени».Вот пример:

2011-11-15 23:55:05.999
org.xydra.store.impl.gae.changes.SharedRevisionManager getLastCommitted: 
| <<< | [.sr]{'lastCommited'} = {101}
D 2011-11-15 23:55:05.999
org.xydra.store.impl.gae.changes.RevisionCache2 getLastCommited: 
| <<< | [.rc-cDOL]{'lastCommitted'} = {101}
D 2011-11-15 23:55:06.069
org.xydra.store.impl.gae.changes.GaeChangesServiceImpl2 getCachedChange: 
| <<< | [.c2]/gae-data/phonebook/-/-{'15'} = GaeChange {rev:15 lastAct:-1 status:FailedPreconditions <Entity     
D 2011-11-15 23:55:06.069
org.xydra.store.impl.gae.changes.SharedRevisionManager getLastCommitted: 
| <<< | [.sr]{'lastCommited'} = {101}

Это своего рода цикл, выполняющий всегда одни и те же вещи.Тем не менее, в какой-то непредсказуемый момент мое приложение неожиданно тратит много времени на выполнение чего-либо непоследовательного (с 05.999 по 06.069).

Я понятия не имею, где это время тратится.Я попытался добавить тонны регистрации, но безуспешно.Похоже, это происходит и в других частях моего приложения.Вещи, которые я считал возможными пожирателями времени: * Ошибки в логировании GAE.Поэтому я добавил собственное измерение времени и получил тот же результат.* Асинхронные вызовы для хранилища данных или memcache - кажется странным, что из примерно 100 вызовов почти все возвращаются менее чем за 1 мс, а другому вызову вдруг требуется 70 мс.

Что еще может съесть время?Кто еще сталкивался с этим?

1 Ответ

1 голос
/ 17 ноября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...