LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
28.05.2012, 03:14:01 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: [перевод] Итак, вы хотите ускорить Joomla?  (Прочитано 3009 раз)
0 Пользователей и 1 Гость смотрят эту тему.
vadim s. sabinich
Давно я тут
****

Репутация: +10/-0
Offline Offline

Пол: Мужской
Сообщений: 220


переводчик-любитель


« : 27.11.2009, 20:51:00 »

До тех пор, пока Joomla будет являться одной из гибчайших и мощных систем управления содержимым (Content Management Systems, CMS), она будет страдать в области производительности. Наилучшей производительности можно добиться использованием Lighttpd (НАМНОГО быстрее, чем Apache) на выделенном сервере с локальным сервером MySQL, включая уровни оптимизации, предоставляемые едва ли ни в каждом хостинг-центре. Для многих администраторов переход на выделенный сервер не является повседневной практикой...

Оптимизация шаблона
        Начнем, пожалуй, с одной из самой распространенной (и наиболее губительной) проблемы, которую я встретил на Joomla (да и любом другом движке). Существует, буквально, тысячи шаблонов, созданных специально для Joomla и большинство их них выглядят довольно таки прилично, но и влияют на производительность сервера они так же прилично. Проблема в том, что шаблоны нередко содержат более 70 различных изображений на одной странице. Каждое  изображение генерирует новый запрос (в зависимости от задержек в сети это занимает от 0,1  секунды до 1 секунды) и скачивается. С увеличением размера изображения проблема так же увеличивается и оптимизации не поддается. Существует ОТЛИЧНЫЙ сайт, который поможет вам определить проблемную область в вашем шаблоне. Проверяйте ваш сайт даже после незначительных изменений (The Website Analyzer).

Gzip
        Использование Gzip-сжатия для ваших страниц — 90% решения. Если процессор вашего сервера быстрее, чем интернет-канал (и снова, 90%), тогда включите Gzip-сжатие и это реально увеличит скорость работы вашего сайта. Я говорю это потому, что сжатие страниц довольно ощутимо нагружает CPU. Попробуйте включить Gzip и посмотреть на сколько увеличилось быстродействие. Если ни на сколько, или вы получаете предупреждения от процессора вашего сервера, отключите Gzip. Ибо это может принести некоторые проблемы,  но в большинстве случаев поможет. Единственный вариант узнать это наверняка — попробовать.

Не все компоненты одинаково полезны
        Если вы посмотрите в каталог расширений для Joomla, то найдете там все, что вам угодно (по большей части). Проблема в том, что некоторые из этих компонентов действительно медленные и подрезают крылышки сайта довольно хорошо. Самый простой способ найти эти компоненты, установите мой компонент кеширования страницы, но не включайте кеширование (оставьте только запись времени загрузки страницы для каждой ссылки). Через неделю или около того вы получите список с помощью которого найдете медленные страницы. Этот компонент покажет, какие из них самые медленные. Если у вас есть возможность, то удалите эти компоненты и замените другими.

Статистика выглядит превосходно, но...
        Она использует тонну SQL-запросов для получения данных. Это непозволительная роскошь! Если вам нужна прекрасная статистика, используйте Google Analytics и держитесь подальше от сторонних компонентов! Да, они генерируют превосходную статистику, но это пенальти в ворота производительности. Остается только статистика по поисковым запросам (из конфигурации Joomla). Если у вас есть доступ к веб-серверу, то вы можете отключить журналирование статистики с сервера (эта процедура довольно эффективная и принесет реальную помощь если ваш сервер сильно нагружен).

Мамботы — великолепные... тормоза
        Посмотрите на активные мамботы. Если вы не используете какие-нибудь из них, то избавьтесь от них (не отключайте, а именно удалите их). Каждый раз, когда вы загружаете страницу, мамботы вызываются 20-30 раз. Если код не на 100% нужен и эффективен, он просто расходует ресурсы. Но это не значит, что если вы используете этот мамбот, то вам следует его оставить. Существует множество мамботов, которые замедляют работу сайта. Один из таких это AllVideos Plugin.  Великолепное решение, но использует ОЧЕНЬ большое количество запросов.

ЧеловекоПриятныеУрлы неприятны серверу
        Одно из самых лучших вещей, которые вы можете сделать с сайтом - сделать адреса ссылок более понятные. На уровне ядре Joomla сделать этого не может, но есть различные сторонние компоненты, которые делают ссылки довольно милыми. Основная проблема всех этих компонентов в  том, что они влияют на производительность в худшую сторону (используют массу запросов). Я предпочитаю использовать OpenSEF (к сожалению, разработчики не проявляют никакой активности с 2007 года) как совокупность гибкости, мощности и производительности. Запомните, что использование ЧПУ это в первую очередь поиск компромисса. ЧПУ приятны как для поисковой оптимизации, так и для конечного пользователя, но отражаются на времени загрузки. Подумайте, прежде чем начать использовать ЧПУ. И если все таки решились включить, то не забывайте периодически оптимизировать базу данных для удаления неиспользуемых и неверных ссылок из базы данных OpenSEF (параметр в разделе администрирования данного компонента).

Включайте кэширование везде, где только возможно
        Если у вас есть возможность, то активируйте функцию кэширования материалов на уровне ядра Joomla. Это увеличит скорость показа содержимого и модулей (мамботам не требуется обрабатываться при каждой загрузке страницы). Если вы хотите увеличить скорость для незарегистрированных пользователей, то приглашаю вас на страницу своего компоненты Page Caching, который кэширует страницы. Это, возможно, наилучший вариант, который вы можете найти для своих незарегистрированных пользователь (а это 95% всех посетителей). Но это не значит, что вам следует забыть про остальную оптимизацию, ибо зарегистрированные пользователи будут видеть некэшированный сайт.

Ищем плохие запросы
        В настройках Joomla включаем отладочную информацию. Теперь вы видите свой сайт и все запросы к базе данных. Надо, чтобы их число было как можно меньше (предпочтительно, чтобы было до 30, но терпимо до 50 запросов). Начните с поиска повторяющихся запросов (те, которые запускаются снова и снова). Вы ДОЛЖНЫ с уверенностью сказать какое расширение создает запрос и к какой таблице (к примеру, "Select * from jos_opensef_config" в OpenSEF). Существует несколько вариантов уменьшения запросов. Это отключить расширение или обратиться к разработчику и попытаться оптимизировать (либо к разработчику расширения, либо к любому другому фрилансеру, типа меня).

Держитесь подальше от мостов
        Популярный метод добавление функциональности к Joomla - использование мостов. Они предполагают модифицирование как ядра Joomla, так и другой программы (к примеру SMF или Gallery) для совместного функционирования. Поверхностно это все выглядит здорово, потому что другая программа предлагает более привлекательный функционал, нежели "истинные" расширения Joomla, но при более глубоком рассмотрении совсем другая история. Проблема существует в обоих системах независимо, каждая их которых пытается подгрузить свое "ядро" (включая фреймворк, систему управления пользователями и тому подобное). Это ОЧЕНЬ большой урон производительности, грубо говоря мы загружаем две страницы на каждую. При переходе, к примеру с SMF на что-нибудь типа Fireboard вы немного теряете в функционале, но приобретаете в производительности.

Оптимизация базы данных
        Единственный камень преткновения большинства инсталляций Joomla это сервер баз данных. Существует два пути оптимизации базы данных. Оптимизируйте таблицы и оптимизируйте структуру. Отличие между ними в том, что в таблицах хранятся данные, а в структуре - информация о том, как хранятся эти данные. Оптимизация структуры потребуется лишь однажды, когда как оптимизацию таблиц следует проводить регулярно (т.к. данные постоянно добавляются, редактируются и удаляются). Для оптимизации структуры обратитесь к статье "Улучшение запросов в Joomla". Для оптимизации таблиц перейдите в phpMyAdmin, выберите все таблицы и нажмите "оптимизировать". Для получения более подробной информации об оптимизации таблиц баз данных прочитайте этот раздел из документации по MySQL.

И, наконец, резервное копирование и наблюдение за сервером
       Вы ДОЛЖНЫ регулярно сохранять резервные копии и переносить их с рабочего сервера. Вы можете подумать: "Как это относится к производительности?" это ВСЕ относится к ней самой.  Без текущих резервных копий как вы сможете восстановить сайт до известной конфигурации, если инсталляция, обновление или настройка прошла плохо? Внезапное ухудшение работы сайты может быть вызвано попыткой злоумышленников внести вредоносный код в ядро сайта (к сожалению, это вполне возможно). Что случится, если ваш сайт "склеит ласты"? Наилучший способ резервного копирования это создание резервных копий автоматически с помощью скрипта (для того, чтобы вы не забыли ненароком). Существует единственный такой скрипт на всем интернете (и, возможно, один уже установленный в панели управления) просто погуглите. Запомните, перед тем, как что-либо делать на сайте, СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ!
    * Источник: http://www.joomlaperformance.com/articles/performance/so_you_want_to_speed_up_joomla_3_14.html

http://sabini.ch/itak-vy-khotite-uskorit-joomla.html
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #1 : 27.11.2009, 20:59:22 »

многое правильно, но стандартный SEF в 1.5 потребляет в разы меньше ресурсов нежели любой сторонний компонент

Ну и перевод, конечно, совершенно некачественный, наполовину машинный
Записан
radius
Давно я тут
****

Репутация: +37/-0
Offline Offline

Сообщений: 364


« Ответ #2 : 27.11.2009, 21:19:14 »

"Одно из самых лучших вещей, которые вы можете сделать с сайтом - сделать адреса ссылок более понятные. На уровне ядре Joomla сделать этого не может, но есть различные сторонние компоненты, которые делают ссылки довольно милыми."

Статья для 1.0 похоже.
Записан
beliyadm
Профи
********

Репутация: +1438/-61
Offline Offline

Пол: Мужской
Сообщений: 8893


Севастополь==Россия


« Ответ #3 : 27.11.2009, 21:21:35 »

какой смысл писать статьи для 1.0, официальная поддержка которой прекратилась более полугода назад
Записан
vadim s. sabinich
Давно я тут
****

Репутация: +10/-0
Offline Offline

Пол: Мужской
Сообщений: 220


переводчик-любитель


« Ответ #4 : 28.11.2009, 06:02:45 »

кстати да, мой косяк. перенесите, плз, в какую-либо общую тему. Тут все равно нет конкретного упоминания ни одной из версий, а общие пожелания.
Записан
Skit
Осваиваюсь на форуме
***

Репутация: +5/-0
Offline Offline

Пол: Мужской
Сообщений: 130


Нет смысла в том, что ты делаешь!


« Ответ #5 : 17.01.2010, 08:43:46 »

Хорошая статья по оптимизации. Она для Joomla и если один пункт для 1.0... то его можно пропустить. В общих чертах понятно, что ей нужно. По крайней мере я взял часть информации, несмотря на то, что использую 1.5.
Записан
ABTOP
JComments Tester
*

Репутация: +23/-3
Offline Offline

Пол: Мужской
Сообщений: 528



« Ответ #6 : 17.01.2010, 08:56:37 »

Какой смысл писать техническую статью и не поставить даже даты публикации не говоря уже о версии рассматриваемой системы? Дебилизм.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet