Sergey2020
Новичок
Работаю над одним проектом. И хочу учесть уже на этапе его создания возможность большой нагрузки. Каждая страница проекта создается из кучи разных блочков-шаблонов. И решил посмотреть что будет работать быстрее.
Написал один скрипт, который просто выводит 5 блоков-шаблонов посредством include
второй скрипт посредством implode загружает каждый блок-шаблон из файла в переменную.
третий загружает также как во втором случае в переменную. Но также загружает в memcache. И при последующих обращениях проверяет наличие в memcache и если там есть - выводит из memcache.
Замеры делал на обыкновенном домашнем компьютере с денвером.
Получилось, что страница в первом варианте создавалась за 0.0006-0.0008 сек. и грузила процессор до 18%
Во втором варианте - строго около 0.0006сек. т.е. быстрее, чем первый вариант. с той же загрузкой процессора.
Но третий вариант меня очень удивил: процессор грузился до 42% даже тогда, когда переменная бралась из кэша. страница генерировалась гораздо дольше, чем первые два варианта. не быстрее 0.001 сек. иногда и за 0.5сек.
Так вот теперь суть вопроса: Почему так получается? Я много читал про memcache. Но примитивное тестирование показывает обратное. Может быть на серверах это всё иначе будет работать? Я рассчитывал, что третий вариант окажется самым быстрым и будет минимум грузить сервер... А оказалось, что быстрее прочесть из файла, чем в кэше копаться. Дайте, пожалуйста, совет...
Написал один скрипт, который просто выводит 5 блоков-шаблонов посредством include
второй скрипт посредством implode загружает каждый блок-шаблон из файла в переменную.
третий загружает также как во втором случае в переменную. Но также загружает в memcache. И при последующих обращениях проверяет наличие в memcache и если там есть - выводит из memcache.
Замеры делал на обыкновенном домашнем компьютере с денвером.
Получилось, что страница в первом варианте создавалась за 0.0006-0.0008 сек. и грузила процессор до 18%
Во втором варианте - строго около 0.0006сек. т.е. быстрее, чем первый вариант. с той же загрузкой процессора.
Но третий вариант меня очень удивил: процессор грузился до 42% даже тогда, когда переменная бралась из кэша. страница генерировалась гораздо дольше, чем первые два варианта. не быстрее 0.001 сек. иногда и за 0.5сек.
Так вот теперь суть вопроса: Почему так получается? Я много читал про memcache. Но примитивное тестирование показывает обратное. Может быть на серверах это всё иначе будет работать? Я рассчитывал, что третий вариант окажется самым быстрым и будет минимум грузить сервер... А оказалось, что быстрее прочесть из файла, чем в кэше копаться. Дайте, пожалуйста, совет...