Время загрузки страницы

Заметил некую закономерность, если долго (сутки) не заходить на сайт, то при при первом открытии сайта есть существенные подтормаживания. Возможно виной этому хостер (хт-системс)
Сайт пустой (0,3 версия постовлена)

MySql
query: 12
time: 0,41

Cache
query: 0
set: 0
get: 0
time: 0

PHP
time load modules:0,751
full time:2,126

Исходя из данных видим что MySql+PHP=0,41+0,751=1,161
НО
full time:2,126

FullTime-(MySql+PHP)= примерно 1 секунда. На что потрачена эта секунда? В статистике этого нет.

Сам имею довольно большой опыт работы с различными КМС, но не являюсь программером. За 2 года была разработана своя КМС (не соц.сеть), в которой на производительность системы было уделено огромное внимание.

Дело в том что когда на сайте появилось около 30тыс. страниц и около 2тыс посетителей в сутки, время загрузки страницы было около 30 секунд. Затем было пол года работ и уволен не один десяток программеров… В итоге получили на сайте с посещаемостью 15000 в сутки и 100000 страниц время загрузки около 0,4 сек

Зачем я это все пишу?
Причина:
Если время, за которое хостинг отдает страницу поисковой системе, более 4-х секунд то поисковый бот уходит с этой страницы и она будет не проиндексирована.

Пустой ЛС на тестовом домене (нет посетителей кроме меня) выдает время 2 секунды, то это не есть хорошо, к сожелению, и над этим нужно работать и работать…

Чтобы не быть голословным, привожу время работы своей старой КМС, на разработку которой было убито полтора года (статейный движек).

Рабочее время 0,347727 sec, 6 запросов к базе (0,021895 Сек), gzip OFF
На сайте около 50 тыс. страниц, 1000 уникальных посетителей в сутки. Работает наобычном хостинге (200руб. в месяц)

Итог:
Мне очень понравился ЛС, но пугают проблемы которые могут возникнуть в будущем… если проект развить и он будет отдавать страницы более чем за 4 секунды то поисковый трафик может сойти на нет… печальная перспектива.

Вопросы:
1. Время работы ЛС зависит от объема сайта?
2. Существуют большие сайты с серьезной посещаместью на движке ЛС на обычном хостинге? (т.е. не выделенный сервер)
3. На что тратится та секунда, которая приведена в моих расчетах выше

15 комментариев

avatar
таже самая ситуация,
при первой загрузке, пока сайт прокэшируется, выплевывает около секунды…
потом открываешь даже перегруженные странички «в лет» (изображения просто плавно подгружаются)
avatar
Возможно виной этому хостер (хт-системс)

В этой ситуации виноватых нет — это кеширование. Скорее всего сервер настроен таким образом, что если к кешу долго не обращались он автоматически очищается.

1. Время работы ЛС зависит от объема сайта?

При чём тут ЛС? Время работы любого сайта зависит от его объёма.

2. Существуют большие сайты с серьезной посещаместью на движке ЛС на обычном хостинге? (т.е. не выделенный сервер)


Иногда сайты на шаред хостинге «умывают» по производительности сайты на VPS — всё относительно.

3. На что тратится та секунда, которая приведена в моих расчетах выше


FullTime-(MySql+PHP)= примерно 1 секунда. На что потрачена эта секунда?

Встречный вопрос:
Сам имею довольно большой опыт работы с различными КМС, но не являюсь программером. За 2 года была разработана своя КМС (не соц.сеть), в которой на производительность системы было уделено огромное внимание.


Хм… а это как?

PS
Чтобы не быть голословным, привожу время работы своей старой КМС, на разработку которой было убито полтора года (статейный движек).


Ну и что?

PPS

… печальная перспектива…
… Зачем я это все пишу? ...


Ответ на этот вопрос содержится в этой цитате — просто нужно было немного переставить фразы (для наглядности).
avatar
У тебя определенно сегодня нехорошее настроение ;-))
avatar
Наоборот, как не странно отличное. Мне нравятся такие топики. Особенно вот это просто «убило»:

… за 2 года общения с множестом программистов некоторые моменты в голове начинают проясняться
avatar
А что тут убило? На фрилансе ищу программера для оптимизации запросов…
Нашелся гений, запросы оптимизировал, затем хостер пишет гневное письмо что за КМС я использую, которая при открытии страницы делает по 600 запросов к базе.
Что с этим программистом делать?

Если у Вас нет такого печального опыта работы с программерами… Вам повезло… очень
avatar
ой я вижу вы blockquote заюзали впервые :)
avatar
В этой ситуации виноватых нет — это кеширование. Скорее всего сервер настроен таким образом, что если к кешу долго не обращались он автоматически очищается.

Вот потому я и спрашиваю т.к. сам плохо разбираюсь в этих вопросах, но знаю что под кеш БД определено определенное кол-во МБ, а если сайт имеет посещаемость 15тыс. в сутки то кеша на все кол-во запросов может нехватить и получится ситуация что каждому пользователю придется генерировать страницу без КЕШ-а и движек просто ляжет

При чём тут ЛС? Время работы любого сайта зависит от его объёма.

Хочу Вас огорчить… Как нам удалось на сайте где 100тыс. страниц и 15тыс. посетителей в сутки добиться загрузки страниц за доли секунд БЕЗ кеширования вообще?
Большие таблицы были автоматически разбиты на маленькие и выборка из маленьких таблиц происходила довольно быстро. Производительность КМС общая увеличилась во много много раз (30 секунд на загрузку страницы против 0,1-0,4 секунды). Кстати размер текста баз данных составлял более 1гб

Иногда сайты на шаред хостинге «умывают» по производительности сайты на VPS — всё относительно.

не спорю, но ЛС лежит на том же хостинге на том же аккаунте, где и сайт, который я в пример привожу

Ну и что?

Как что? Поставленный результат достигнут, возможно мои советы наведут автора ЛС-а на какие-то полезные мысли, или же сам автор проекта объяснит что я не прав в этом блоге… (если я где-то ошибся или что-то нетак понял)

Ответ на этот вопрос содержится в этой цитате — просто нужно было немного переставить фразы (для наглядности).

Если переставить фразы, то ЛС мне не нужен т.к. перспектива печальная… Повторюсь еще раз, ЛС мне ОЧЕНЬ нравится и ОЧЕНЬ надеюсь что движек будет дальше развиваться и дорабатываться, становясь еще лучше. Именно за этим я все это и пишу.
Мне бы хотелось создавать все последующие проекты на ЛС-е, а не на моем старом движке т.к. он не подходит под определение «движек для социальной статьи»
avatar
… плохо разбираюсь в этих вопросах…
… не являюсь программером…
… возможно мои советы наведут автора ЛС-а на какие-то полезные мысли ...


Оригинально…

avatar
Оригинально…

Вы столько нафлудили и ниодного слова в тему :)
Если читать внимательнее, то было написано что в течении 1,5-2 года программисты на заказ писали и исправляли КМС. за 2 года общения с множестом программистов некоторые моменты в голове начинают проясняться
avatar
CMS CMS'ке рознь, покажите функционал, а лучше сам сайт, где у вас без кеширования и при 15тыс. в сутки всё летает на хостинге в 200 рублей. Каким образом вы агрегировали информацию из кучи маленьких таблиц? Например, для выборки лучших 10 статей за всё время по рейтингу?
avatar
В ISQ Вам все покажу
avatar
в аське можете сайт показать, а на вопрос про таблице лучше здесь ответить
avatar
а кто такой ISQ?
Мы ио же туда хотим — посмотреть ;)
avatar
Состоялась беседа в аське с автором ЛС-а. После «быстрого» просмотра моей КМС? автор сразу указал на существенные отличия одной CMS от другой и дал разъяснения по всем моим «догадкам», за что ему огромное спасибо :)
Мой движек выполняет иные функции чем ЛС и поэтому он работает довольно быстро на дешегом хостинге.

По поводу
Каким образом вы агрегировали информацию из кучи маленьких таблиц? Например, для выборки лучших 10 статей за всё время по рейтингу?

Рейтинги всех статей хранятся в одной маленькой таблице, откуда и идет выборка. в ЛС-е, по словам автора, рейтинги работают аналогично.

FullTime-(MySql+PHP)= примерно 1 секунда. На что потрачена эта секунда? В статистике этого нет.

Выполнение пхп кода

Еще раз спасибо автору ЛС-а за разъяснения мне, пошел верстать диз под ЛС :)
avatar
про рейтинг — аналогично, имелось ввиду выборку из одной таблицы. В вашем случаи для сбора данных с множества таблиц в одну с последующим выводом, необходимо запускать теневой процесс(cron) для пересчета. Который по логике должен изрядно потрудиться, чтоб агрегировать 100тыс записей из множества мелких таблиц. Тогда как в ЛС рейтинг — это величина изменяющаяся в реальном времени, а не раз в сутки ночью.
по поводу одной секунды — это не обязательно выполнение php кода, это время между началом и завершением отработки скрипта со временем его отдачи. Т.е. при медленном коннекте на сервере будет долго висеть процесс Апача, это время тоже сюда входит
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.