Вопрос Акселю

Главные вкладки

Аватар пользователя digital_sword digital_sword 21 августа 2008 в 19:55

Добрый день.
Этот вопрос уже много раз задавался, почему-то прямого ответа нет. Почему Друпал.ру так тормозит и часто бывает в ауте. Раньше я думал, проблема в хостинге, но ты в одной теме писал что прикупил сервер для этого сайта. Да и вроде в команде профессионалы сидят, способные все настроить и оптимизировать...
В общем собираемся сделать крупный ресурс, собирающий информацию со всех риэлторов региона (все риэлторы, а их с филиалами штук 400 подключены к сайту через терминалы, нагрузка нехилая, + еще и пользователи). Разумеется, мощный сервер. С меня разработка сайта-основы, с разработчиков мультилистинговой системы их система и подключение.
К чему это: нагрузка будет больше чем на друпал.ру, оптимизировать все буду я (а знаний у меня меньше чем у тех, кто админит этот сайт), ресурсы сервера такие же. И при всем при этом работать должно гораздо быстрее чем друпал.ру. Поэтому вопрос: почему друпал.ру тормозит сейчас? Потянет ли этот движок? Может быть, это технические ограничения CMS?

Комментарии

Аватар пользователя Ромка Ромка 21 августа 2008 в 21:46

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

Аватар пользователя Irbis Irbis 22 августа 2008 в 13:44

Теоритические все проблемы в памяти на хилом ВПСе 30 пользователей одновременно открыв по странице съедят всю память (30*30=300 метров + 100 метров на систему) а 31 пользователь одновременно открывая со всеми страницу - приводит систему к зависанию в виду недостатка памяти Smile если на вдс 500 метров Smile

PHP библиотеки много жрут памяти, поэтому нормальный проект лучше сразу делать на своём серваке с 6-8 гигами памяти, хорошо что она дешёвая (6 гиг ~ 5 тыщ, хотя могу и соврать), ну и оптимизация нужна во всём.

Канал на 100 мегабит позволит на 1 серваке сразу грузить страницу 330 человекам при её весе в 33 кило. А отсюда и пляшут все настройки. Ну и правильно настроенное кэширование под вас помогает (параноидальное кэширование особенно).

Я конечно могу ошибаться, Аксель поправь если я неправ.

Аватар пользователя Akzhan Akzhan 22 августа 2008 в 16:54

1.
Гарантированный минимум памяти на VPS на Друпале - 1Gb, и помимо nginx, MySQL, PHP, Drupal, там ещё крутится memcached.

2.
Были проблемы с drupal.ru, когда оказалась битой база данных MySQL. Насколько я понимаю, это поправили.

3.
Да, в планах переезд на выделенный сервер, насколько я помню. VPS использовался для изучения работы наших тарифных планов для высоконагруженных сайтов. drupal.ru идеально подошёл в качестве испытуемого.

Аватар пользователя digital_sword digital_sword 22 августа 2008 в 14:02

Что-то не понятно. 30 пользователей вы на 30 чего умножаете и получаете почему-то 300 метров?
Можете подробнее написать про свой метод расчета? И эти 30 (Мб?), это видимо вес исходного кода страницы? (то есть все без java, картинок, CSS)? Тогда что-то много. Или что это?
И почему 500 метров это хилый VDS? Вот ру-центр на своем лучшем хостинг тарифе предоставляет 192МБ, так он что, подходит только для сайтов-визиток?
Напишите подробнее.

Аватар пользователя Akzhan Akzhan 22 августа 2008 в 16:59

Виртуальные выделенные сервера имеют мало смысла при малом объёме выделяемой памяти.

Ведь каждому процессу требуется память, и в отличие от виртуального хостинга, все процессы Вы запускаете для своего сервера отдельно (отдельные экземпляры Апача, MySQL и т.д.).

Желательно иметь минимум 512Mb оперативной памяти, и то, обязательно без Plesk (он отъедает память тоже).

Именно поэтому я рекомендую VPS с объёмом памяти меньше 512Mb исключительно для разработки и тестирования, а не для боевого использования.

Аватар пользователя Valeratal Valeratal 22 августа 2008 в 15:09

Да, мне тоже было интересно, как расчитывается расход памяти.
Свой сервер конечно хорошо, когда есть свой админ Lol

Аватар пользователя Akzhan Akzhan 22 августа 2008 в 17:03

Каждый процесс кушает память. Например, если к Вас сконфигурирован Апач на 32 процесса-обработчика запросов, то одновременно может быть запущено 32 процесса с mod_php etc., каждый кушает определённый объём памяти.

VPS очень хорошо вообще. Выделенный сервер ещё лучше. Ибо тогда у Вас есть свобода в оптимизации программного обеспечения под именно ваши требования.

Конечно, мы скоро предложим нечто большее и для виртуального хостинга, но свободы там по определению на порядок меньше.

Если у Вас много сайтов - лучше купить мало толстых VPS или dedicated servers, чем множество площадок виртуального хостинга.

Аватар пользователя Valeratal Valeratal 22 августа 2008 в 17:03

Мда, все так. По крайне мере, если у вас Апач. Одни его процессы столько отжирают памяти, что на меньше 512 вообще сложно жить

Аватар пользователя digital_sword digital_sword 22 августа 2008 в 19:13

Так что с nic.ru то (ру-центр)? 192 МБ - лучший их тариф, и все заявляют (в том числе и здесь), что это хороший хостинг. Может я не те 192 МБ смотрю?
Akzhan, вы написали здесь, что с помощью друпал.ру тестируете тарифные планы. Результатами не поделитесь?

Аватар пользователя Akzhan Akzhan 22 августа 2008 в 19:17

Мне сложно говорить про nic.ru. Я хостил проекты только на majordomo, zenon и masterhost.

Опыта работы с nic.ru у меня нет (вернее, есть, но минимальный - сайт оттуда переехал на mh).

Результаты будут позже. У нас достаточно длительный цикл разработки/тестирования.

Аватар пользователя Irbis Irbis 22 августа 2008 в 21:16

"digital_sword" wrote:
30 пользователей вы на 30 чего умножаете и получаете почему-то 300 метров?
Можете подробнее написать про свой метод расчета?

Я на вскидку расчитывал.
1. Тяжёлая страница без кэширования в Drupal, Apache, MySql, Memcashe может генерироваться до 1 секунды. Если постараться Smile
2. Drupal + CCK + Views + куча модулей ~ теоритически может использовать до 30 мегабайт нас скрипт (PHP на выполнение скрипта)
3. 160 мегабайт памяти съедает машина с PHP+APACHE+MYSQL (у меня). Итого если у вас 512 памяти - доступно вам 340 мегабайт под скрипты из которых метров 40 - резерв на обслуживание памяти. Тогда 300/30 мегабайт нас скрипт = 30 человек в секунду может посмотреть ваш сайт.

Но используя кэширование и оптимизацию построения страниц (что бы как можно большее количество страниц могло быть как можно дольше закэширована, например некоторые страницы обновляются ночью с кэшом в 24 часа, вообще много нестандартных ухишрений можно придумать) можно добиться сокрашение потребления памяти в десятки раз.

Вообще нужно плясать от того сколько человек в сутки посетить ваш сайт в какие часы будут пики сколько страниц в час будет просмотренов пик, какой размер страниц - отсюда вычислить скоко серверов с каналом в 100 мегабит (10 мегабайт в секунду) вам нужно. Т.е. если вся страница весит 33 кб то 330 человек за 1 секунду смогут получить свои страницы по вашему каналу - отсюда вычисляем производительность сервера, чтобы он ваши скрипты или закэшированный их результат выдавал 330 человекам в секунду - после чего можно расчитывать сколько памяти вам нужно на все дела.

VDS - это для корпоративных сайтов + форум, для серьёзной нагрузки (мегапартал или электронная версия 1С) - нужно свой сервер. Учитывая зарплату програмеров в городах - 35 тысяч за серверок - это месячная зарплата и это немного. В общем дорогу осилит идущий по ней экспереминтатор / тестер Smile

Если я неправ, знатоки поправьте пожайлуста.

Аватар пользователя Irbis Irbis 22 августа 2008 в 21:21

Хорошо если бы на сайте была описание - ссылка - посещаемость (так же пиковая посещаемость) - модули - конфигурация сервера - шаги проведенной оптимизации оптимизация. Это бы очень помогло, а то как в тумане все говорят друпал это круто, но никто не приводит цифр и железа Smile