Создать хорошую, индустриального типа, CMS не просто. Очень много проблем необходимо решить: от безопасности до той же самой производительности. И редко кому удается при создании CMS решить их в комплексе (нам, по крайне мере, неизвестны подобные случаи). В такой ситуации путь только один: пошаговое движение с решением основных задач от версии к версии.
Наше знакомство с «Битриксом» началось с третьей версии этой CMS.
Одной из основных претензий у нас тогда была высокая нагрузка на компьютер, приводившая к тому, что даже в локальной версии страницы открывались довольно долго, по нескольку секунд. Думалось тогда: как же это все будет работать удаленно? Но потребность в освоении этой системы управления контентом тогда перекрыла эмоции. Прошло время, и возникли потребности снова вернуться к «Битриксу» в его новой версии. Первая мысль: насколько шустро работает «Битрикс» теперь?
Начиная с пятой версии «Битрикса» «тормоза» при работе с сайтами на локальной машине пропалиИзменения во времени доступа к страницам сайта были очевидны. Никаких многосекундных задержек. На локальной машине все работало в пределах разумного. Однако прежде чем говорить об успехах, надо, на наш взгляд, провести границы оценки этой самой производительности и понять, где, собственно, надо мерять эти границы. В последних версиях «Битрикса», если не изменяет память, где-то с пятой, «тормоза» при работе с сайтами на локальной машине пропали. Но говорит ли это о чем-то? Одно дело — локальная машина, другое дело — сервер. Одно дело — частный проект или веб-сайт магазинчика компьютерного железа в каком-нибудь провинциальном городке, другое — сайт крупной компании с посещаемостью в десятки тысяч (или хотя бы тысяч) уникальных посетителей.
Таким образом, получается, что скорость работы конкретного сайта зависит от нескольких факторов:
- собственно производительности CMS, которую легко проверить, протестировав ее на локальной машине;
- конкретной реализации проекта;
- настройки сервера;
- собственно канала связи от пользователя до сервера.
Производительность самой CMS
Включение автокеширования в \'\'Битриксе\'\' |
Вопрос скорости работы самой системы управления контентом является во многом определяющим для конечного пользователя при выборе системы: зачем использовать CMS, если половина конечных пользователей сайта будут ждать загрузки страницы в течение 3-4 секунд на подключении в 128 Кв/s?
Только две из отечественных CMS могут похвастаться отчетами о тестировании производительностиНесмотря на обилие созданных отечественных CMS, только две из них могут похвастаться отчетами о тестировании производительности собственных разработок: "1С-Битрикс" и UMI. Причем «Битрикс» тестировался дважды, с интервалом в два года: в 2005 году и по выходу шестой версии. Согласно этим данным, а про независимые экспертизы производительности каких-либо CMS мне неизвестно, производительность в шестой версии возросла на 80%.
Конкретно в цифрах это выглядит так:
Версия 6.0. Редакция «Старт»:
- 6 012 311 хитов за сутки;
- среднее время ожидания ответа — 0,430 с;
- количество ошибок типа 5xx — 0,089%.
Версия 6.0. Редакция «Бизнес»:
- 1 593 983 хита за сутки;
- среднее время ожидания ответа — 0,349 с;
- количество ошибок типа 5xx — 0,07%.
Основным способом ускорения работы является кешированиеОсновным способом ускорения работы является кеширование. Суть этой технологии в том, что один раз пропарсенные различные части одной страницы могут сохраняться на диск в виде чистого HTML-кода и потом, в течение некоторого времени, использоваться для показа другим посетителям сайта. Другой способ — сжатие веб-страниц с помощью специального модуля компрессии, который вне зависимости от настроек серверного программного обеспечения позволяет в несколько десятков раз сжимать данные, генерируемые веб-сервером, и ускорять загрузку страниц.
Параметры кеширования можно настроить |
В шестой версии возможно кеширование не только страниц в целом, но и их отдельных составляющих. В основном настройки кеширования компонентов производятся для снижения количества обращений к БД. Специальных знаний для этого не надо, просто следует определиться, для какого элемента страницы допустимо кеширование и как часто это стоит делать. Параметры кеширования устанавливаются в визуальном редакторе при редактировании компонента страницы. Например, лента новостей обновляется часто, поэтому ее можно кешировать на несколько минут. В то же время страница с отдельной новостью обновляться часто не будет, поэтому для нее можно указать кеширование на сутки, трое или больше.
Кеширование в описанном выше виде — это больше для редакторов сайта. В более сложном случае (оптимизация кода компонентов или создание собственных компонентов, дополнительное кеширование таблиц базы данных) требуется привлечение программиста. Благо, что «Битрикс» содержит встроенные средства, используя которые разработчик конкретного проекта может оптимизировать созданные веб-страницы с целью обеспечить минимальное время их генерации. Это если делать силами веб-студий, но "1С-Битрикс" прикладывает немало усилий для совершенствования кодов, планомерно осуществляя глубокий аудит кода ядра, модулей и компонентов в продукте.
Конкретная реализация проекта
На скорость работы сайта влияет и конкретная реализация проекта, когда на саму CMS накладывается дизайн и сайт заполняется контентом. Это важно, так как кривовато сделанный компонент в шаблоне легко может затормозить работу системы в целом. Этот аспект в наименьшей степени зависит от самой CMS и ее создателей, «кривые руки» конкретных исполнителей могут испортить что угодно. Поэтому заказчикам надо быть внимательными при выборе веб-студии.
Настройки сервера
Хостинг для «Битрикса» имеет важное значениеХостинг для «Битрикса» имеет важное значение. Прежде всего потому, что простой сервера иногда может обходиться в сутки до 1000 долларов, а то и выше. И чем сложнее проект, тем внимательнее нужно быть к тому, где размещен ваш сайт. На пятибаксовом хостинге ничего толком не заработает, ну разве что версия «Старт».
«Битрикс» может работать на Oracle и MySQL. Поскольку разницы по цене на версию под Oracle или MySQL не существует, то есть смысл подбирать конкретную версию под предполагаемый уровень посещаемости. А скорость работы существенно зависит от того, что вы используете: MySQL или Oracle. На больших объемах (порядка 1 миллиона записей) MySQL уступает Oracle, но в то же время по небольшим таблицам (до 50 000 записей) MySQL работает зачастую быстрее.
Oracle целесообразно использовать для больших нагруженных сайтов с посещаемостью порядка 50 000 хостов в сутки и выше. Но для большинства проектов вполне хватает MySQL. В качестве примера можно привести Security Lab, который имеет посещаемость около 20 000 хостов в сутки и каталог статей, новостей и других файлов общим числом порядка 100 000. Или сайт «Элкомсофт», средняя посещаемость которого порядка 16 000 хитов и 5000 хостов в день. В то же время «Компьютерра» с посещаемостью под 100 000 хостов в сутки и огромной базой статей работает на Oracle-версии.
Но надо помнить, что существует определенная разница в стоимости хостинга и администрирования. Для проектов начинающих, развивающихся или с малой рентабельностью платформа Oracle может стать «неподъемной».
Обновить кеш можно вручную |
Настройка серверов представляет собой определенную трудность для администраторовНастройка серверов представляет собой определенную трудность для администраторов. И, как нам представляется, это самая серьезная проблема для «Битрикса» на данный момент. Заявленная сертификация хостингов должна бы решить эту проблему, но реальность такова, что настройка сервера под крупный проект под «Битриксом» невыгодна хостерам. Такой проект требует корректной настройки, для чего нужны высококвалифицированный специалист и, соответственно, высокая его оплата. Если с настройками по рекомендациям компании-разработчика типовые сисадмины могут справиться, то о тонкой же настройке производительности речи, как правило, не идет — нет у большинства хостеров таких специалистов.
Одного и того же простенького сервера хватает на 8-10 не особо нагруженных битриксовых сайтов либо 1000 и больше простеньких сайтов. Даже если по 1 у.е. в месяц с каждого брать (а берут 4-5 в среднем), выходит 1000 долларов минимум. За каждый из 10 сайтов «Битрикса» надо, выходит, 100 у.е. в месяц просить при том же обороте. Да еще за те же деньги иметь головную боль по решению проблем клиентов навороченной системы. Не рентабельно. Хотя такая сертификация сыграла уже определенную роль: у заказчиков начали открываться глаза на то, что им выдают за хостинг.
«Битрикс» требует квалифицированной настройки серверов |
Так что, если вы хотите, чтобы сайт на «Битриксе» работал быстро, нужно ставить свой сервер или пользоваться услугами хостеров, предлагающих специальные "Битрикс-тарифы", которые проверены и кому вы доверяете. Сервер должен быть настроен под «Битрикс» — тогда все будет довольно шустро. Нужно учесть, например, что по умолчанию эта CMS в своей базе хранит информацию о всех активностях посетителей и о рекламных кампаниях. Это громадный объем информации. Без специальных настроек ваша база уже через несколько месяцев активных посещений достигнет гигантских размеров. На ненастроенном или слабом сервере, безусловно, проблемы будут.
Резюме
«Битрикс» тяжел, но это тяжесть солидного продукта. Не надо забывать про объем функционала, который реализуется в этой CMS: контент, поиск и немедленная индексация, рекламный двигатель на этой же машине, форумы, обсуждения и масса всего остального. Обычно на больших проектах рекламу выносят наружу, форумы наружу, поиск реализуют внешний и так далее. А в «Битриксе» — это все «в одном флаконе», и потому он — одна из немногих альтернатив для крупных проектов с высокой посещаемостью.
В то же время реальная ситуация с интернет-проектами такова, что производительность сайтов на «Битриксе» превышает необходимые реальным потребностям показатели в 2-3 раза. Однако при создании больших проектов на данный момент лучше иметь свой собственный сервер, оптимизировав настройку которого "под 'Битрикс'", вы можете получить надежно и быстро работающие сложные корпоративные сайты и порталы, объемные каталоги товаров и интернет-магазины.
Ссылки по теме
Статья получена: hostinfo.ru