Оптимизация Joomla (черновик)

0 Пользователей и 1 Гость просматривают эту тему.
  • 99 Ответов
  • 119394 Просмотров
*

b2z

  • Support Team
  • *****
  • 7452
  • 741
  • Разраблю понемногу

*

Fill

  • Осваиваюсь на форуме
  • ***
  • 39
  • 0
Re: Оптимизация Joomla (черновик)
« Ответ #31 : 04.04.2008, 15:53:52 »
Спасибо, bzzik. Вижу 21 запрос к базе данных... Это много или мало? При условии, что на главной странице выведено 31 модуль случайных новостей и стлько же модулей последних новостей. Кэш выставлен везде. Частью выполнены советы Дениса по оптимизации. Поставлен бот-оптимайзер и компонеты: Page Cash и JRE Cash. вроде друг другу не мешают. Хотя, может, это неправильно и нужно ограничиться лишь одним компонентом кэширования? Подскажите.
Социальная сеть для паломников: http://www.polomniki.ru

*

Fill

  • Осваиваюсь на форуме
  • ***
  • 39
  • 0
Re: Оптимизация Joomla (черновик)
« Ответ #32 : 04.04.2008, 16: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
Социальная сеть для паломников: http://www.polomniki.ru

*

beliyadm

  • Профи
  • ********
  • 8359
  • 1527
  • Севастополь == Россия
Re: Оптимизация Joomla (черновик)
« Ответ #33 : 04.04.2008, 16:08:36 »
Fill хм, столько раз OR в условии, от какого модуля запрос такой?
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb

*

Fill

  • Осваиваюсь на форуме
  • ***
  • 39
  • 0
Re: Оптимизация Joomla (черновик)
« Ответ #34 : 04.04.2008, 16:14:25 »
Сорри. Поторопился. Не туда посмотрел. Этот запрос в админке при открытии материала в редакторе. При загрузке главной выдает 357 запросов. При загрузке кэшированного материала - остается 30 запросов. Я в ауте...
Социальная сеть для паломников: http://www.polomniki.ru

*

Fill

  • Осваиваюсь на форуме
  • ***
  • 39
  • 0
Re: Оптимизация Joomla (черновик)
« Ответ #35 : 04.04.2008, 16:19:42 »
При повторной загрузке главной страницы остаются 16 запросов. Есть ли способ при первичной загрузке снизить количество запросов. или это достигается сокращением модулей на главной? 357 запросов это, по-моему, слишком. Если не трудно, взгляните: http://www.beeznez.com
Социальная сеть для паломников: http://www.polomniki.ru

*

beliyadm

  • Профи
  • ********
  • 8359
  • 1527
  • Севастополь == Россия
Re: Оптимизация Joomla (черновик)
« Ответ #36 : 04.04.2008, 16:25:25 »
большую часть запросов может давать календарик
Все истины, которые я хочу вам изложить, — бесстыдная ложь.
Записки нетрезвого кодера || -=Joomla FAQ=- || -=все плохо=- || skype: beliyadm_pb

*

Fill

  • Осваиваюсь на форуме
  • ***
  • 39
  • 0
Re: Оптимизация Joomla (черновик)
« Ответ #37 : 04.04.2008, 16: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
То есть попробовать вырубить календарь?
Социальная сеть для паломников: http://www.polomniki.ru

*

Fill

  • Осваиваюсь на форуме
  • ***
  • 39
  • 0
Re: Оптимизация Joomla (черновик)
« Ответ #38 : 04.04.2008, 16:38:29 »
Отключил календарик. Осталось 355 запросов. Реально исчезли 2 запроса. При открытии кэшированного материала теперь вместо 30 - 28 запросов.
Социальная сеть для паломников: http://www.polomniki.ru

*

Fill

  • Осваиваюсь на форуме
  • ***
  • 39
  • 0
Re: Оптимизация Joomla (черновик)
« Ответ #39 : 04.04.2008, 17:06:12 »
Отключил все модули последних новостей (30). Осталось 95 запросов при первичной загрузке. Некэшированный материал - 150 запросов, кэшированный - 16. Чувствую, если отключу все модули случайных новостей (31) запросы и вовосе исчезнут. Но мне необходимо, что новости в разделах выходили в случайном порядке, да и последние новости в разделах нужны. Неужели нельзя оптимизировать запросы к БД без радикального сокращения модулей на главной?
Социальная сеть для паломников: http://www.polomniki.ru

*

b2z

  • Support Team
  • *****
  • 7452
  • 741
  • Разраблю понемногу
Re: Оптимизация Joomla (черновик)
« Ответ #40 : 04.04.2008, 18:17:04 »
Нельзя сократить...

У меня такая же фигня была. Было более 300 запросов, сократил всё что мог, и сейчас всё равно без кеша 106 queries 0.838171, а с кешем 73 queries 0.429294

*

Physicist

  • Support Team
  • *****
  • 963
  • 185
  • Рябов Денис
Re: Оптимизация Joomla (черновик)
« Ответ #41 : 04.04.2008, 18:45:38 »
Конечно нет предела оптимизации.
Всегда можно объединить кучу запросов типа "ORDER BY RAND() LIMIT 0, 1" (обычно генерируется модулями случайных новостей, картинок или еще чего-нибудь) в один с "LIMIT 0, NNN".
Можно убрать кучу запросов для определения itemid, если он известен заранее, или использовать один и тот же для всех новостей в модуле, и т.д.

Вот только NORDmen прав — для этого нужно руками поработать (а еще головой, в которой есть знание MySQL и PHP). :)

*

Fill

  • Осваиваюсь на форуме
  • ***
  • 39
  • 0
Re: Оптимизация Joomla (черновик)
« Ответ #42 : 04.04.2008, 19:05:48 »
Конечно нет предела оптимизации.
Всегда можно объединить кучу запросов типа "ORDER BY RAND() LIMIT 0, 1" (обычно генерируется модулями случайных новостей, картинок или еще чего-нибудь) в один с "LIMIT 0, NNN".
Можно убрать кучу запросов для определения itemid, если он известен заранее, или использовать один и тот же для всех новостей в модуле, и т.д.

Вот только NORDmen прав — для этого нужно руками поработать (а еще головой, в которой есть знание MySQL и PHP). :)

Денис, знанием PHP и MySQL, к сожалению, не обременен, но вот необходимость оптимизировать запросы к базе данных в модулях случайных новостей и последних новостей присутствует. У меня их более 60. Если можно поконкретнее, где и что можно изменить, чтоб возникло ощущение полного счастья.
Социальная сеть для паломников: http://www.polomniki.ru

*

b2z

  • Support Team
  • *****
  • 7452
  • 741
  • Разраблю понемногу
Re: Оптимизация Joomla (черновик)
« Ответ #43 : 04.04.2008, 19:09:35 »
Кстати по поводу Itemid не могли бы поподробнее объяснить?

Присоединяюсь к вопросу Fill - думаю моих знаний хватит :)

*

boston

  • Joostina
  • *****
  • 499
  • 219
Re: Оптимизация Joomla (черновик)
« Ответ #44 : 04.04.2008, 19:18:27 »
А еще можно кэшировать запросы в БД :)
Самая новая Joostina 1.3.0.5 UTF-8 stable | О найденных ошибках сообщаем | Расширения Joostina

*

Fill

  • Осваиваюсь на форуме
  • ***
  • 39
  • 0
Re: Оптимизация Joomla (черновик)
« Ответ #45 : 04.04.2008, 19:39:03 »
Совет № 5 от Physicistа. Только хотелось бы уточнить, где находится файл my.cnf
Социальная сеть для паломников: http://www.polomniki.ru

*

Fill

  • Осваиваюсь на форуме
  • ***
  • 39
  • 0
Re: Оптимизация Joomla (черновик)
« Ответ #46 : 04.04.2008, 19:42:10 »
Уважаемый boston, если я правиьно понял, то стандартный кэш в joomla и так кэширует базу данных. Или я путаю.
Социальная сеть для паломников: http://www.polomniki.ru

*

Physicist

  • Support Team
  • *****
  • 963
  • 185
  • Рябов Денис
Re: Оптимизация Joomla (черновик)
« Ответ #47 : 04.04.2008, 19:56:49 »
Уважаемый boston, если я правиьно понял, то стандартный кэш в joomla и так кэширует базу данных. Или я путаю.
Он кеширует результаты работы модулей и компонентов. Но этим естественно покрываются не все запросы.

*

b2z

  • Support Team
  • *****
  • 7452
  • 741
  • Разраблю понемногу
Re: Оптимизация Joomla (черновик)
« Ответ #48 : 16.04.2008, 14:38:46 »
Кто нибудь расскажет про ID? :) Буду оптимизировать модули свои, так как я уже определился с ними.

*

pedrosoft

  • Давно я тут
  • ****
  • 368
  • 106
Re: Оптимизация Joomla (черновик)
« Ответ #49 : 16.04.2008, 20:20:49 »
bzzik, ну вот приведу пример: допустим у тебя на главной весить модуль mod_poll. в нем выполняется запрос по поиску пункта меню на компонент com_poll. Допустим ты не создавал такой пункт меню, следовательно тебе и запрос этот не к чему. Или же создал и знаешь его Itemid тогда можно прописать его значение в mod_poll, опять же избавившись от запроса.
Интернет Хостинг Центр: отличные цены, лучшее качество, расположение в дата-центре «Оверсан-Меркурий»

*

b2z

  • Support Team
  • *****
  • 7452
  • 741
  • Разраблю понемногу
Re: Оптимизация Joomla (черновик)
« Ответ #50 : 17.04.2008, 00:23:07 »
И что, почти в каждом модуле выполняется такой поиск? А зафигамс такой поиск нужен? Какое его предназначение?

*

pedrosoft

  • Давно я тут
  • ****
  • 368
  • 106
Re: Оптимизация Joomla (черновик)
« Ответ #51 : 17.04.2008, 01:49:05 »
нет не в каждом. я просто привел пример. возможно с mod_poll и не совсем удачно так как для него целесообразно включать кеширование. В данном примере нужен затем, что бы определить itemid пункта меню на компонент com_poll, ведь при нажатии на кпоку Голосовать или Итоги попадаешь как раз на com_poll
Интернет Хостинг Центр: отличные цены, лучшее качество, расположение в дата-центре «Оверсан-Меркурий»


*

Physicist

  • Support Team
  • *****
  • 963
  • 185
  • Рябов Денис
Re: Оптимизация Joomla (черновик)
« Ответ #53 : 05.06.2008, 16:47:01 »

*

alter

  • Осваиваюсь на форуме
  • ***
  • 57
  • 3
  • Всегда в тени...
Re: Оптимизация Joomla (черновик)
« Ответ #54 : 19.06.2008, 16: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

  • Давно я тут
  • ****
  • 234
  • 23
Re: Оптимизация Joomla (черновик)
« Ответ #55 : 05.08.2008, 21:56:05 »
слушайте а вот это еще туда вносить не надо?
Запрет индексации лишнего url в файле robots.txt: Disallow: /component/option,com_frontpage/

*

pedrosoft

  • Давно я тут
  • ****
  • 368
  • 106
Re: Оптимизация Joomla (черновик)
« Ответ #56 : 07.08.2008, 21:08:36 »
только вместе с itemid'ом
Интернет Хостинг Центр: отличные цены, лучшее качество, расположение в дата-центре «Оверсан-Меркурий»

*

Komsa

  • Захожу иногда
  • **
  • 14
  • 0
Re: Оптимизация Joomla (черновик)
« Ответ #57 : 03.11.2008, 02:14:49 »
благодарю за полезную информацию.

*

vadim s. sabinich

  • Осваиваюсь на форуме
  • ***
  • 140
  • 11
  • переводчик-любитель
Re: Оптимизация Joomla (черновик)
« Ответ #58 : 13.01.2009, 17: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, 18:39:04 от vadim s. sabinich »
VPS-хостинг на FirstVDS.ru || VPS/хостинг на ISPserver.com -- рефералам онлайн поддержка!

*

Physicist

  • Support Team
  • *****
  • 963
  • 185
  • Рябов Денис
Re: Оптимизация Joomla (черновик)
« Ответ #59 : 13.01.2009, 18: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. Так что тут трудно найти тот критерий, по которому сравнивать «кэшеры».