Новости Joomla

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

manfred

  • Новичок
  • 3
  • 1 / 0
Все ругают мастерхост, но я добился хорошей работы системы на тарифе «Эффективный».
Система отменно работает после 24:00 и до 08:00, с редкими перебоями и отказом в
доступе где-то в районе 3:00-4:00 - видимо это чей-то cron. Я позвонил в поддержку
лишь после того, как стал получать отказ в доступе к shell и FTP. MySQL работал,
но оно и понятно - другой сервер этим занят. В поддержке сказали, что сервер лежит,
они знают и чинят проблему. На мою просьбу дать письменное «оправдание» мне дали
совет написать «заявку», те кто не знает, это вполне мудрая и правильная система
документооборота у masterhost. К сожалению я почувствовал себя полным идиотом,
когда через 7 часов (в 12:00) мне ответили «всё работает, никаких сбоев небыло»,
а на вопрос, «почему в системе до сих пор нет error_log за этот самый "ничего небыло"
период» рекомендовали «обратиться к разработчику сайта». Но я сам себе так и не
смог дать ответ. Но песнь моя не про это.

Так вот, удивительно то, что в эти самые ночные часы debug меня радует, да и сама
выдача файлов сервером, по словам YSlow, отличная. А это 280Кб для первой страницы
со слайдшоу, из которых 210Кб лежат на стороннем бесплатном файлхостинге, более
быстром чем наша платная площкадка.

Естественно, я прочесал всю систему и отключил даже такие неиспользуемые плагины,
как Pagebreak, если они мной не используются и кеширование настроена без малого на
300 Минут и включено кеширование тех модулей, которые действительно нужно и можно
кешировать, да и нет у меня VirtueMart'a. SEF - стандартный, балого хватает, ну
если только JoomFish, но и у этого брата всё что надо кешируется. Анализ SQL
запросов никогда небыл дольше 0.0666 секунд, даже для столь тяжелого урода, как
Joomla XMAP (он кешируется также).

Т.е. дело точно не в запросах и не шаблонах, т.к. я даже условную загрузку модулей
сделала по If(). В общем - красавчик на 5-. Всё это дало мне в указанные ночные часы
такой вот debug:

Profile Information
Application afterLoad: 0.009 seconds, 0.25 MB
Application afterInitialise: 0.169 seconds, 2.82 MB
Application afterRoute: 0.192 seconds, 3.30 MB
Application afterDispatch: 0.526 seconds, 5.65 MB
Application afterRender: 0.664 seconds, 6.11 MB

т.е. такой тайм-шифт (промежутки времени по контрольным точкам)
0,009 / 0,16 / 0,023 / 0,334 / 0,138

Хорошо? Приемлемо? Те, кому еще не столь понятен debug CMS Joomla или уже забыл то,
что все знаю, но никто никому не рассказывает - о значении в формате «снизу вверх».
Вся информация получена из /index.php в корне сайта:

Application afterRender - «на твой html»
Application afterDispatch - «всё, что компоненты наработали, кладём в шаблон»
Application afterRoute - «так, всё ясно. компоненты, собирайте то, что нужно юзеру»
Application afterInitialise - «так, кто ты и на каком языке с тобой говорить?»
Application afterLoad - «погоди, ща подцеплю defines.php и framework.php»

Тук-тук-тук. Есть кто? - «доброе утро, сервер, слушаю. что? index.php?»

Вот, вроде всё ясно и честно: больше всего разрыв в скорости там, где компоненты
начинают свою работу, а сама выдача их результатов - уже не столь великий труд.
Однако же, друзья мои, что произошло через 30 секунд, когда всё это кешированное
хозяйство было пробуждено нажатием F5 - обновлением страницы в браузере:

Profile Information
Application afterLoad: 0.172 seconds
Application afterInitialise: 2.098 seconds
Application afterRoute: 2.425 seconds
Application afterDispatch: 3.133 seconds
Application afterRender: 4.533 seconds

и тайм-шифт:
0,172 / 1,926 / 0,327 / 0,708 / 1,4

Э, э, э!!! Чё за уличная магия? Чё за в «7 раз медленнее»? За какое? Мне еще этот
хлам в 280Кб по каналам слать впервой пользователю - аж под 5 секунд время убью +
ни за что 4 секунды накинули. Алё? Жму еще раз F5 - обновляю страницу:

Application afterLoad: 0.017 seconds, 0.25 MB
Application afterInitialise: 0.606 seconds, 2.82 MB
Application afterRoute: 0.784 seconds, 3.30 MB
Application afterDispatch: 3.041 seconds, 4.98 MB
Application afterRender: 5.307 seconds, 5.32 MB

и тайм-шифт:
0,017 / 0,589 / 0,178 / 2,257 / 2,266

Так повторяется в течении 10 минут. Часа. С перерывами и без. Иногда весь день.
Бывает что сериями в 9:00-10:00, в 14:00-16:00, в 17:00-19:00.

Так выглядит серия из n-опытов в течении часа:

Абсолютное время, сек.                 ∆, сек.Application afterLoad:    0,0090,1720,0170,1540,0060,0090,1720,0170,1540,006Application afterInitialise:    0,1692,0980,6062,3220,1340,1601,9260,5892,1680,128Application afterRoute:    0,1922,4250,7842,9980,1630,0230,3270,1780,6760,029Application afterDispatch:    0,5263,1333,0416,4140,2330,3340,7082,2573,4160,070Application afterRender:    0,6644,5335,3078,2040,4060,1381,4002,2661,7900,173ИТОГО:    0,6644,5335,3078,2040,406
   
   
   

Максимум что было – 20 сек. После чего сервер шлёт лесом Error 503, за перегруженный
в 10% процессор. И это при том, что весь контент лежит в готовеньких кешированых статичных файлах, которые отдаваться должны на 0,0раз-0,0два-0,0три.

И главное теперь не только найти, как устранить эти проблемы владельцу сайта, но и донести
до него мысль, что проблемы не в качестве моей работы (я бонусом провел всяческую оптимизацию),
а в непостоянстве качества услуг провайдера такого большого и уважаемого провайдера, на
площадках которого у клиента еще 5 проектов и все летают за считанные секунды. Как принудить
masterhost перенести сайт на более стабильную серверную площадку и грамотно мотивировать это
объективными фактами, что бы мне не говорили, что это я «испортил» Joomla в раковые для меня
10, 15 и 18 часов.

Внедряльщик Joomla в мастерхостовское чрево,
Дмитрий Чечик
webmaster@tc-audio.com
www.tc-audio.com

Для особо интересующихся – прилагаю dump запросов SQL. Если будут крайне заинтересованные –
готов предоставить backup всего сайта для экспериментов. Это 9Мб в tar.gz на всю файловую часть
и дамп в 500Кб на SQL.

Код
5 queries logged

1.
SELECT template
FROM jos_templates_menu
WHERE client_id = 0
AND (menuid = 0 OR menuid = 1139)
ORDER BY menuid DESC
LIMIT 0, 1
2.
SELECT a.*, u.name AS author, u.usertype, cc.title AS category, s.title AS section,
CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id
END AS slug, CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias)
LSE cc.id END AS catslug, g.name AS groups, s.published AS sec_pub, cc.published AS
cat_pub, s.access AS sec_access, cc.access AS cat_access
FROM jos_content AS a
LEFT JOIN jos_categories AS cc
ON cc.id = a.catid
LEFT JOIN jos_sections AS s
ON s.id = cc.section
AND s.scope = "content"
LEFT JOIN jos_users AS u
ON u.id = a.created_by
LEFT JOIN jos_groups AS g
ON a.access = g.id
WHERE a.id = 11
AND ( ( a.created_by = 0 ) OR ( a.state = 1
AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2009-05-28 13:10:36' )
AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2009-05-28 13:10:36' ) ) OR ( a.state = -1 ) )
3.
SELECT jf_content.reference_field, jf_content.value, jf_content.reference_id, jf_content.original_value

FROM jos_jf_content AS jf_content

WHERE jf_content.language_id=1

AND jf_content.published=1

AND jf_content.reference_id IN(11)

AND jf_content.reference_table='content'
4.
UPDATE jos_content
SET hits = ( hits + 1 )
WHERE id='11'
5.
SELECT id, title, module, position, content, showtitle, control, params
FROM jos_modules AS m
LEFT JOIN jos_modules_menu AS mm
ON mm.moduleid = m.id
WHERE m.published = 1
AND m.access <= 0
AND m.client_id = 0
AND ( mm.menuid = 1139 OR mm.menuid = 0 )
ORDER BY position, ordering
*

VETERINAR

  • Давно я тут
  • 855
  • 165 / 14
  • Kiss my shiny metal ass!
Валить нужно с мастерхоста. Я лично человек 30 оттуда перенес и далеко не все клиенты сидели на Joomla. Жадничают, пихают ужасно много клиентов на сервер, берут за это дорого. Зачем мучатся? Если даже сайт работает хорошо, то Вам повезло - сервер новый и его ещё не успели забить клиентами. Через несколько месяцев сайт начнет работать также плохо, как и должен.
*

VETERINAR

  • Давно я тут
  • 855
  • 165 / 14
  • Kiss my shiny metal ass!
А это все ваша новая религия 1.5.

Да причем тут 1.5? Я переносил Joomla 1.0.15, wordpress из-за того, что они нереально тормозили на загруженных серверах говномастерхоста. И как Ваше, хм, высказывание, связано с отказом в обслуживании FTP, SSH?
*

manfred

  • Новичок
  • 3
  • 1 / 0
Вот именно. Не может вот такой кусок кода давать ответ во времени в 2,168 секунды:

Код: php
$mainframe =& JFactory::getApplication('site');
$mainframe->initialise();
JPluginHelper::importPlugin('system');
JDEBUG ? $_PROFILER->mark('afterInitialise') : null;

Что из плагинов может давать такого «петуха» в произвольно всязтой загрузке?
Давайте посмотрим вместе:
  • Jfrouter
  • Jfdatabase
  • SEOGenerator
  • Cache
  • Remember Me
  • Backlink
  • Legacy
  • Google Analytics Bridge 2009
  • OptimizeTables
  • Debug
  • Log

И так, по старой традиции буду говорить обо всем, но не по порядку. Начну с
легких для понимания сторонних плагинов:

OptimizeTables - http://Joomlaforum.ru/index.php/topic,1079.30.html
Работа smart'а версии 1.0 проверяет flag и раз в сутки выполняет по нему оптимизацию.
Прост и элегантен.

SEOGenerator - популярный генератор meta keywords, в мирное время отключено всё,
кроме переписывания заголовка title на title =. sitename

Google Analytics Bridge 2009
Дописывает к хвосту body скрипт GoogleAnalytics

Из неродных остались братья Jfrouter и Jfdatabase. Ну, скажу что они включены, но базы
переводов JFish чисты. А код слишком лих для моего понимания. По этому я провел серию тестов с
включенными плагинами JoomFish на устойчисвость системы в 3-4 утра на серию из 20 одновременных
запросов к серверу и повторял этот опыт по 5-8 раз в режимах без кеша, после очистки, с кешем.

Данные сведу в один документ и позже опубликую. Только еще надо будет повторить эти тесты в обед.

*

manfred

  • Новичок
  • 3
  • 1 / 0
И так, вот выкладываю тесты проведенные в четверг в 4:10 утра и в субботу в 19:10
Так мне и не удалось нарваться на действительно большие проблемы, хотя данные
уже подсказали, где нужно искать.

90% времени затрачивается (в моем проекте) на Инициализацию страницы.
Этот процесс занимает время от 0,115 до 5,277 для типовой кешированной страницы
И для некешированной - от 1,467 до 24,09 с учетом того, что загружается их сразу 20
штук. Несмотря на то, что время на генерацию страницы могло доходить до ~25 сек.,
в 4:10 это не явилось поводом загрузить процессор сервера на те самые >10%, чтобы
получить 503-ю ошибку, однако же в субботний вечер (19:10) сервер показывал куда
большую производительность, и некешированное содержимое 20-и вкладок максимум
забирало 4,187 сек, это стало поводом уведомить меня о преодолении нагрузки >10%
лимита и приостановки действий ошибкой 503.

Я прилагаю к сообщению файл с собранной статистикой, хотя для статистики слишком
мало испытаний проведено. (вам я оставил типовые 4 из 16 серий испытаний). Если есть
идеи, что и как можно замерить - с удовольствием выслушаю и приму к сведению.

Если есть идеи по методологии тестов - тоже пожалуйста. Видимо как-то сильно я тут
гружу, раз активность неахти какая. Пока думаю, что виновником нестабильности работы
является "неправильно" сколоченная воедино мной Joomla, а то что мастерхост валит
меня при 16 страницах в 11 секунд в субботний вечер - останется загадкой.

Еще не освещенный в файле, но фигурирующий в испытания параметр - память, выделяемая
сервером для работ скрипта. Совершенно не предсказуемо она может составлять как 1.3 Мб,
так и 4,75 для одной и той же кешируемой страницы, когда некешируемая страница занимает
до 6,49 Мб в зависимости от цикла испытаний.


Что же, я не нахожу никаких закономерностей в выдаваемых тестах и не могу дать
заключения о качестве работы серверов masterhost, так как не обладаю должным
запасом знаний и опыта. Единственное что приходит на ум - нужен скрипт и настройка
cron'а для динамического запуска его. Что-то вроде проделанной мною процедуры в
режиме автоматическом, используя тот же самый lynx или еще как, запускать на каком-то
типовом проекте. Этот проект можно сделать рейтингом качества работы площадки.
Будет недурно сравнить работу такого вот типового проекта на разных площадках и
свести всё воедино на отдельном сервере статистики. А там и поддельными результатами
начнем торговать. )))

Есть желающие? Гыгы.

[вложение удалено Администратором]
*

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
Прошлой осенью это началось. Внезапно стали слать сначала предупреждения о недопустимости превышения, затем перенесли на "карантинный сервер". Потом просто отключили площадку, поставив ультиматум о переходе на VPS (с максимальной загрузкой процессора 8%, мне же инкриминировали 10-11%) , при этом отказавшись от гарантий что VPS они тоже не отключат. В итоге по ряду причин, проект пришлось заморозить на два с лишним месяца. В итоге нашел независимый VPS да еще и на халяву ;)
Кстати недавно прочел новость что они наконец стали адекватно воспринимать приход яши. До этого, яшу считали DDoS атакой и отрубали площадки (втч и меня). Не прошло года, дошло таки.
Валите с Мастерхоста, товарищи зажрались там. не могут сайты с тысячей в сутки генерить 10% процессора.
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Лучший, Быстрый, Надежный, Гибкий, Удобный, Доступный | Хостинг "Thehost"

Автор web1

Ответов: 0
Просмотров: 297
Последний ответ 19.01.2024, 19:44:50
от web1
Какой хостинг выбрать. Из личного опыта?

Автор zikkuratvk

Ответов: 812
Просмотров: 125473
Последний ответ 02.12.2023, 21:59:42
от dmtn
Надежный Хостинг от Hostsailor

Автор MaratD

Ответов: 1
Просмотров: 621
Последний ответ 07.11.2023, 17:46:43
от MaratD
Тормозит сайт. Нужен другой хостинг

Автор Stihao

Ответов: 7
Просмотров: 1946
Последний ответ 07.12.2020, 13:04:59
от Daslint
Медленно работает VDS (MySQL)

Автор Леон

Ответов: 6
Просмотров: 2516
Последний ответ 29.04.2020, 15:39:29
от wishlight