Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« : 24.01.2008, 20:20:00 » |
|
Я решил написать статью по оптимизации Joomla для моего блога joomup.com/blog. А пока статья находится в процессе написания, выкладываю на всеобщее обозрение ее «черновик» (даже скорее «краткое содержание первой части»). Любые дополнения и критика приветствуются. Сегодняшняя статья должна заинтересовать многих, так как она посвящена проблеме оптимизации Joomla, т.е. повышению ее производительности. Хочу сразу предупредить, что повысить производительность Joomla на несколько порядков только за счет оптимизации вряд ли удастся. Поэтому задумайтесь, может быть имеет смысл сменить хостинг, перейти на виртуальный сервер, на выделенный сервер, проапгрейдить сервер, использовать несколько серверов (тут можно отметить pdf-руководство Joomla Cluster на forum.joomla.org), и т.д. В этой статье я постараюсь описать только то, что можно сделать, не внося изменений в файлы Joomla (т.е. вы сможете безболезненно делать последующие обновления Joomla), и лишь в конце слегка коснусь того, какие изменения можно сделать в файлах Joomla для ускорения ее работы (эта часть еще не написана). Самые «существенные» советы отмечены знаком « *». Сначала несколько советов, которые применимы к любой CMS, написанной на PHP: 1*. Используйте обновленное ПО. Например, PHP 5.2 работает почти в 2 раза быстрее, чем PHP 4.4. 2*. Используйте PHP-акселлераторы. Среди самых известных можно выделить Alternative PHP Cache (APC), eAccelerator, XCache, Zend Optimizer. По данным тестов joomla.org, самая быстрая работа Joomla обеспечивается с использованием APC и PHP 5.2.2 (см. выше про производительность PHP). 3.* Оптимизация Apache. Если вы используете сервер Apache, оптимизируйте его под свои нужды (на сайте www.crucialp.com описано, как провести оптимизацию под большой трафик). 4. Не обязательно использовать сервер Apache. Вместо него можно использовать более быстрый Lighttpd. Об использовании Joomla с Lighttpd написано на сайте ircmaxell.com: тут и тут. 5.* Оптимизация MySQL. По-умолчанию MySQL устанавливается с минимальными настройками. Попробуйте изменить эти настройки в соответствии с возможностями вашего сервера (советую прочитать статьи на joomlaperformance.com и profitpapers.com). Хорошим способом ускорить работу MySQL является настройка кэширования запросов. Текущее состояние параметров кэша можно увидеть, выполнив команду "SHOW STATUS LIKE 'qcache%';". Параметр query_cache_type должен иметь ненулевое значение, а в параметре query_cache_size должен быть указан размер кэша (именно это значение вам придется подобрать для обеспечения наилучшей производительности). Все эти параметры задаются в вашем файле my.cnf, например: query_cache_type = 1 query_cache_size = 20M query_cache_limit = 2M Уделите внимание параметру max_connections. Увеличьте его значение, иначе вас очень быстро настигнет проблема "too many connections". 6. Подумайте о переносе картинок в наполненном графикой популярном посте на отдельный сервер или хостинг. Можно использовать мощности бесплатных сервисов (например flickr) и разместить изображения там. Точно также можно перенести и многие другие файлы. 7. Если вы используете свой сервер также в качестве DNS-сервера, то уменьшить нагрузку на сервер можно, вынеся DNS на отдельный сервер. 8. Не забудьте включить gzip-сжатие, если хотите уменьшить трафик (правда, это слегка увеличит нагрузку на процессор). Кстати, это можно сделать не только для html-страниц, генерируемых Joomla, но и для всех css и js файлов. Если на вашем сервере установлен Apache 2, то просто добавьте следующие директивы в ваш файл .htaccess: <FilesMatch "\.(js|css)$"> SetOutputFilter DEFLATE </FilesMatch> 9. Совершенно не к чему каждый раз загружать одни и те же css/js файлы и графику. Как правильно поместить их в кэш браузера, описано на apachedev.ru, а для знающих английский рекомендую статью на askapache.com. 10. Оптимизируйте графику в шаблоне. Некоторые сайты славятся тем, что загружают несколько сотен килобайт картинок. Вообще, проверяйте объем загружаемой информации и время загрузки на сайте http://www.websiteoptimization.com/services/analyze/index.html. 11. Старайтесь уменьшить количество запросов к серверу. Постарайтесь объединить имеющиеся css-файлы в один. То же самое относится и к js-скриптам. Да и сами файлы очистить от лишнего мусора. 12. Для более быстрого отображения страницы в браузере желательно, чтобы на странице не было ошибок. Вы можете проверить свой сайт, например, на validator.w3.org. 13?. Добавьте favicon.ico и favicon.gif в корень сайта, т.к. некоторые браузеры сначала запрашивают их, а не те, которые указаны в коде страницы (их не так много, но в логах сервера эти запросы появляются с завидной регулярностью). Теперь перейдем к советам, относящимся к собственно Joomla. 14*. Включите кэширование для всех модулей, для которых это возможно. Время жизни кэша определите из условия: сколько времени вы готовы ждать, пока добавленная новость появится в модуле последних новостей? Для одних сайтов это будет 10 минут, для других – час, для третьих – сутки. (Если хотите, вот числа: в «свежеустановленной» Joomla при посещении главной страницы генерируется 36 запросов, а с включенным кэшированием модулей — всего 13 запросов). 15*. Добавьте индексы для таблиц в БД. Тут есть несколько альтернативных предложений по оптимизации: ircmaxell.com и forum.joomla.org (перевод на русский — joomlaportal.ru). Я бы рекомендовал те, что описаны на forum.joomla.org, т.к. на ircmaxell.com уж очень большие индексы создаются. 16*. Не забывайте, что при частом изменении таблиц БД они сильно возрастают в размере, поэтому время поиска по БД тоже возрастает. Поэтому БД нужно регулярно оптимизировать (по сути — сжимать). Установите мамбот OptimizeTables (от smart'а) или выполняйте оптимизацию таблиц вручную (выделите все таблицы через phpMyAdmin, и выполните команды repair и optimize). 17*. Можно сменить тип таблицы jos_session на memory: alter table jos_session type=memory; (если ваша версия Joomla использует другой префикс таблиц, то не забудьте заменить «jos» на него). 18*. Отключите встроенную статистику. В большинстве случаев статистика, предоставляемая хостер;ом, дает намного больше информации о посетителях. Но можно оставить статистику поисковых запросов. 19. Удалите лишние (неиспользуемые) расширения (компоненты, модули, мамботы). 20. Много запросов образуется при формировании списки новостей в различных модулях (из-за получения Itemid для каждой новости). Это можно ускорить, используя постоянный Itemid, появившийся в 1.0.12. 21. Много запросов зачастую генерируют сторонние SEF-компоненты. При большой нагрузке лучше использовать встроенный SEF, или не использовать SEF вовсе (кстати, встроенный SEF практически не требователен к ресурсам; более того, по данным теста joomla.org Joomla!1.5 с включенным SEF работает быстрее, чем с отключенным). 22. Старайтесь не использовать в настройках пунктов меню «Category Name Linkable» («Названия категорий в виде ссылок»). 23. Для полей id в таблицах БД можно вместо типа int(11) указать smallint unsigned, что приводит к небольшому уменьшению объема памяти, требуемого для хранения БД. 24. Закройте через robots.txt от индексации поисковыми ботами компонент com_search и файл index2.php. Также можно закрыть com_wraper и com_newsfeed (ленты новостей), т.к. поисковики могут посчитать это дублированным контентом. Ниже приведен набор правил для встроенного SEF: User-agent: * Disallow: /index2.php? Disallow: /component/option,com_search/ Disallow: /component/option,com_newsfeeds/ Disallow: /component/option,com_wrapper/ Кстати, в robots.txt можно также ограничить (на всякий случай) доступ поисковиков к файлам Joomla: Disallow: /administrator/ Disallow: /cache/ Disallow: /components/ Disallow: /editor/ Disallow: /help/ Disallow: /includes/ Disallow: /language/ Disallow: /mambots/ Disallow: /media/ Disallow: /modules/ 25. Перед использованием любого расширения никогда не забывайте проверить, нет ли у него более быстрых аналогов. 26. Оптимизируйте используемый шаблон (например, удалите лишние пробелы и переводы строк).
|
|
|
|
« Последнее редактирование: 13.06.2008, 19:22:01 от Physicist »
|
Записан
|
|
|
|
| |
|
FxPunter
|
 |
« Ответ #1 : 24.01.2008, 20:55:46 » |
|
+1 суппер! Жду продолжения 
|
|
|
|
|
Записан
|
|
|
|
|
|
eX
Давно я тут
  
Репутация: +72/-0
Offline
Пол: 
Сообщений: 287
|
 |
« Ответ #3 : 25.01.2008, 10:37:41 » |
|
Отличный топик! Можно после чернового варианта в Knowledge Base отнести. Поддерживаю развитие ветки. Позже... Предлагаю boston-у интегрировать данные решения по отношению к Joostin-е, тогда цены ей не будет! 
|
|
|
|
« Последнее редактирование: 25.01.2008, 10:49:33 от eX »
|
Записан
|
|
|
|
Sedoy
Support Team
   
Репутация: +77/-10
Offline
Пол: 
Сообщений: 1084
Интересно,в какой кодировке пишут врачи?
|
 |
« Ответ #4 : 25.01.2008, 11:18:33 » |
|
>19*. Удалите лишние (неиспользуемые) расширения (компоненты, модули, мамботы).
есть разница между "удалите" и "отключите" в разрезе оптимитизации? т.е. обязательно удалить или можно просто отклюсить?
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #5 : 25.01.2008, 15:03:53 » |
|
>19*. Удалите лишние (неиспользуемые) расширения (компоненты, модули, мамботы).
есть разница между "удалите" и "отключите" в разрезе оптимитизации? т.е. обязательно удалить или можно просто отклюсить?
Мамботы — да, лучше удалить, т.к. они загружаются независимо от того, включены они или нет. Модули — не критично, т.к. они загружаются в один запрос (но этот запрос выполняется при каждой генерации страницы, поэтому чем меньше будет записей в таблице, тем быстрее будет происходить выборка). Компоненты — в принципе, тоже не критично.
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #6 : 25.01.2008, 15:05:15 » |
|
Предлагаю boston-у интегрировать данные решения по отношению к Joostin-е, тогда цены ей не будет!  То, что описано тут — это не «хаки», т.е. внедрить их трудно.
|
|
|
|
« Последнее редактирование: 25.01.2008, 18:13:21 от Physicist »
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #7 : 25.01.2008, 15:10:10 » |
|
20. Много запросов образуется при формировании списки новостей в различных модулях (из-за получения Itemid для каждой новости). Это можно ускорить, используя постоянный Itemid, появившийся в 1.0.12. А где это включается?
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #8 : 25.01.2008, 15:47:42 » |
|
А где это включается?
1.0.12 именно так работает по-умолчанию, а в 1.0.13 это настраивается в Site->Global Configuration->Content->Itemid Compatibility Mode
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #9 : 25.01.2008, 16:13:43 » |
|
Понял, спасибо. Ну у меня 1.0.12 По поводу мамботов - у меня на данный момент отключены следующиЕ: Изображение MOS (вроде как и не нужен, так как есть JCE) Включение наследования мамботов Поддержка кода Рейтинг MOS (не использую) GeSHi WYSIWYG-редактор TinyMCE (не использую - есть JCE) Кнопка изображения MOS в редакторе (не использую - есть JCE) и ещё ставил XAJAX System Mambot For Joomla (но вырублен уже давно) Какие из них можно 100% удалить?
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #10 : 25.01.2008, 17:35:12 » |
|
Какие из них можно 100% удалить?
все, кроме наверно "Включение наследования мамботов"
|
|
|
|
|
Записан
|
|
|
|
|
boston
|
 |
« Ответ #11 : 25.01.2008, 17:45:22 » |
|
То, что описано тут — это «хаки», т.е. внедрить их трудно.
Трудно?  То что касается настройки сервера - канечно из Joostina ковырнуть не получится, а вот всё в системе можно сделать по-нормальному. К моменту выхода финальной версии Joostina 1.1.2 постараюсь описать какие еще ходы использовались для обеспечения оптимизации.
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #12 : 25.01.2008, 18:31:10 » |
|
boston, я опечатался (имел в виду «не хаки»). А многое из того, что можно поменять в коде Joomla, в Joostina я смотрю уже реализовано. Пока «навскидку» из того, что еще можно сделать: — можно заменить в index.php и index2.php формирование заголовков для некэширования страницы на кэширование, например, на 1 час: header( 'Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT' ); //1-hour-cache: 60*60=3600 header( 'Expires: '.gmdate('D, d M Y H:i:s',time()+3600).' GMT' ); header( 'Cache-Control: max-age=3600' ); //header( 'Cache-Control: no-store, no-cache, must-revalidate' ); //header( 'Cache-Control: post-check=0, pre-check=0', false ); //header( 'Pragma: no-cache' ); — можно в запросы, в которых определяется, какие статьи отображать, передавать время не с точностью до минуты, а с точностью до часа (тогда MySQL будет результат запроса в течение часа хранить в своем кэше). Для этого нужно в /includes/joomla.php найти строки // current server time $now = date( 'Y-m-d H:i', time() ); DEFINE( '_CURRENT_SERVER_TIME', $now ); и заменить вторую строку на $now = date( 'Y-m-d H:00', time() ); Может потом что еще добавлю.
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #13 : 25.01.2008, 19:14:23 » |
|
Какие из них можно 100% удалить? В первую очередь те, которые обрабатывают контент даже когда отключены: Изображение MOS (вроде как и не нужен, так как есть JCE) Поддержка кода GeSHi насчет остальных — по желанию.
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #14 : 25.01.2008, 19:23:21 » |
|
Вообще, у Joomla (как и у любой другой CMS, основанной на связке PHP+MySQL) есть два слабых места, которые и нужно ликвидировать (а всё остальное — «мертвому припарка»):
1. Собственно PHP. Проблема заключается в том, что нужно при каждой генерации страницы загружать множество php-скриптов и заново их анализировать. Эта проблема решается установкой PHP-аккселераторов, которые кэшируют так называемые опкоды (т.е. в каком-то смысле частично откомпилированные скрипты).
2. MySQL. Тут основная проблема в том, что запросов много, и обрабатываются они медленно (к тому же как правило MySQL-сервер устанавливается на отдельный сервер). Поэтому тут очень важно уменьшить общее количество запросов в Joomla, плюс, настроить кэширование результатов выполнения запросов в самой MySQL.
Всё остальное может лишь незначительно увеличить быстродействие.
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #15 : 25.01.2008, 19:44:31 » |
|
По поводу пункта 11 - разве можно объедеинть все CSS и JS файлы в один безболезненно? Ведь по идее каждый компонент подключает свои файлы отдельно. То есть полчается, что надо кроме объеденения ещё и править пути?
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #16 : 25.01.2008, 19:59:57 » |
|
По поводу пункта 11 - разве можно объедеинть все CSS и JS файлы в один безболезненно? Ведь по идее каждый компонент подключает свои файлы отдельно. Проблема в том, что 1) несколько css и js файлов могут загружаться прямо в шаблоне (есть такие шаблоны); 2) в добавок, некоторые мамботы дописывают к ним свои css и js; 3) ну, и наконец, компонент добавляет туда свои. Так вот, задача состоит в том, чтобы попытаться уменьшить общее количество этих файлов. То есть полчается, что надо кроме объеденения ещё и править пути? Нет. Можно, например, перенести все css-стили в template_css.css, а в мамботах и компонентах закомментировать добавление в хедер ссылок на свои файлы.
|
|
|
|
|
Записан
|
|
|
|
|
PaLyCH
|
 |
« Ответ #17 : 28.01.2008, 16:42:45 » |
|
24. Закройте через robots.txt от индексации поисковыми ботами компонент com_search и файл index2.php. Также можно закрыть com_wraper и com_newsfeed (ленты новостей), т.к. поисковики могут посчитать это дублированным контентом. Ниже приведен набор правил для встроенного SEF: User-agent: * Disallow: /index2.php? Disallow: /component/option,com_search/ Disallow: /component/option,com_newsfeeds/ Disallow: /component/option,com_wrapper/ Кстати, в robots.txt можно также ограничить (на всякий случай) доступ поисковиков к файлам Joomla: Обязательно закрыть доступ для index2.php?, иначе могут возникнуть проблемы с Яшей. Как раз натолкнулся на эту проблему, и вообще внести в дистрибутив.
|
|
|
|
« Последнее редактирование: 28.01.2008, 16:52:32 от PaLyCH »
|
Записан
|
|
|
|
newleax
Давно я тут
  
Репутация: +23/-0
Offline
Пол: 
Сообщений: 313
|
 |
« Ответ #18 : 07.02.2008, 13:48:41 » |
|
Спасибо. Так все четко  Еще даже толком не приступала, сделала только пункта два, а уже результат появился.
|
|
|
|
|
Записан
|
|
|
|
|
smart
|
 |
« Ответ #19 : 07.02.2008, 19:55:12 » |
|
Проблема в том, что 1) несколько css и js файлов могут загружаться прямо в шаблоне (есть такие шаблоны); 2) в добавок, некоторые мамботы дописывают к ним свои css и js; 3) ну, и наконец, компонент добавляет туда свои. Так вот, задача состоит в том, чтобы попытаться уменьшить общее количество этих файлов.Нет. Можно, например, перенести все css-стили в template_css.css, а в мамботах и компонентах закомментировать добавление в хедер ссылок на свои файлы.
в принципе, я думаю можно в Joostina сделать это на уровне ядра - по крайней мере для тех случаев, когда скрипты и стили добавляются посредством функции addCustomHead - уже в ядре такие ситуации отлавливать, и автоматически создавать обобщенный файл со стилями или скриптами... мы эту тему буквально на днях обсуждали с boston'ом А по поводу оптимизации графики, думаю стоит вот эту методику упомянуть: CSS Sprites и их использование. К примеру в JComments объединив иконки для кнопок BBCode в одну картинку, я в 2 раза выиграл по размеру, и вместо 9 файлов (а соответственно 9 запросов к серверу), получился 1... А вообще, респект за материал, с удовольствием бы его потом разместил бы на Joomlapotal.ru! Причем на самом видном месте...
|
|
|
|
« Последнее редактирование: 07.02.2008, 20:00:11 от smart »
|
Записан
|
|
|
|
|
boston
|
 |
« Ответ #20 : 08.02.2008, 17:27:26 » |
|
В Joostina уже добавил быстрое добавление js скриптов в шапку, через $mainframe->addJS('путь-к-скрипту'); тоже самое еще с css сделаю. А если все однотипные файлы будут добавляться через одинаковые функции - то закэшировать их не проблема, примерно так сделано в Drupal'е 
|
|
|
|
|
Записан
|
|
|
|
Mr.Friction
Осваиваюсь на форуме
 
Репутация: +1/-6
Offline
Сообщений: 132
|
 |
« Ответ #21 : 16.02.2008, 14:46:45 » |
|
Disallow: /index2.php? - при данном запрете, ві запрещаете поисковикам транслировать новости из РСС.... Покрайней мере гугл меня сразу обматюкал.
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #22 : 17.02.2008, 20:36:49 » |
|
Disallow: /index2.php? - при данном запрете, ві запрещаете поисковикам транслировать новости из РСС.... Покрайней мере гугл меня сразу обматюкал.
Ну, тогда видимо нужно вручную прописать все имеющиеся компоненты: Disallow: /index2.php?option=com_content ...
|
|
|
|
|
Записан
|
|
|
|
Sulpher
Support Team
   
Репутация: +293/-9
Online
Пол: 
Сообщений: 1677
Миграция сайтов на Joomla 2.5
|
 |
« Ответ #23 : 21.02.2008, 15:27:28 » |
|
Physicist, Вы рекомендуете к установке PHP акселераторы. А как и куда его (акселератор) следует устанавливать? Можете в двух словах объяснить или привести ссылку, где почитать об этом?
|
|
|
|
|
Записан
|
|
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #25 : 15.03.2008, 23:55:47 » |
|
Спасибо за интересную статью.
Всегда пожалуйста. Жалко только, что сейчас у меня свободного времени нет, чтобы довести ее до ума и перевести на английский. Кстати, вот тут был «разбор полетов» одного сайта, может будет интересно: http://joomlaforum.ru/index.php?topic=29266
|
|
|
|
|
Записан
|
|
|
|
|
dreamwind
|
 |
« Ответ #26 : 16.03.2008, 15:38:51 » |
|
Полезный ресурс по уменьшению времени загрузки страниц на клиенте: http://webo.in/Есть анализ загрузки страницы, советы по оптимизации на русском, подробные мануалы и документация, также возможность визуальной оптимизации
|
|
|
|
|
Записан
|
|
|
|
Ctrelok
Осваиваюсь на форуме
 
Репутация: +0/-2
Offline
Сообщений: 37
|
 |
« Ответ #27 : 01.04.2008, 18:24:58 » |
|
у меня маленький вопросик по поводу кэширования. я поставил время 86400. однако в папке cache почему-то файлы только за последние 3 часа.
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #28 : 02.04.2008, 23:15:47 » |
|
Не знаю. Возможно, вы добавляли или изменяли новости — в этом случае кеш контента должен очиститься, но тогда модулей должен остаться...
|
|
|
|
|
Записан
|
|
|
|
Fill
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 42
|
 |
« Ответ #29 : 03.04.2008, 23:24:25 » |
|
Денис, спасибо за полезную информацию. Воспользовался советами 15 и 17. Стало повеселее. Для полного счастья подскажите, как проверить количество запросов к базе данных?
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #30 : 04.04.2008, 11:39:22 » |
|
Fill - заходишь в админку - в конфигурации врубаешь режим отладки 
|
|
|
|
|
Записан
|
|
|
|
Fill
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 42
|
 |
« Ответ #31 : 04.04.2008, 13:53:52 » |
|
Спасибо, bzzik. Вижу 21 запрос к базе данных... Это много или мало? При условии, что на главной странице выведено 31 модуль случайных новостей и стлько же модулей последних новостей. Кэш выставлен везде. Частью выполнены советы Дениса по оптимизации. Поставлен бот-оптимайзер и компонеты: Page Cash и JRE Cash. вроде друг другу не мешают. Хотя, может, это неправильно и нужно ограничиться лишь одним компонентом кэширования? Подскажите.
|
|
|
|
|
Записан
|
|
|
|
Fill
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 42
|
 |
« Ответ #32 : 04.04.2008, 14:03:37 » |
|
смущает вот такой запрос: 12 SELECT id, name, section FROM jos_categories WHERE ( section=38 OR section=37 OR section=36 OR section=35 OR section=34 OR section=33 OR section=32 OR section=31 OR section=30 OR section=29 OR section=28 OR section=27 OR section=26 OR section=25 OR section=24 OR section=23 OR section=22 OR section=21 OR section=20 OR section=19 OR section=18 OR section=17 OR section=16 OR section=15 OR section=14 OR section=13 OR section=12 OR section=11 OR section=10 OR section=9 OR section=8 OR section=7 OR section=6 OR section=5 OR section=4 OR section=3 OR section=2 OR section=1 ) ORDER BY ordering
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #33 : 04.04.2008, 14:08:36 » |
|
Fill хм, столько раз OR в условии, от какого модуля запрос такой?
|
|
|
|
|
Записан
|
|
|
|
Fill
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 42
|
 |
« Ответ #34 : 04.04.2008, 14:14:25 » |
|
Сорри. Поторопился. Не туда посмотрел. Этот запрос в админке при открытии материала в редакторе. При загрузке главной выдает 357 запросов. При загрузке кэшированного материала - остается 30 запросов. Я в ауте...
|
|
|
|
|
Записан
|
|
|
|
Fill
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 42
|
 |
« Ответ #35 : 04.04.2008, 14:19:42 » |
|
При повторной загрузке главной страницы остаются 16 запросов. Есть ли способ при первичной загрузке снизить количество запросов. или это достигается сокращением модулей на главной? 357 запросов это, по-моему, слишком. Если не трудно, взгляните: http://www.beeznez.com
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #36 : 04.04.2008, 14:25:25 » |
|
большую часть запросов может давать календарик
|
|
|
|
|
Записан
|
|
|
|
Fill
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 42
|
 |
« Ответ #37 : 04.04.2008, 14:32:11 » |
|
При первичной загрузке материала - 283 запроса. При этом чаще всего повторяется этот: 34 SELECT ms.id AS sid, ms.type AS stype, mc.id AS cid, mc.type AS ctype, i.id as sectionid, i.id As catid, ms.published AS spub, mc.published AS cpub FROM jos_content AS i LEFT JOIN jos_sections AS s ON i.sectionid = s.id LEFT JOIN jos_menu AS ms ON ms.componentid = s.id LEFT JOIN jos_categories AS c ON i.catid = c.id LEFT JOIN jos_menu AS mc ON mc.componentid = c.id WHERE ( ms.type IN ( 'content_section', 'content_blog_section' ) OR mc.type IN ( 'content_blog_category', 'content_category' ) ) AND i.id = 7469 ORDER BY ms.type DESC, mc.type DESC, ms.id, mc.id То есть попробовать вырубить календарь?
|
|
|
|
|
Записан
|
|
|
|
Fill
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 42
|
 |
« Ответ #38 : 04.04.2008, 14:38:29 » |
|
Отключил календарик. Осталось 355 запросов. Реально исчезли 2 запроса. При открытии кэшированного материала теперь вместо 30 - 28 запросов.
|
|
|
|
|
Записан
|
|
|
|
Fill
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 42
|
 |
« Ответ #39 : 04.04.2008, 15:06:12 » |
|
Отключил все модули последних новостей (30). Осталось 95 запросов при первичной загрузке. Некэшированный материал - 150 запросов, кэшированный - 16. Чувствую, если отключу все модули случайных новостей (31) запросы и вовосе исчезнут. Но мне необходимо, что новости в разделах выходили в случайном порядке, да и последние новости в разделах нужны. Неужели нельзя оптимизировать запросы к БД без радикального сокращения модулей на главной?
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #40 : 04.04.2008, 16:17:04 » |
|
Нельзя сократить...
У меня такая же фигня была. Было более 300 запросов, сократил всё что мог, и сейчас всё равно без кеша 106 queries 0.838171, а с кешем 73 queries 0.429294
|
|
|
|
« Последнее редактирование: 04.04.2008, 16:20:54 от bzzik »
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #41 : 04.04.2008, 16:45:38 » |
|
Конечно нет предела оптимизации. Всегда можно объединить кучу запросов типа "ORDER BY RAND() LIMIT 0, 1" (обычно генерируется модулями случайных новостей, картинок или еще чего-нибудь) в один с "LIMIT 0, NNN". Можно убрать кучу запросов для определения itemid, если он известен заранее, или использовать один и тот же для всех новостей в модуле, и т.д. Вот только NORDmen прав — для этого нужно руками поработать (а еще головой, в которой есть знание MySQL и PHP). 
|
|
|
|
|
Записан
|
|
|
|
Fill
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 42
|
 |
« Ответ #42 : 04.04.2008, 17:05:48 » |
|
Конечно нет предела оптимизации. Всегда можно объединить кучу запросов типа "ORDER BY RAND() LIMIT 0, 1" (обычно генерируется модулями случайных новостей, картинок или еще чего-нибудь) в один с "LIMIT 0, NNN". Можно убрать кучу запросов для определения itemid, если он известен заранее, или использовать один и тот же для всех новостей в модуле, и т.д. Вот только NORDmen прав — для этого нужно руками поработать (а еще головой, в которой есть знание MySQL и PHP).  Денис, знанием PHP и MySQL, к сожалению, не обременен, но вот необходимость оптимизировать запросы к базе данных в модулях случайных новостей и последних новостей присутствует. У меня их более 60. Если можно поконкретнее, где и что можно изменить, чтоб возникло ощущение полного счастья.
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #43 : 04.04.2008, 17:09:35 » |
|
Кстати по поводу Itemid не могли бы поподробнее объяснить? Присоединяюсь к вопросу Fill - думаю моих знаний хватит 
|
|
|
|
|
Записан
|
|
|
|
|
boston
|
 |
« Ответ #44 : 04.04.2008, 17:18:27 » |
|
А еще можно кэшировать запросы в БД 
|
|
|
|
|
Записан
|
|
|
|
Fill
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 42
|
 |
« Ответ #45 : 04.04.2008, 17:39:03 » |
|
Совет № 5 от Physicistа. Только хотелось бы уточнить, где находится файл my.cnf
|
|
|
|
|
Записан
|
|
|
|
Fill
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Пол: 
Сообщений: 42
|
 |
« Ответ #46 : 04.04.2008, 17:42:10 » |
|
Уважаемый boston, если я правиьно понял, то стандартный кэш в joomla и так кэширует базу данных. Или я путаю.
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #47 : 04.04.2008, 17:56:49 » |
|
Уважаемый boston, если я правиьно понял, то стандартный кэш в joomla и так кэширует базу данных. Или я путаю.
Он кеширует результаты работы модулей и компонентов. Но этим естественно покрываются не все запросы.
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #48 : 16.04.2008, 12:38:46 » |
|
Кто нибудь расскажет про ID?  Буду оптимизировать модули свои, так как я уже определился с ними.
|
|
|
|
|
Записан
|
|
|
|
|
pedrosoft
|
 |
« Ответ #49 : 16.04.2008, 18:20:49 » |
|
bzzik, ну вот приведу пример: допустим у тебя на главной весить модуль mod_poll. в нем выполняется запрос по поиску пункта меню на компонент com_poll. Допустим ты не создавал такой пункт меню, следовательно тебе и запрос этот не к чему. Или же создал и знаешь его Itemid тогда можно прописать его значение в mod_poll, опять же избавившись от запроса.
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #50 : 16.04.2008, 22:23:07 » |
|
И что, почти в каждом модуле выполняется такой поиск? А зафигамс такой поиск нужен? Какое его предназначение?
|
|
|
|
|
Записан
|
|
|
|
|
pedrosoft
|
 |
« Ответ #51 : 16.04.2008, 23:49:05 » |
|
нет не в каждом. я просто привел пример. возможно с mod_poll и не совсем удачно так как для него целесообразно включать кеширование. В данном примере нужен затем, что бы определить itemid пункта меню на компонент com_poll, ведь при нажатии на кпоку Голосовать или Итоги попадаешь как раз на com_poll
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #52 : 16.04.2008, 23:56:03 » |
|
Понятно... Попробую разобратся 
|
|
|
|
|
Записан
|
|
|
|
|
|
alter
Осваиваюсь на форуме
 
Репутация: +4/-1
Offline
Пол: 
Сообщений: 88
Всегда в тени...
|
 |
« Ответ #54 : 19.06.2008, 14:51:57 » |
|
SQL-запрос:
ALTER TABLE `jos_messages` CHANGE `user_id_from` `user_id_from` SMALLINT( 5 ) UNSIGNED NOT NULL AUTO_INCREMENT
Ответ MySQL: Документация #1075 - Incorrect table definition; there can be only one auto column and it must be defined as a key
|
|
|
|
|
Записан
|
|
|
|
newleax
Давно я тут
  
Репутация: +23/-0
Offline
Пол: 
Сообщений: 313
|
 |
« Ответ #55 : 05.08.2008, 19:56:05 » |
|
слушайте а вот это еще туда вносить не надо? Запрет индексации лишнего url в файле robots.txt: Disallow: /component/option,com_frontpage/
|
|
|
|
|
Записан
|
|
|
|
|
pedrosoft
|
 |
« Ответ #56 : 07.08.2008, 19:08:36 » |
|
только вместе с itemid'ом
|
|
|
|
|
Записан
|
|
|
|
Komsa
Захожу иногда

Репутация: +0/-0
Offline
Сообщений: 22
|
 |
« Ответ #57 : 03.11.2008, 01:14:49 » |
|
благодарю за полезную информацию.
|
|
|
|
|
Записан
|
|
|
|
vadim s. sabinich
Давно я тут
  
Репутация: +10/-0
Offline
Пол: 
Сообщений: 220
переводчик-любитель
|
 |
« Ответ #58 : 13.01.2009, 16:40:42 » |
|
0. И самое главное - отказаться от Apache  1. В сторону APC плюваются. http://www.joomlaperformance.com/articles/performance/why_apc_sucks_and_should_be_pulled_from_pecl_53_14.html 2. В разделе Tools есть утилита для тестирования производительности сайта на joomla.
|
|
|
|
« Последнее редактирование: 13.01.2009, 17:39:04 от vadim s. sabinich »
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #59 : 13.01.2009, 17:38:55 » |
|
Ну, плюсы и минусы есть у всех.
1. Нет поддержки FastCGI. Не знаю, у кого как, но в 99% случаев php запускается как модуль Apache, возможно поэтому разработка APC ориентирована именно на это.
2. Нет поддержки командной строки. А вам она очень нужна?
3. Не поддерживает PHP5.3 и 6.0. Последние версии вроде бы работают на 5.3 (по-крайней мере, работы в этом направлении ведутся), а в версии 6.0 APC хотят включить в состав ядра. Тут источник проблемы в том, что в версии PHP5.3.0 насколько я знаю изменилось API для расширений, причем так, что кэшировать код стало вообще невозможным. Как дело обстоит сейчас я не знаю. Вроде бы разработчики xcache предложили патч для php, вроде бы его должны были включить в последующие версии php, но как с этим обстоит дело в настоящий момент — я не знаю.
4. Поддержка позднего связывания. Я на это особого внимания не обращал. Но если бы это было действительно так, как описано, то APC вообще не сказывался на работе Joomla!1.5, где практически все файлы подключаются динамически. Однако тесты показывают значительное увеличение быстродействия при наличии APC.
А если говорить не о кэшировании опкода, а о предоставляемом API для кэширования, то самым быстрым окажется eAccelerator. Так что тут трудно найти тот критерий, по которому сравнивать «кэшеры».
|
|
|
|
|
Записан
|
|
|
|
vadim s. sabinich
Давно я тут
  
Репутация: +10/-0
Offline
Пол: 
Сообщений: 220
переводчик-любитель
|
 |
« Ответ #60 : 13.01.2009, 17:41:51 » |
|
Перешел на xcache хотя бы потому, что заменил apache на lighttpd. Но в целом так и есть, просто решил ложку дегтя кинуть, дабы не зацикливаться на одном. =)
|
|
|
|
|
Записан
|
|
|
|
fastdeath
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Пол: 
Сообщений: 57
|
 |
« Ответ #61 : 08.02.2009, 22:40:47 » |
|
А 11 запросов к БД на главной это много или мало?
|
|
|
|
|
Записан
|
|
|
|
DiverMan
Осваиваюсь на форуме
 
Репутация: +8/-4
Offline
Пол: 
Сообщений: 59
|
 |
« Ответ #62 : 02.03.2009, 20:51:41 » |
|
Оптимизировал (что знал плюс вышеперечисленное) добился 11-15 запросов (на главной), но нагрузка на проц хостера достигает 20% (допустимая 10%, хостинг jino, 4 сайта, общая нагрузка - посетителей 250-300, просмотров 1200-1700). Хостер написал "Использование ресурсов MySQL у вас сейчас нормализовалось. По использованию CPU скриптами превышения пока остаются" - посоветуйте (готов оплатить, пишите в личку)
|
|
|
|
|
Записан
|
|
|
|
akkaynt
Новичок
Репутация: +0/-0
Offline
Сообщений: 4
|
 |
« Ответ #63 : 06.03.2009, 15:54:58 » |
|
Использовала 7 пунктов, и увидела великое счастье!!! У мя вопрос? А блоги оптимизируют через бизнес-словарь? Или только полноценные многолистовые сайты? м? Тут дешевая возможность.100 рублей за год. Свободные слова для привязки есть. Вроде видно рекламу сервиса везде - в статистике liveinternet, в контекстной рекламе - сервис вроде тоже не тупит. У кого есть опыт по такой оптимизации-отпишитесь,плиз.
|
|
|
|
« Последнее редактирование: 06.03.2009, 16:22:13 от akkaynt »
|
Записан
|
|
|
|
atlet
Осваиваюсь на форуме
 
Репутация: +1/-0
Offline
Сообщений: 138
|
 |
« Ответ #64 : 09.03.2009, 14:41:00 » |
|
Взял vds под joomla 1.5. Помогите выбрать высокопроизводительную связку:
nginx + php-fpm + eaccelerator или lighttpd + php-fpm + xcache
При каких настройка joomla 1.5 будет работать лучше?
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #65 : 09.03.2009, 18:00:23 » |
|
Ребят, подскажите, чем можно безопасно сжать .js файлы? А то mootools.js (тот что в комплекте с J1.5.9) 70К весит...
|
|
|
|
|
Записан
|
|
|
|
|
beliyadm
|
 |
« Ответ #66 : 09.03.2009, 18:02:22 » |
|
Ребят, подскажите, чем можно безопасно сжать .js файлы? А то mootools.js (тот что в комплекте с J1.5.9) 70К весит...
может его вообще вырезать? на фронте он используется в 3% сайтах и зачастую вообще не нужен
|
|
|
|
|
Записан
|
|
|
|
Sergei_Shablovsky
Осваиваюсь на форуме
 
Репутация: +2/-2
Offline
Пол: 
Сообщений: 102
Всего самого лучшего Вам !
|
 |
« Ответ #67 : 09.03.2009, 19:21:49 » |
|
может его вообще вырезать? на фронте он используется в 3% сайтах и зачастую вообще не нужен
Погорячились  Для 1.0 не скажу (не работаю с ней) а вот в 1.5 - все более-менее приличные по дизайну темплейты и компоненты его используют. Если у Вас "спартанский" web для студенто - то канэчно, а вот в реальной работе - извините... Да вкючить на сервере gzip и не мучаться. Основные браухеры поддерживают - и прекрасно. Экзотику - "в сад"
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #68 : 09.03.2009, 22:34:06 » |
|
Текс, если я врублю gzip (deflate), то сжимать уже нет необходимости? Мне казалось всё равно стоит сжать.
|
|
|
|
|
Записан
|
|
|
|
Sergei_Shablovsky
Осваиваюсь на форуме
 
Репутация: +2/-2
Offline
Пол: 
Сообщений: 102
Всего самого лучшего Вам !
|
 |
« Ответ #69 : 10.03.2009, 01:01:28 » |
|
Текс, если я врублю gzip (deflate), то сжимать уже нет необходимости? Мне казалось всё равно стоит сжать.
Извините, не понял Вас... Если апач перед отдавание браузеру сжал, то зачем ещё раз жать ? Я не знаю, возможно ли в принципе такое - сжатый скрипт отдавать Апачем со включённым gzip, но даже если это возможно, думаю учитывая многооконность современных сёрферов, скриптовые нагромождения и постоянные "бетты" то однго браузера, то второго - завалится эта вся халабуда или через 20-30 страниц браузер отожрёт уйму памяти на машине клиента и станет сильно тормозить... Что скажут гуру ?
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #70 : 10.03.2009, 01:47:24 » |
|
Дык мы же js в принципе не сжимаем, а минимизируем. А потом ещё и Апачем "жмём" - это как я понял немного другое.
|
|
|
|
|
Записан
|
|
|
|
Sergei_Shablovsky
Осваиваюсь на форуме
 
Репутация: +2/-2
Offline
Пол: 
Сообщений: 102
Всего самого лучшего Вам !
|
 |
« Ответ #71 : 10.03.2009, 03:54:24 » |
|
Дык мы же js в принципе не сжимаем, а минимизируем. А потом ещё и Апачем "жмём" - это как я понял немного другое.
Не знаю, тут нужен оракул, или курить маны, ждёмс 
|
|
|
|
|
Записан
|
|
|
|
boreus
Осваиваюсь на форуме
 
Репутация: +5/-0
Offline
Пол: 
Сообщений: 51
|
 |
« Ответ #72 : 24.05.2009, 17:59:05 » |
|
Подскажите пожалуйста по пункту №17, в Joomla 1.5 можно поменять тип jos_session на MEMORY(и надо ли)? Пробовал, выдает #1163 - The used table type doesn't support BLOB/TEXT columns
|
|
|
|
|
Записан
|
|
|
|
|
Чача
Гость
|
 |
« Ответ #73 : 19.06.2009, 15:44:31 » |
|
8. Не забудьте включить gzip-сжатие, если хотите уменьшить трафик (правда, это слегка увеличит нагрузку на процессор). Кстати, это можно сделать не только для html-страниц, генерируемых Joomla, но и для всех css и js файлов. Если на вашем сервере установлен Apache 2, то просто добавьте следующие директивы в ваш файл .htaccess: <FilesMatch "\.(js|css)$"> SetOutputFilter DEFLATE </FilesMatch> Добавил но фаилы не сжимаются, так же пробовал <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> Header set Cache-Control "max-age=290304000, public" Header unset Last-Modified </FilesMatch> И в результатах теста ничего этого не видно, мб есть какие то хитрости?
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #74 : 19.06.2009, 17:02:39 » |
|
Добавил но фаилы не сжимаются, так же пробовал
Проверьте версию Apache и наличие mod_deflate.
|
|
|
|
|
Записан
|
|
|
|
altvvc
Давно я тут
  
Репутация: +8/-0
Offline
Пол: 
Сообщений: 317
|
 |
« Ответ #75 : 08.07.2009, 07:52:07 » |
|
Для Joomla 1.5 то же самое? Пожно применять данные инструкции?
|
|
|
|
|
Записан
|
|
|
|
bzzik
JComments Tester
Репутация: +219/-0
Online
Пол: 
Сообщений: 3798
Contra Gaming Community
|
 |
« Ответ #76 : 08.07.2009, 10:07:00 » |
|
Для Joomla 1.5 то же самое? Пожно применять данные инструкции?
Большинство из них.
|
|
|
|
|
Записан
|
|
|
|
|
Wharfadale
|
 |
« Ответ #77 : 02.08.2009, 16:17:23 » |
|
Я также для обоих линеек советую перебрать файлы вывода контента (com_content), так как они все табличные и можно выкинуть кучу ненужного кода.
|
|
|
|
|
Записан
|
|
|
|
Aleks_El_Dia
JComments Tester
Репутация: +332/-7
Offline
Пол: 
Сообщений: 4402
AEDStudio Joomla! Direction
|
 |
« Ответ #78 : 11.09.2009, 09:44:09 » |
|
Я так понял что статья небыла завершена и выложена на блоге Physicist? Подскажите пожалуйста по пункту №17, в Joomla 1.5 можно поменять тип jos_session на MEMORY(и надо ли)? Пробовал, выдает #1163 - The used table type doesn't support BLOB/TEXT columns
Вы наверное делали запрос для базы данных J! 1.5 Насколько я понял там уже оптимизированная таблица сессий По поводу применения пункта №15 (индексы таблиц в БД) к Joomla! 1.5 (плюсиками помечены запросы, подходящие для Joomla! 1.5) Более просвещенные пусть меня поправят  +ALTER TABLE `jos_core_acl_groups_aro_map` ADD INDEX `aro_id` ( `aro_id` ) ; +ALTER TABLE `jos_users` ADD INDEX `idxemail` ( `email` ); +ALTER TABLE `jos_content` ADD INDEX `idx_created_by` ( `created_by` ) ; +ALTER TABLE `jos_users` ADD INDEX `block_id` ( `block` , `id` ); -ALTER TABLE `jos_users` ADD INDEX `username` ( `username` ); -ALTER TABLE `jos_session` ADD INDEX `userid` ( `userid` ); -ALTER TABLE `jos_categories` DROP INDEX `idx_section`; +ALTER TABLE `jos_core_acl_aro_sections` DROP INDEX `jos_gacl_value_aro_sections`; +ALTER TABLE `jos_core_acl_aro_sections` DROP INDEX `jos_gacl_hidden_aro_sections`; +ALTER TABLE `jos_core_log_searches` ADD INDEX ( `hits` ) ; +ALTER TABLE `jos_core_log_searches` ADD INDEX ( `search_term` ( 16 ) ) ; +ALTER TABLE `jos_stats_agents` ADD INDEX `type_agent` ( `type` , `agent` );
|
|
|
|
« Последнее редактирование: 11.09.2009, 15:10:05 от Aleks_El_Dia »
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #79 : 11.09.2009, 11:38:55 » |
|
Я так понял что статья небыла завершена и выложена на блоге Physicist?
Нет. У меня до сих пор в планах перевод блога на Joomla!1.5 и создание отдельного сайта посвященного оптимизации Joomla, так что я сейчас никаие материалы в блог не выкладываю. Вот только на все задуманное никак времени не хватает.
|
|
|
|
|
Записан
|
|
|
|
Aleks_El_Dia
JComments Tester
Репутация: +332/-7
Offline
Пол: 
Сообщений: 4402
AEDStudio Joomla! Direction
|
 |
« Ответ #80 : 09.11.2009, 23:17:58 » |
|
Полное название книги можно?
|
|
|
|
|
Записан
|
|
|
|
Dim
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 72
Чпок
|
 |
« Ответ #81 : 09.01.2010, 07:45:23 » |
|
17*. Можно сменить тип таблицы jos_session на memory: Код: alter table jos_session type=memory; (если ваша версия Joomla использует другой префикс таблиц, то не забудьте заменить «jos» на него). Как это сделать? Нужно ли это делать если у меня Joomla 1.5 Отключите встроенную статистику. В большинстве случаев статистика, предоставляемая хостер;ом, дает намного больше информации о посетителях. Но можно оставить статистику поисковых запросов. В 1.5 это есть? Я всё перерыл но никакой встроенной статистика тим нет 23. Для полей id в таблицах БД можно вместо типа int(11) указать smallint unsigned, что приводит к небольшому уменьшению объема памяти, требуемого для хранения БД. Не понял смысл этой фичи. Объясните пожалуйста. Полезно ли это для Joomla 1.5? Как это настроить в базе Joomla 1.5? Disallow: /component/option,com_search/ Disallow: /component/option,com_newsfeeds/ Disallow: /component/option,com_wrapper/ Зачем закрывать эти каталоги если можно просто написать так? Disallow: /component/ ? Или надо обязательно ещё и вложенные папки указывать? Напишите! Очень надо всё это знать!
|
|
|
|
|
Записан
|
|
|
|
Aleks_El_Dia
JComments Tester
Репутация: +332/-7
Offline
Пол: 
Сообщений: 4402
AEDStudio Joomla! Direction
|
 |
« Ответ #82 : 09.01.2010, 12:44:27 » |
|
Disallow: /component/ К примеру в этом случае закроется и com_content
|
|
|
|
|
Записан
|
|
|
|
|
dreamwind
|
 |
« Ответ #83 : 09.01.2010, 23:26:20 » |
|
Полное название книги можно? Joomla 1.5 Руководство пользователя Д.Н. Колесниченко
|
|
|
|
|
Записан
|
|
|
|
|
Roberta
|
 |
« Ответ #84 : 18.03.2010, 09:02:39 » |
|
как оптимизировать работу БД
Помогите, пожалуйста, разобраться. Сегодня весь день не грузится сайт, загрузка страницы 2 мин. зашла в личную страницу хостинга а там:
"Внимание! Ваш хостинг потребляет слишком много ресурсов! По этой причине возможна его полная блокировка без предупреждения. Текущие значения использования ресурсов и их лимиты Вы видите в панели ниже и справа.
Запросы к БД Суммарное время выполнения длительных запросов к БД для всего хостинга за сутки, с 68817 из 50000 "
Сегодня даже не могу войти в админку. ЧТО ДЕЛАТЬ?? С ЧЕГО НАЧАТЬ?? Со вчерашнего вечера суммарное время запросов к БД увеличилось
"Суммарное время выполнения длительных запросов к БД для всего хостинга за сутки, с 126498 из 50000"
Что делать? сайт за сутки не менялся. Из компонентов установлено только true галерея.
ПОЖАЛУЙСТА помогите
|
|
|
|
|
Записан
|
|
|
|
llektor
Осваиваюсь на форуме
 
Репутация: +1/-1
Offline
Сообщений: 169
|
 |
« Ответ #85 : 02.07.2010, 08:24:41 » |
|
Подскажите пожалуйста,для чего вот это GZIP Page Compression,это находиться в глобальная конфигурация >> сервер,по умолчанию эта настройка отключена,но когда я ее включил сайт стал немго быстрее работать,может нет не какой связи и мне показалось Хотелось ы еще узнать,правда ли Жумфиш замедляет работу сайта?
|
|
|
|
|
Записан
|
|
|
|
Aleks_El_Dia
JComments Tester
Репутация: +332/-7
Offline
Пол: 
Сообщений: 4402
AEDStudio Joomla! Direction
|
 |
« Ответ #86 : 02.07.2010, 12:52:54 » |
|
GZIP Page Compression - gzip сжатие, естественно что станет немного быстрее загружаться.
|
|
|
|
|
Записан
|
|
|
|
llektor
Осваиваюсь на форуме
 
Репутация: +1/-1
Offline
Сообщений: 169
|
 |
« Ответ #87 : 03.07.2010, 05:10:18 » |
|
GZIP Page Compression - gzip сжатие, естественно что станет немного быстрее загружаться.
Спасибо,если включить,скажиться ли это на безопасность сайта Потом я прочел на форуме Joomla тут что при включеном стандартном GZIP сжатии сайт уязвим,хотелось бы узнать,так ли это?
|
|
|
|
|
Записан
|
|
|
|
|
dreamwind
|
 |
« Ответ #88 : 03.07.2010, 10:55:43 » |
|
Спасибо,если включить,скажиться ли это на безопасность сайта Никак не скажется. Зрите в корень, а не паникуйте, если при прочтении по диагонали видите слово Security
|
|
|
|
|
Записан
|
|
|
|
llektor
Осваиваюсь на форуме
 
Репутация: +1/-1
Offline
Сообщений: 169
|
 |
« Ответ #89 : 03.07.2010, 18:19:14 » |
|
Никак не скажется. Зрите в корень, а не паникуйте, если при прочтении по диагонали видите слово Security
Так по умолчанию GZIP отключено, Никак не скажется. Зрите в корень, а не паникуйте, если при прочтении по диагонали видите слово Security
Никак не скажется. Зрите в корень, а не паникуйте, если при прочтении по диагонали видите слово Security
А почему тогда пишут что стремно тутОтве ваш многозначительный,не как не могу понять,куда ввести слово Security Пока я отключил GZIP хочу узнать мнение знающих людей
|
|
|
|
|
Записан
|
|
|
|
llektor
Осваиваюсь на форуме
 
Репутация: +1/-1
Offline
Сообщений: 169
|
 |
« Ответ #90 : 06.07.2010, 20:14:15 » |
|
26. Оптимизируйте используемый шаблон (например, удалите лишние пробелы и переводы строк).
Хотел поинтересовастья если можно,правда ли что при включеном встроеным стандартном Joomla GZIP сайт уязвим? Спасибо
|
|
|
|
|
Записан
|
|
|
|
|
dreamwind
|
 |
« Ответ #91 : 06.07.2010, 22:02:10 » |
|
стандартном Joomla GZIP сайт уязвим?
Нет, не уязвим. Точнее, само наличие Joomla делает сайт более уязвимым, чем включенный гзип
|
|
|
|
|
Записан
|
|
|
|
llektor
Осваиваюсь на форуме
 
Репутация: +1/-1
Offline
Сообщений: 169
|
 |
« Ответ #92 : 07.07.2010, 06:20:33 » |
|
Нет, не уязвим. Точнее, само наличие Joomla делает сайт более уязвимым, чем включенный гзип
Спасибо На форуме Joomla пишут тут что при включеном стандартном GZIP сжатии сайт уязвим Ну насчет уязвимости самой Joomla не совсем так,этот движок при правильном подходе совсем не плох И при желании можно ломануть любой сайт,нет не уязвимых скриптов,вот Google недавно сломали,было бы желании
|
|
|
|
|
Записан
|
|
|
|
|
dreamwind
|
 |
« Ответ #93 : 07.07.2010, 08:26:34 » |
|
Видимо, идиотизм в наше время уже не лечится стандартными способами. Цитата со ссылки (и далее из первоисточника). in the above url given, theres a discussion on security issues and its fixes gzip 1.2.4 may crash when an input file name is too long (over 1020 characters). А теперь объясните мне на пальцах, как уязвимость консольного gzip к длине файлов влияет на безопасность gzdeflate в PHP. Нет, правда 
|
|
|
|
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #94 : 07.07.2010, 10:30:49 » |
|
Цитата со ссылки (и далее из первоисточника).А теперь объясните мне на пальцах, как уязвимость консольного gzip к длине файлов влияет на безопасность gzdeflate в PHP. Нет, правда  Ну, это же forum.joomla.org — там порой и не такой маразм можно встретить. PS. Я даже полез в исходник gzip.c смотреть, что же это за ошибка такая. Оказалось, что эта ошибка может возникнуть только при запуске консольного gzip с ключем -recursive и большой глубине вложенности папок, такой, суммарный путь к файлу не помещается в MAX_PATH_LEN символов.
|
|
|
|
|
Записан
|
|
|
|
llektor
Осваиваюсь на форуме
 
Репутация: +1/-1
Offline
Сообщений: 169
|
 |
« Ответ #95 : 22.07.2010, 05:56:03 » |
|
Нет. У меня до сих пор в планах перевод блога на Joomla!1.5 и создание отдельного сайта посвященного оптимизации Joomla, так что я сейчас никаие материалы в блог не выкладываю. Вот только на все задуманное никак времени не хватает.
Хотел бы поинтетесоватся Я включил кеш и GZIP теперь на некоторых страница фото не отаброжаются,то есть,на некоторых страница у фото поменялсь адреса,например у фото такой адрес http://site.com/images/stories/food/lititbitlogo.png а натеокторых страницах адрес этого же фото но уже http://site.com/index.php/download/images/stories/food/lititbitlogo.png добавилас лишнее слово downloadВ принципе такой адрес есть http://site.com/index.php/he/download/download-music,непонятно откуда этот download прописывается в адрес фото И еще у меня пропали иконки в медиа менеджере,но это не связано с включением кеша,это у меня до этого когда я востанавливам сайт с резервной копии,когда сайт сломали,думаю напишу что ненадоедать лишний раз с вопросами Иконки пропали именно в медиа менеджере К стати такое стало у меня после того когда я востанавил сайт резервной копии,до этого работало все нормально Проверил мудули иконок в админ панели они включены Вот скриншот нормальной панели медиа менеджера Тут скриншот где как нормально работает панельА вот тут уже где не норамльно,на данный момент у меня так Тут скриншот другой где неправильно работает панельЯ как понял,иконки находяться тут administrator/components/com_media/images,помотрел изоброжения и конки все наместе,немогу понять в чем причина Нет не фото папок не иконок крестики удалить,вообщем на скриншотах все наглядно видно Люди добрые отзовитесь,помогите Надеюсь мою белеберду поняли,не знаю как еще обьяснить  Помогите пожалуйста,а то что страшная панель меда менеджера нехочется заходить в нее Не сердитесь за мое неграмотное письмо Заранее благодорю
|
|
|
|
« Последнее редактирование: 22.07.2010, 06:05:49 от llektor »
|
Записан
|
|
|
|
Physicist
Support Team
   
Репутация: +179/-0
Offline
Пол: 
Сообщений: 1154
Рябов Денис
|
 |
« Ответ #96 : 22.07.2010, 09:15:33 » |
|
Скорее всего на картинки даны относительные ссылки (images/stories/food/lititbitlogo.png вместо /images/stories/food/lititbitlogo.png).
|
|
|
|
|
Записан
|
|
|
|
llektor
Осваиваюсь на форуме
 
Репутация: +1/-1
Offline
Сообщений: 169
|
 |
« Ответ #97 : 23.07.2010, 16:06:28 » |
|
Скорее всего на картинки даны относительные ссылки (images/stories/food/lititbitlogo.png вместо /images/stories/food/lititbitlogo.png).
Спасибо Вообще то я переустановил сайт стао криво работать,эти хакеры с Турции задолбали уже,ломают Израильские сайты в в подержку братьям с Азы,а каким образом они помагают непонятно,ломают Израильские сайты так этим не очень то и поможешь,если только маральною.Лудьше пару коппек послали
|
|
|
|
|
Записан
|
|
|
|
llektor
Осваиваюсь на форуме
 
Репутация: +1/-1
Offline
Сообщений: 169
|
 |
« Ответ #98 : 23.07.2010, 16:06:50 » |
|
Спасибо Вообщем я переустановил сайт стао криво работать,эти хакеры с Турции задолбали уже,ломают Израильские сайты в в подержку братьям с Азы,а каким образом они помагают непонятно,ломают Израильские сайты так этим не очень то и поможешь,если только маральною.Лудьше пару коппек послали
|
|
|
|
|
Записан
|
|
|
|
|