В последнее время большую популярность получили различные CMS-системы.
Информация в данных системах формируется "на ходу" через админку. Вся информация пишется в базе данных. Такой подход удобен, когда имеется огромный контент, а так же собирается информация из различных источников.
Однако, наши тесты показали, что CMS-системы в 600-700 раз работают медленнее, чем статические интернет-страницы. Кроме того, одновременных подключений к контенту в CMS-системах может быть в тысячи раз меньше, чем к контенту на основе статических страниц. Т.е. получается, что если у Вас очень посещаемый сайт, то ему нужно будет очень сильное оборудование, а так же есть большая вероятность "сваливания" сервера.
По надёжности, однозначно CMS-системы значительно менее надёжные, чем статические страницы. Т.к. выход из строя хотя-бы Apache или MySQL выведет из строя весь сайт...
Рано или поздно, возникнет вопрос эффективности использования ресурсов машины, а значит, оптимизации интернет-страниц.
Думаю, выходом из этого, будет глобальная замена редко изменяемого контента на статическое содержимое. Перевод php-файлов на просто html. Часть функций, которых не будет доставать в html будут заменять java-скрипт (не даром, так знаменита технология Ajax).
Соответственно, будут разработаны программы-генераторы статических страниц (веб-ориентированные или просто как обычные приложения).
Рассмотрим, к примеру, такую вещь, как интернет-магазин.
Теоретически, интернет-магазин типичный пример динамического содержимого.
Но... Так ли оно есть на самом деле ?
Схема работы, в обычном варианте интернет-магазина:
1) Данные хранятся в бухгалтерской или складской программе (например, 1С или наша Корпорация). В той же базе ведут описания всех продуктов, информацию о производителях, фотографии и т.п. Там же ведутся заказы, которые делают пользователи и их состояние.
2) Данные экспортируются в CMS-систему. Например, с помощью xml-файлов, а так же целого ряда графических файлов с изображениями.
3) Данные импортируются в CMS-систему. При данной операции, на сервере возникает колоссальная нагрузка. Т.к. могут производиться большое количество удалений информации и сотни тысяч вставок новых позиций.
4) После закачки информации. Идет обычная работа:
- Пользователи смотрят информацию в контенте. В этот момент, делаются обращения каждый раз к базе данных - для получения контента.
- Иногда, делают поиск.
- Выбрав позиции делают заказ.
5) После этого, с какой-то периодичностью делается экспорт заказа из CMS-системы.
6) Заказы импортируются в бухгалтерскую или складскую программу.
Теперь, рассмотрим, более оптимальный способ.
1) Бухгалтерская или складская система сразу генерирует HTML для интернет-магазина.
Те части, которые нужны для динамики записываются при необходимости в отдельную базу данных, а так же предусмартивается php-интерфейс для заказа (это делается ссылкой на какую-то подготовленную область).
2) База данных (для поиска) и HTML-странцы с картинками закачиваются на сервер.
3) Пользователи работают с интернет-страницей. При этом, пропускная способность сервера в 600-800 раз выше, чем в варианте CMS-системы. А это значит, требования к аппаратуре в 600-800 раз ниже!
4) Часть формирования заказов - все таки динамическая. Но, она занимает менее 1% всего интерфейса.
5) Новые заказы импортируются таким же способом, как в CMS-системе. По сути, данная часть ничем не отличается.
Как результат, имеем ту же самую функциональность, что и в CMS-системах, но пропускную способность в 600-800 раз выше. А это очень много.
22.12.07, 11:50
0 комментариев