Когда обновляешь страницу то генерация показывает 0.002-0.010 А когда оставляешь на 30 минута не обновляя страниц то поднял генерация на много, то есть 2 - 3 сек зависимости времени... А потом нормально! Хотел узнать почему или такая кеш браузера?
кеш остывает. только не браузерный а серверный. как правило, основные затраты времени на генерацию страницы это запросы к БД. сервер БД пытается кешировать самое нужное. а возможно в самом твоем приложении есть кеш с устареванием — это тебе лучше знать. p.s. но 2-3 секунды это слишком дофига! сделай более детальные замеры и найди узкое место.
почему он остывает? ведь если к серверу идут куча запросов, то они и должны у него кешироваться. остывать, как я понимаю, он может только в том случае, если у него маленькое кол-во поступающих запросов?
Запроса нет и нет к базе =) А просто когда обновляеш разные страницы то генерация нормальная.... А когда не обновляеш больше времени тем больше генерация растет когда обновиш то потом нормально идет... Добавлено спустя 2 минуты 4 секунды: Генерация страниц [1.572] сек. когда яне заходил сайт локальный 2 часа то увидел такой как снова обновиш то на месте становит Генерация страниц [0.002] сек.
ты пишешь об измеренном времени генерации или о времени получения браузером? это твое приложение, там используется кеш? файлы с диска читаются? на сервере установлен опкод-кешер (apc|eaccelerator и т.п.)? КЕШИРУЕТСЯ ВСЁ! больше конкретной инфы, пожалуйста.
artoodetoo, проблема том что при долгого остуствия захода сайта поднимают генерация страниц и долго нагружает страниц, а потом нормально.... Для понятиям!!!! Код (PHP): defined('ENGINE_START_TIME') or define('ENGINE_START_TIME', microtime(true)); function GetTime() { return round(microtime(true) - ENGINE_START_TIME, 3); } echo GetTime();
хорошо. теперь аналогичным образом измерь время на отдельные операции: чтение файлов, вывод шаблона и т.д. то там у тебя есть. так ты поймешь что именно изменяется. в любом случае это похоже на остывание кеша, остается понять какого.
Функция я его вызываю в конце скрипта то завершает. Всех проверил... На хостинг норм идет а на локальный так появляет если не обновляеш страницу..... думаю это такой локальный. А на хостинге норм=) Добавлено спустя 3 минуты 13 секунд: ладно не важно с ней =) Потом начне делать с кеш файлы браузера и ускорит темп генерация . А то многие говорят генерация не важен тут =)
$_SERVER['REQUEST_TIME_FLOAT'] мне кажется чуть более честно. ну правда. я ведь могу вставить определение константы в удобном месте, а время запроса подставляет пхп-машина. так проще и весь алгоритм сделать более оптимальным.
пишу из головы, работоспособность не тестировал: Код (PHP): class Timer { private static $start = []; private static $elapsed = []; public static markBegin($tag) { self::$start[$tag] = microtime(true); } public static markEnd($tag) { $time = microtime(true) - self::$start[$tag]; if (!isset(self::$elapsed[$tag])) { return self::$elapsed[$tag] = $time; } return self::$elapsed[$tag] += $time; } public static getElapsedTime($tag) { return self::$elapsed[$tag]; } } надеюсь код понятен без комментариев. static здесь сделан для доступности в любом месте, как альтернатива global. используй одинаковые теги для измерения однотипных операций. итоговое время получаешь через Timer::getElapsedTime(тег)
artoodetoo, код я умею писать =) Я просто хотел знать причину почему при долгого остуствия обновления страниц в браузере то растет генерация и долго загружает страницу, а потом нормально и оно замечает только в локальном, а в хостинге не замечаю....
ты не понял, да? я предлагаю тебе выяснить конкретное место где время выполнения растет. измерять не только общее время срипта, но время выполнения отдельных операций или видов операций.
artoodetoo, а спасибо! Я его измерял недавно и всех проверил нормально! Но когда не заходиш 2 часа смотря как то у всех скрипты поднимают генерация странно а?