Какую нагрузку может выдержать iCMS2+

#61 10 февраля 2015 в 12:13

Если у тебя есть рабочий Инстант — выложи скрин, интересно как он грузится в реальном режиме)

Александр
Смогу это сделать только через сутки ночью.

А есть где-нибудь на форуме что-то вроде подборки советов для двойки, как снизить нагрузку на сервер?

alkokrolik

Класс расширенной отладки для InstantCMS 2.1.2 (v.8) + оптимизация скорости
— последняя версия
Класс расширенной отладки для InstantCMS 2.1.0-2.1.1 (v.7) + оптимизация скорости — тут таблица сравнения обычной и оптимизированной версии, скрины и отзывы.
Использование расширенной отладки для определения проблем на сервере. Часть 1

Конкретные советы по оптимизации именно Ваших сайтов можно получить после их тестирования по ссылкам, которые дал Александр выше в этой теме.

Fuze… с R2 обсуждали, что неплохо было бы обновить сайт. НО! Нет времени

Zau4man
Так речь как раз о том, что когда Fuze и R2 решатся собрать команду (конечно же полностью на их условиях и под их контролем), тогда у них появится больше времени или за то же время с командой они смогут сделать намного больше. Вопрос лишь в готовности Fuze и R2 к такому же толковому руководству командой, как они сейчас толково программируют.
#62 12 февраля 2015 в 03:05
Обещанные тесты. Три реальных сайта на одном и том же шаред-хостинге. Тестировались главные страницы этих сайтов.

На хостинге есть только одно ограничение, сформулированное поддержкой: "До 100 одновременных подключений или запросов к вэб-серверу". Проц, диски и другое железо, а также нагрузка на программы не ограничиваются и разделяются на всех пользователей сервера хостинга. Тесты делались ночью, когда нагрузка на серверы минимальна и бэкапы уже сделаны.
Характеристики сервера: процессор Intel Core i5 CPU 760 2.80GHz, HDD RAID (уровень не знаю), Apache 1.3.42, PHP 5.3.28, отдельный MySQL-сервер 5.1.73. Кеширование файловой системы в ОЗУ.

Время создания главной мерялось многократными ручными обновлениями страницы и выбиралось минимальное значение.
Увеличенное время отклика страницы на графиках объясняется тем, что данный тест ждёт загрузку всех элементов страницы, а на сайтах 1 и 2 установлены внешние счётчики. Поэтому ориентируйтесь на загиб графика вверх под нагрузкой, а не на секунды загрузки.

1.Полностью самописный движок на PHP и шаблонизаторе phptemplates, написанном на C++. Более 9000 страниц.
Создание страницы минимум за 35 мс.



2. Instant CMS 1.10 с моими оптимизациями (шустрее коробочной на треть или больше, если не ошибаюсь). До 100 страниц.
Создание страницы минимум за 31 мс.



3. Instant CMS 2.1.2 также с моими оптимизациями (см. ссылки на мой блог выше в этой теме). До 100 страниц.
Создание страницы минимум за 205 мс.

#63 12 февраля 2015 в 03:56
По графикам видно, что самописный PHP-сайт и оптимизированный Первый Инстант почти не заметили нагрузку в 50 одновременных пользователей.
А вот Двойка стала замедлять отдачу начиная с 20 пользователей. И к 50 пользователям время отдачи страницы увеличилось примерно на 2 секунды, что очень много. Но вполне возможно, это было из-за ограничения на количество запросов на хостинге. В шаблоне Двойки загружается больше файлов, чем в первой ветке. Тем более, что в логе тестирования Двойки в небольшом количестве присутствовали незагруженные подключаемые файлы — видимо сервер запретил их отдачу. А при тестировании первых двух сайтов таких ошибок не наблюдалось.

Мои выводы из графиков:
Instant CMS 2 — прекрасная, мощная, современная, очень перспективная система. Её скорость и так уже сравнима или выше, чем у аналогов. Но в данной редакции Двойка всё же требует пересмотра некоторых моментов архитектуры и кода для оптимизации загружаемых компонентов и файлов. Тем более с учётом того, что тестировалась уже оптимизированная версия с ускорением более, чем в два раза.

Теперь по целям использования.

Сделаем простой и довольно примитивный расчёт. Он может не совпадать с реальностью, так как посещаемость по времени суток у всех разная.
Возьмём сайт с 10 000 просмотров в сутки. 86400 (секунд в сутках) /10000 просмотров = 8,64  секунд есть у сервера на страницу при равномерном распределении просмотров в течение суток. Ночью просмотры уменьшаются, в пиковое время увеличиваются по сравнению со средним в 10-20 раз и более. Значит в пики на страницу остаётся около 432 мс при 20-тикратном соотношении. Минимальное время создания страницы у Двойки на моём сервере 205 мс. Среднее время 300-500 мс. То есть, если использовать мой сервер только под этот сайт и не учитывать загрузку статики, то в пиковые периоды страницы уже будут отдаваться впритык или с задержкой.

В реальности цифры скорее всего будут другие. Что мы и наблюдали на графике. Тормоза начались в районе 20 одновременных просмотров страниц. Для верности будем считать, что сервер спокойно выдержал 10 просмотров в секунду. Тем более, что просматриваться будут разные страницы, а не одна, и кэширование БД и файлов будет давать меньший эффект. При соотношении пиковых и средних просмотров 20 к 1, получим средний просмотр в течение суток 1 страница в 2 секунды. То есть, за сутки такой сервер при таких условиях выдержит около 40 000 просмотров. Что по порядку близко к полученному выше раскладу, но отличается от него в несколько раз. Конечно, никто не будет держать сервер на таком предел постоянно. Поэтому в итоге выходим на максимальную цифру порядка 10-20 тысяч просмотров в сутки при вышеописанных условиях.

Значит, если Ваша цель — перенести на Инстант существующий очень посещаемый сайт (десятки тысяч просмотров в сутки), то нужно использовать достаточно мощный и оптимизированный сервер. Или подождать выхода более шустрого обновления Двойки. Или самому заняться оптимизацией движка и шаблонов под себя с последующим тестированием на своём сервере.

Если цель создать с нуля или перенести сайт с начальной небольшой посещаемостью до нескольких тысяч просмотров в сутки на начальном этапе и есть подходящий хостинг, то можно уже сейчас делать этот сайт на оптимизированной версии Двойки (или даже на коробочной версии). А по мере совершенствования Instant CMS 2, он сможет держать и бОльшую нагрузку — надеюсь разработчики в своё время подумают и об этом. В качестве резервных мер для увеличения нагрузочной способности такого сайта в будущем можно будет использовать: оптимизацию и объединение стилей, ява-скриптов и картинок (в спрайты), кэширование в CMS (даёт экономию времени до 20%), перенос статики и папки загрузок на отдельный диск/сервер. Как жёсткая, но сильная мера — оптимизация кода и шаблонов под свои цели, с отключением ненужных блоков. Ну и акселераторы PHP, конечно.

Первая ветка выдержит в несколько раз бОльшую нагрузку, чем вторая. Но Двойка всё же намного современнее и перспективнее.

P.S. Расчёты и выводы сделаны для моего хостинга и сервера. Ваш сервер может показать совсем другие результаты и дать совсем другие выводы.

P.P.S. Это лишь моё личное мнение, основанное на не сильно глубоком изучении системы. Оно может сильно не совпадать с видением разработчиков системы и других пользователей. 😊

P.P.P.S. Двойка мне очень нравится! 😊
#64 12 февраля 2015 в 05:16
Спасибо, хорошо расписал
#65 12 февраля 2015 в 15:20
Ну вот мои результаты:
Дле:
Иллюстрация
Инстант1:
Иллюстрация
#66 12 февраля 2015 в 15:37

Ну вот мои результаты

lokanaft
Это на одном и том же сервере? Можете привести его характеристики?
#67 12 февраля 2015 в 15:43
WebMan, это хост из подписи, дле тестировался из британии, а инстант из индонезии, поэтому цифры такие.
#68 13 февраля 2015 в 02:32

Полностью самописный движок на PHP и шаблонизаторе phptemplates, написанном на C++

WebMan
Нескромный вопрос. Можете поделиться ссылкой на шаблонизатор phptemplates, написаный на C++ ???
Очень хотелось бы увидать сие чудо.

lokanaft, что мешало провести тестирование из одной и той же исходной точки? Или в вашем графике не учитывается время соединения с сервером?
#69 13 февраля 2015 в 03:13
PHP-Templates написан на С без ++, я ошибся. Очень шустрый шаблонизатор. К сожалению, последняя версия от 2006-го года для PHP 5.2. Ребята из поддержки на хостинге умудрились запустить его на 5.3 — но это максимум, как они сказали.

Есть альтернатива — Blitz. http://alexeyrybak.com/blitz/blitz_ru.html и http://sourceforge.net/projects/blitz-templates. Также написан на С, но имеет больше возможностей, более удобен и по утверждению автора ещё быстрее, чем PHP-Templates. Последняя версия от 2012-го года для PHP 5.3.
#70 14 февраля 2015 в 17:44


Мои выводы из графиков:
Instant CMS 2 — прекрасная, мощная, современная, очень перспективная система. Её скорость и так уже сравнима или выше, чем у аналогов. Но в данной редакции Двойка всё же требует пересмотра некоторых моментов архитектуры и кода для оптимизации загружаемых компонентов и файлов. Тем более с учётом того, что тестировалась уже оптимизированная версия с ускорением более, чем в два раза.

WebMan

Спасибо за подробные выводы.

Думаю, пока рано думать о новом (в перспективе высокопосещаемом) проекте на двойке.

Буду делать на DLE. Тем более что лицензию я уже купил smile
Да и шаблон уже на финальной стадии создания.
А то, что мне необходимо, но нет в DLE, буду заказывать у фрилансеров.
#71 14 февраля 2015 в 18:08
Ваш вывод понятен, m0skit.
Мой вывод несколько отличается от Вашего (хотя у нас и разные цели, наверное). Насколько я понял после небольшого тестирования ДЛЕ и небольшого копания на их сайте, DLE — совсем не социально-ориентированный движок. Он прекрасно подходит для публикации материалов. А сделать на нём полноценное общение пользователей близкое к привычным уже соцсетям — трудно. Учитывая, что лучше, когда сайт наполняют и развивают пользователи, а люди любят много разного общения, я предпочту постараться оптимизировать Двойку. К тому же гибкости в Двойке однозначно больше. А это очень важно для проектов, которые планируется развивать со временем.
С нетерпением жду следующего обновления ICMS 2. Интересно посмотреть изменения в нём. 😊
#72 14 февраля 2015 в 18:20
stealthdebuger, я в первый раз пользовался сервисом и не нашёл, где можно изменить точку для теста — просто само начинается и всё.
WebMan, да, дле чисто под новости, есть доп поля для новостей, гибкий в плане оформления шаблонизатор, но не соц сеть ни разу.
#73 15 февраля 2015 в 03:47

Мой вывод несколько отличается от Вашего (хотя у нас и разные цели, наверное). Насколько я понял после небольшого тестирования ДЛЕ и небольшого копания на их сайте, DLE — совсем не социально-ориентированный движок. Он прекрасно подходит для публикации материалов. А сделать на нём полноценное общение пользователей близкое к привычным уже соцсетям — трудно. Учитывая, что лучше, когда сайт наполняют и развивают пользователи, а люди любят много разного общения, я предпочту постараться оптимизировать Двойку. К тому же гибкости в Двойке однозначно больше. А это очень важно для проектов, которые планируется развивать со временем.

WebMan

Как я уже говорил, социальность мне не нужна. А для общения пользователей достаточно будет персональных сообщений и комментариев. С последним у DLE проблемы, но как раз это я и планирую решать в будущем, либо установкой какой-нибудь системы комментариев, типо cackle, либо заказом доработки родной систем комментариев.

Зато, у меня будет уверенность что мой сайт, находясь на виртуальном хостинге, спокойно выдержит 10000, 15000 и значительно больше посетителей при очень большом количестве контента.
#74 22 августа 2015 в 13:49

Какую нагрузку может выдержать iCMS2
Вопрос в принципе некорректный. Нагрузку выдерживают не программы, а железо.

r2

Позволю себе не согласиться с мэтром joke
Какое-то время, года полтора назад, устав от ожидания выхода стабильной второй ветки решил перейти на Joomla. И поначалу радости моей не было предела. Купил крутой шаблон, сделал классный сайт детского клуба.
И вот по невыясненным до сей поры причинам он стал постепенно грузить провайдера так, как будто на нём не 100 человек в день бывает, а 10 000.
Уж я и css сокращал, и изображения уменьшал, на вирусы проверял, отключил 90% поисковых ботов, провайдер там чего-то химичил — никак с нагрузкой было не справится. Может это и не на сам движок, а на навороченный шаблон так грузил, но когда нагрузка все мыслимые и немыслимые пределы превзошла, я вернулся на iCMS, переделал сайт и сижу спокойно.
Конечно, не всё так хорошо, как хотелось бы, но дорогу осилит идущий.
#75 22 августа 2015 в 14:54

Уж я и css сокращал, и изображения уменьшал, на вирусы проверял,

ermakover
уж я и по колесу стучал, и лобовое стекло протирал, давление в шинах замерял

Может это и не на сам движок, а на навороченный шаблон так грузил

ermakover
специалисты млин, что такое диагностика, логи итд- ни вы, ни хостер о том не догадываетесь?

Позволю себе не согласиться с мэтром

ermakover
кароч, шота меня тармазило плющило и галлюцинировало, нихрена не понял шо, но нисагласный я, ваапче smoke
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.