Суть явления такова - есть статический сайт, не очень большой, но уже и не очень маленький, около 500 страниц. Подумывал перенести контент на CMS, но решил, что не стоит рисковать позициями в серпе и совершенно для меня туманными вещами вроде нагрузки на сервер - я совершенно не представляю какие движки без серьёзных танцев с бубном вытянут 5-10к посетителей при глубине просмотра в 5-7 страниц. Отягчающим обстоятельством является то, что на сайт идет много внешних ссылок, в том числе и на картинки, и терять это всё ой как не хочется - все адреса планируется оставить прежними.
Появилось желание немного упростить себе жизнь - автоматизировать вывод менюшек, хидеров-футеров с помощью php-инклудов. Я установил денвер, упросил сервер обрабатывать файлы html как php, после чего с легкой душой стал менять соответствующие фрагменты кода на инклуды. Всё хорошо. Однако я почему-то переживал - что-то явно можно было сделать лучше.
Пришла в голову следующая идея - сверстать простой шаблон (со всеми хидерами-футерами), который бы подключался в момент вызова конкретной страницы всего одной строчкой, а в этом шаблоне выводить значения несколько переменных ($title, $description, $keywords и $content), которые определяются в адресной странице. Сделал, работает. Однако, даже такой примитив заставляет меня сомневаться и спрашивать совета.
Наконец-то, вопросы. Указанные переменные являются строковыми, и первые три ($title, $description, $keywords) меня заботят мало - я качнул несколько готовых движков (Кандидат, Амиро и посмотрел как это реализовано у irbis-team), сделал примерно также. Гораздо больше я переживаю за переменную $content, которая фактически содержит весь контент страницы.
То бишь: $content = '<h1>Главная страница</h2> <p>Уважаемые ...</p>';
Между кавычками находится несколько тысяч знаков текста и я подозреваю, что это может каким-то нагружать сервер при одновременной загрузке страниц несколькими пользователями. Так ли это? Имеет ли смысл как-то обнулять $content после вывода (если да, то как), чтобы не держать в оперативке такие объёмы данных?
Ну и вообще - имеет ли все вышеизложенное какой-то смысл? Может быть есть какие-то другие способы реализовать всё задуманное? Я, конечно, понимаю, что какая-то cms вполне бы решила многие мои проблемы, что есть и ЧПУ, и редиректы, и много еще чего, но моих знаний в этой сфере катастрофически не хватает, да еще стоит выбор - или двигать сайт и писать материалы, или штудировать мануалы по php.
Спасибо всем, осилившим сей пространный опус.
Спустя 9 минут, 22 секунды (11.02.2011 - 00:12) Сандин написал(а):
Цитата (dendav @ 10.02.2011 - 21:03) |
не очень большой, но уже и не очень маленький, около 500 страниц |
О____о а чего же ты раньше на php не перешел? сочувствую тебе! )
Спустя 6 минут, 55 секунд (11.02.2011 - 00:19) dendav написал(а):
Этот ресурс изначально делался как визитка несколько лет назад, а развился в небольшой справочник в своей тематике. Кто ж знал... Я тогда и верстал по "бумажке", какой-такой php...
Спустя 3 минуты, 6 секунд (11.02.2011 - 00:22) inpost написал(а):
dendav
Тот же буфер, который используется на ирбисе, весь HTML код отправляет в переменную, а потом просто её выводит.
Тот же буфер, который используется на ирбисе, весь HTML код отправляет в переменную, а потом просто её выводит.
Спустя 7 минут, 12 секунд (11.02.2011 - 00:29) dendav написал(а):
Спасибо, inpost, вы меня успокоили. Если не трудно, подскажите, пожалуйста, стоит ли обнулять переменную после вывода или нет (это вообще как-то влияет на нагрузку сервера в каких-то осязаемых величинах)?
Спустя 5 минут, 11 секунд (11.02.2011 - 00:34) Invis1ble написал(а):
Цитата |
Между кавычками находится несколько тысяч знаков текста и я подозреваю, что это может каким-то нагружать сервер при одновременной загрузке страниц несколькими пользователями. Так ли это? |
естественно, нугрузка будет. Но не думаю, что значительная, т.к. вероятность именно одновременного обращения сразу нескольких пользователей очень низка (читай стремится к нулю)
Цитата |
Имеет ли смысл как-то обнулять $content после вывода (если да, то как), чтобы не держать в оперативке такие объёмы данных? |
оперативка освобождается сама по завершении работы скрипта
Спустя 6 минут, 19 секунд (11.02.2011 - 00:41) Invis1ble написал(а):
Чисто теоретический расчет:
к примеру твой скрипт работает в течении 0.01 сек и занимает 1Мб памяти, а лимит памяти - 50Мб. Следовательно, чтобы упал сервак нужно, чтоб к нему обратились сразу 50 юзеров в течении 0.01с
к примеру твой скрипт работает в течении 0.01 сек и занимает 1Мб памяти, а лимит памяти - 50Мб. Следовательно, чтобы упал сервак нужно, чтоб к нему обратились сразу 50 юзеров в течении 0.01с

Спустя 41 секунда (11.02.2011 - 00:41) dendav написал(а):
Спасибо, очень ценная для меня информация.
Спустя 33 минуты, 24 секунды (11.02.2011 - 01:15) twin написал(а):
Цитата |
Между кавычками находится несколько тысяч знаков текста |
Это пыль. Даже если 10000 знаков кирилицы в утф по два байта - 19,5 kb
Вообще ничего.
Спустя 28 минут, 53 секунды (11.02.2011 - 01:44) dendav написал(а):
ОК, всем отозвавшимся большое спасибо. Пожалуй попробую осуществить задуманное, в конце-то концов - статика никуда не денется, можно в любой момент отыграть обратно.