dimapv
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 44
|
 |
« : 22.12.2010, 00:17:07 » |
|
Озаботился я тут как-то возможностями моего сайта с точки зрения нагрузочной способности... и я в прострации. С помощью сторонних сервисов в инете имитировал одновременную работу на сайте юзеров и выяснил, что уже на 20 пользователях время отклика сайта перевалило за 10!секунд. Т.е., рассматривать мой сайт фактически можно только как "пионерский" для 10г класса... Начал разбираться, включил debug режим и выпал в осадок - количество sql-запросов ни в какие ворота! Приведу примеры: http://www.oppty.ru/katalog - 318 запросов и 250 запросов http://www.oppty.ru/katalog/kazachstan/zona-otdicha-tri-peskarya-astana-kazachstan - 397 запросов и 325 запросов.
Первая цифра - включенный Artio JoomSEF, вторая без него. Кэширование в самой SOBI2 не отключал - всё работает, ошибок нет, версия последняя.
Поставил "чистую" Joomla - 10-12 запросов...
Вопросов несколько: 1. Такая прожорливость есть следствие кривой оптимизации или безобразности кода SOBI2? 2. Это означает, что портала с большим количеством посетителей на Joomla не построить? 3. У кого-то есть опыт построения высоконагруженных систем на Joomla? 4. Для построения высоконагруженной ситсемы есть смысл оставаться на Joomla, или нужно уходить на другие платформы? какие?
P.S. Я конечно понимаю, что сайт висит на виртуальном хостинге, но боюсь, что даже выделенный сервак не справится с таким разбазариванием ресурсов.
|
|
|
|
|
Записан
|
|
|
|
|
SyncMaster
|
 |
« Ответ #1 : 22.12.2010, 02:40:32 » |
|
1. Не стоит так громко кричать об этом. А то ща кулц веб-разработчики к своим вопросам «как включить русский язык» или «как изменить шрифт в анкете» добавят вопросы как оптимизировать SOBI2.  2. У вас просто закэшироваться не успело. Сам каталог обычно делает 50-55 запросов после кэширования. А вот Detail View уже около 70 запросов после кэширования. На запросах видно, что он делает двойные запросы для english и russian: SELECT `description` FROM `pg_sobi2_language` WHERE (`langKey` = 'email_on_approve_title' AND `sobi2Lang` = 'russian') SELECT `description` FROM `pg_sobi2_language` WHERE (`langKey` = 'email_on_approve_title' AND `sobi2Lang` = 'english') Я начинал делать новый проект, через пару недель анонсировали SOBI2 Pro, решено было дождаться, чтобы потом не переделывать. Сейчас проект на «полуVPS» (после НГ буду съезжать оттуда). Устроил «стресс» серваку, что проверить хостера: Пользователей 10 20 30 40 Задержка (сек) 4,68 7,8 49,8 84 50 пользователей не выдержал. Да и 20 пользователей уже неприемлемая задержка. Года 3 назад, я делал каталог и продал его, скажем так, бета-версию. Joomla 1.0.12 + и наверное SOBI2 RC 2.8.3 (вряд ли они обновляли что-то). Для интереса устроил «стресс» и им: Пользователей 10 20 30 40 50 Задержка (сек) 3,23 3,28 3,5 3,76 4,18 Скорее всего там или дедук или мощный VPS. Так что держать то будет. Просто подороже хостинг выйдет. Так что не понятно где «экономия» или в бесплатной Joomla и SOBI2, или в VPS 
|
|
|
|
|
Записан
|
|
|
|
voland
JComments Tester
Репутация: +157/-17
Online
Пол: 
Сообщений: 2683
любит наш народ всякое гавно...
|
 |
« Ответ #2 : 22.12.2010, 02:46:18 » |
|
1. Такая прожорливость есть следствие кривой оптимизации или безобразности кода SOBI2? Да
2. Это означает, что портала с большим количеством посетителей на Joomla не построить? Нет, есть же и другие компоненты
3. У кого-то есть опыт построения высоконагруженных систем на Joomla? Есть в некоторой степени
4. Для построения высоконагруженной ситсемы есть смысл оставаться на Joomla, или нужно уходить на другие платформы? какие? Всё зависит конечно от задач, но если ни один компонент не устраивает, то можно написать собственный, использую Joomla как фреймворк (в этом она по скорости мало уступает CI, Yii итп а по удобству часто превосходит)
PS Сейчас потестил на zoo (не оптимизированном с добавленными запросами) Категория с подкатегориями - 20-44 запроса Категория с товарами (26) - 121 запрос Детальный вид - 20 запросов
|
|
|
|
« Последнее редактирование: 22.12.2010, 02:49:55 от voland »
|
Записан
|
|
|
|
dimapv
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 44
|
 |
« Ответ #3 : 22.12.2010, 02:48:44 » |
|
Спасибо за ответ.. По поводу закешироваться не успело - вряд-ли, ничего не менял на сайте, просто включил debug... А по поводу двойных запросов - это врожденное или настраивается где?
"Просто подороже хостинг выйдет" - это вы хорошо сказали... у меня сейчас хостинг стоит 150руб, а выделенный сервер 8500руб в месяц...
И еще такой вопрос, может глупый..., а вы как запросы посмотрели? чем?
|
|
|
|
|
Записан
|
|
|
|
dimapv
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 44
|
 |
« Ответ #4 : 22.12.2010, 02:55:17 » |
|
Спасибо, Voland,
Я когда выбирал компонент, тоже к ZOO присматривался, но как-то не срослось...
|
|
|
|
|
Записан
|
|
|
|
voland
JComments Tester
Репутация: +157/-17
Online
Пол: 
Сообщений: 2683
любит наш народ всякое гавно...
|
 |
« Ответ #5 : 22.12.2010, 02:58:07 » |
|
А вы чем стресс устраиваете? Тоже хочется погонять
|
|
|
|
|
Записан
|
|
|
|
dimapv
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 44
|
 |
« Ответ #6 : 22.12.2010, 03:01:41 » |
|
В инете есть 2 сервиса (на самом деле гораздо больше): Хорошая статья _http://habrahabr.ru/blogs/hi/77593/ Понравились _http://loadimpact.com/ _http://loadstorm.com/
|
|
|
|
|
Записан
|
|
|
|
voland
JComments Tester
Репутация: +157/-17
Online
Пол: 
Сообщений: 2683
любит наш народ всякое гавно...
|
 |
« Ответ #7 : 22.12.2010, 03:08:09 » |
|
Понравились _http://loadimpact.com/
Ну чтож - поехали. Zoo с неоптимизированным кодом (70 категорий, около 600 айтемов + связанные) VDS почти без нагрузки 1700Мгц (на самом деле если виртхостер не загружен он быстрее обрабатывает) кэш и memcached Clients 10 20 30 40 50 Delay (s) 1.07 1.12 1.38 1.68 2.28 Старая копия этого сайта на самописном движке и на хостинге majordomo (но без SEF, что экономит кучу запросов) - тест проводился сейчас, то есть в ночное относительно незагруженное время Clients 10 20 30 Delay (s) 1.76 2.6 3.82
|
|
|
|
« Последнее редактирование: 22.12.2010, 03:23:33 от voland »
|
Записан
|
|
|
|
|
SyncMaster
|
 |
« Ответ #8 : 22.12.2010, 03:17:25 » |
|
PS Сейчас потестил на zoo (не оптимизированном с добавленными запросами) Категория с подкатегориями - 20-44 запроса Категория с товарами (26) - 121 запрос Детальный вид - 20 запросов
Мне симпатичны YooTheme, но Zoo научился работать с платными полями? Когда у тебя 5к-10к анкет, то как-то глупо сидеть записывать «бухгалтерию» на листочке. По поводу закешироваться не успело - вряд-ли, ничего не менял на сайте, просто включил debug... А по поводу двойных запросов - это врожденное или настраивается где?
Если на момент тестирования у вас было много запросов, значит кэш пустой: Приходит первый пользователь в категорию с id2 — 243 запроса. Приходит второй пользователей через 5 сек — ему из кэша отдается и уже 41 запрос: <!-- end of Sigsiu Online Business Index 2 component Memory 3,270,516 / Time 1.1797609329224 / Queries: 243 --> <!-- end of Sigsiu Online Business Index 2 component Memory 1,855,976 / Time 0.067333936691284 / Queries: 41 --> Срок хранения кэа второго уровня 5 суток по умолчанию. 2,5 часа назад я обнулял кэш для тестирования и проверял. Ща зашел — кэш целый: /index.php?option=com_sobi2&Itemid=4 — Зарегистрировано запросов: 44 /index.php?option=com_sobi2&catid=2&Itemid=4 — Зарегистрировано запросов: 51 /index.php?option=com_sobi2&catid=20&Itemid=4 — Зарегистрировано запросов: 54 /index.php?option=com_sobi2&sobi2Task=sobi2Details&catid=20&sobi2Id=21&Itemid=4 — Зарегистрировано запросов: 70 "Просто подороже хостинг выйдет" - это вы хорошо сказали... у меня сейчас хостинг стоит 150руб, а выделенный сервер 8500руб в месяц...
Цены разные бывают. А если ты зарабатываешь на сайте в месяц от полутора килобаксов, то можно и купить дедук 
|
|
|
|
|
Записан
|
|
|
|
|
SyncMaster
|
 |
« Ответ #9 : 22.12.2010, 03:25:52 » |
|
Ну чтож - поехали. Zoo с неоптимизированным кодом (70 категорий, около 600 айтемов + связанные) VDS почти без нагрузки 1700Мгц (на самом деле если виртхостер не загружен он быстрее обрабатывает) кэш и memcached Clients 10 20 30 40 50 Delay (s) 1.07 1.12 1.38 1.68 2.28
1.7GHz. Жесть  У меня «полуVDS» от РуЦентра. Памяти 128 Mb на том хостинге. И 254 категории. У «беты» — 224 категории. Результаты выше.
|
|
|
|
|
Записан
|
|
|
|
voland
JComments Tester
Репутация: +157/-17
Online
Пол: 
Сообщений: 2683
любит наш народ всякое гавно...
|
 |
« Ответ #10 : 22.12.2010, 03:26:13 » |
|
Мне симпатичны YooTheme, но Zoo научился работать с платными полями? Когда у тебя 5к-10к анкет, то как-то глупо сидеть записывать «бухгалтерию» на листочке.
Что значит платные поля? Сайт который подвергся тестирования имеет кучу нестандартных полей, модуль схожих товаров, улучшенные SEF, доппараметры категорий и корзинку
|
|
|
|
|
Записан
|
|
|
|
voland
JComments Tester
Репутация: +157/-17
Online
Пол: 
Сообщений: 2683
любит наш народ всякое гавно...
|
 |
« Ответ #11 : 22.12.2010, 03:27:10 » |
|
1.7GHz. Жесть  У меня «полуVDS» от РуЦентра. Памяти 128 Mb на том хостинге. И 254 категории. У «беты» — 224 категории. Результаты выше. Конфиг и результаты в студию. ЗЫ во время тестирования до 40 клиентов сервер отдыхал - нагрузка минимальная, так что есть запас в настройке кэша и нгинкс, это не суперпосещаемый сайт :-) ЗЗЫ И не стоит забывать про СЕФ - он у меня включен плюс для его корректировки у меня еще по запросу на каждый айтем делается (надо бы переписать роутер конечно)
|
|
|
|
|
Записан
|
|
|
|
|
SyncMaster
|
 |
« Ответ #12 : 22.12.2010, 03:49:18 » |
|
Что значит платные поля?
Каждому полю я могу присвоить «платное поле». Когда пользователь забивает данные, ему в конце выставляется счёт за платные поля, если он их заполнял. Ну и все выходящие отсюда. Администрировать приходится меньше ) Конфиг и результаты в студию. Да не стоит на это время тратить даже. Хостера под смену. Я как-то хотел Яндекс.Сервер прикрутить к сайту, запустил на индексацию и секунд через 10 сервак умер. Я даже дистанционно не мог его перегрузить, пришлось хостеру звонить 
|
|
|
|
|
Записан
|
|
|
|
Gorgeous92
Давно я тут
  
Репутация: +5/-0
Offline
Пол: 
Сообщений: 235
|
 |
« Ответ #13 : 09.02.2011, 11:31:36 » |
|
В инете есть 2 сервиса (на самом деле гораздо больше): Хорошая статья _http://habrahabr.ru/blogs/hi/77593/ Понравились _http://loadimpact.com/ _http://loadstorm.com/
Эти сервисы доступны только для доменов на латиннице. А есть сервисы для тестирования сайтов на доменах "РФ".
|
|
|
|
|
Записан
|
|
|
|
dimapv
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 44
|
 |
« Ответ #14 : 09.02.2011, 15:01:00 » |
|
Любой домен на кирилице можно представить в латинице в пуникоде - вот сервис: http://wwhois.ru/punycode.php?ashmanov
|
|
|
|
|
Записан
|
|
|
|
|
SyncMaster
|
 |
« Ответ #15 : 09.02.2011, 15:11:47 » |
|
dimapv, а зачем вы это пишите? Gorgeous92 не спрашивает, а уточняет: Эти сервисы доступны только для доменов на латиннице. А есть сервисы для тестирования сайтов на доменах "РФ". А если человек интересовался, то он должен знать (как любой уважающий себя веб-мастер), что код можно и в whois посмотреть.
|
|
|
|
|
Записан
|
|
|
|
Gorgeous92
Давно я тут
  
Репутация: +5/-0
Offline
Пол: 
Сообщений: 235
|
 |
« Ответ #16 : 09.02.2011, 18:35:55 » |
|
Любой домен на кирилице можно представить в латинице в пуникоде - вот сервис: http://wwhois.ru/punycode.php?ashmanov
Спасибо. Я в курсе этого был... Но этим проблема не решилась. Всё равно если домены рф вводишь в пуникоде пишет - Invalid domain.
|
|
|
|
|
Записан
|
|
|
|
wertyz
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 55
|
 |
« Ответ #17 : 17.04.2011, 17:54:48 » |
|
Кэш третьего уровня Вы включаете в SOBI2?
|
|
|
|
« Последнее редактирование: 17.04.2011, 17:59:35 от wertyz »
|
Записан
|
|
|
|
|