Разделить нагрузку между серверами. DLE

Q
На сайте с 01.04.2006
Offline
143
1820

Есть сайт domen.ru на dle. 7000 пос и 100 000 просмотров. Создает достаточно большую нагрузку на хостинг и часто выходит ошибка 530 - сайт не доступен (ограничение апач на одновременное подключение).

Если все изображения в шаблоне разместить на другом домене и другом сервере. Допустим domen2.com или domen2.ru.

Вопросы:

1. Нагрузка на основной сервер должна сократиться?

2. Повлияет ли такое разбиение на ранжирование сайта в поисковых системах?

3. Есть другие способы разделения нагрузки?

N
На сайте с 06.05.2007
Offline
419
#1

1. Не обязательно.

2. Не обязательно.

3. Полно.

Лучше задумайся, а что ты сделал для диагностики узких мест (в свои годы) ?

Кнопка вызова админа ()
Q
На сайте с 01.04.2006
Offline
143
#2
netwind:
3. Полно.

Подскажи, плиз, конкретней. С нагрузкой и оптимизацией много работал, общие слова мне не помогут.

Есть ограничение Апач - 500 одновременных подключений. Это ограничение не дает сайту нормально работать особенно в пик. На сколько я понимаю, загрузка картинки - это обращение к апачу. Верно?

Я бы вообще разделил нагрузку www.domen.ru и domen.ru -на разные сервера поставил, но на dle есть папка куда картинки загружаются при добавлении новости. Не знаю как сделать чтобы картинки загружались сразу на оба сервера.

Какие варианты есть?

N
На сайте с 06.05.2007
Offline
419
#3
querty:
Подскажи, плиз, конкретней. С нагрузкой и оптимизацией много работал, общие слова мне не помогут.

Если работал, то найди узкие места в этой системе и устрани их в первую очередь.

Мне кажется, ты этого не делал. Потому что обычно проблемы DLE связаны с mysql. Запросы там просто хуже некуда. Само наличие CALC_FOUND_ROWS в коде - маркер говнодвижка.

Единственное что в этой ситуации остается при небольшом бюджете - адово кешировать все странички, например. Тем и живут.

querty:
Не знаю как сделать чтобы картинки загружались сразу на оба сервера.
Какие варианты есть?

Например NFS или периодический запуск rsync или общее сетевое хранилище файлов для всех серверов.

Q
На сайте с 01.04.2006
Offline
143
#4
netwind:
Если работал, то найди узкие места в этой системе и устрани их в первую очередь.

Ох, как я сам не догадался?! Точно. И делов :))

netwind:

Мне кажется, ты этого не делал. Потому что обычно проблемы DLE связаны с mysql. Запросы там просто хуже некуда.

MySQL на отдельном серваке. Поэтому MYSQL не трогаем. Много корявого работает, многое отключил. Что-то корявое и сам добавлял. по возможности все кеширую.

Как запросы к апачу сократить? или разделить на 2 сервера. Убрать изображения на другой домен и хост - сократит нагрузку?

F
На сайте с 16.01.2010
Offline
267
#5

Меняйте хостинг.

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

N
На сайте с 06.05.2007
Offline
419
#6
querty:
Ох, как я сам не догадался?! Точно. И делов )

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

querty:
MySQL на отдельном серваке. Поэтому MYSQL не трогаем.

Обычно стоит потрогать в первую очередь - это же DLE.

Отдельный сервер для mysql дает возможность довольно просто выделить нагрузку mysql от всей остальной и оценить ее. Если mysql не справляется - надо начинать копать туда.

Ты не написал по какой причине mysql не трогаем.

querty:
На сколько я понимаю, загрузка картинки - это обращение к апачу. Верно?

В данный исторический период - уже неверно. Почти все (считающие деньги) хостеры ставят nginx и значительно уменьшают нагрузку от раздачи картинок. Если еще не поставили - надо поставить.

Q
На сайте с 01.04.2006
Offline
143
#7
netwind:

Ты не написал по какой причине mysql не трогаем.
querty:
MySQL на отдельном серваке. Поэтому MYSQL не трогаем.

Там тоже есть проблемы, но в данный момент все как-то устаканилось :)) тьфу, тьфу,тьфу

Сегодня обновил двиг с 8.5 до 9.0. Добавили еще немного Аякса. Вроде должен уменьшить количество запросов, но не думаю что намного.

Раз ты не написал как именно ты делал поиск узких мест и как попытался их устранить, значит ты этого не делал.

Когда хостеры выгоняли за нагрузку и тыкали меня в узкое место. Тогда находил и устранял :). В основном это были запросы к БД.

Я вообще не профи в этом. Так что буду рад любым практическим советам, как снизить нагрузку!

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

Общее количество новостей: 150.000

Количество комментариев: 350.000

Зарегистрировано пользователей: 26.000

nginx стоит - всеравно лучше наверно картинки убрать с основного сервера. Вот такая статистика на хостинге есть. Статика это что? Наверно, картинки.

дата исх. внутренний, мб исх. заруб., мб исх. всего, мб динамика статика (>1Mb)
2010-12-03 1872.14 1860.03 3732.17 83236 1975539 0
2010-12-02 2151.47 2144.44 4295.91 93505 2230257 0
2010-12-01 2989.42 1915.59 4905.01 84982 2005580 6
2010-11-30 2528.3 2383.13 4911.42 95953 2245145 0
2010-11-29 2181.61 2310.89 4492.51 97190 2369378 3
Справочная информация

Нагрузка вашего сайта на сервер:
динамические запросы: крайне высокая
статические запросы: крайне высокая, уровень выделенного сервера
N
На сайте с 06.05.2007
Offline
419
#8
querty:
nginx стоит - всеравно лучше наверно картинки убрать с основного сервера. Вот такая статистика на хостинге есть. Статика это что? Наверно, картинки.

это ваш выделенный сервер или виртуального хостинга? а который для mysql ?

500 апачей на одного клиента - многовато. Выше порога терпимости среднестатистического хостера. Может nginx-а все-таки нет?

Так что буду рад любым практическим советам, как снизить нагрузку!

Гиблое это дело - советовать наугад. Ни эффекта, ни благодарности.

Q
На сайте с 01.04.2006
Offline
143
#9
netwind:
это ваш выделенный сервер или виртуального хостинга? а который для mysql ?

Виртуальный хостинг. Ограничение идет по процессорной нагрузке. MySQL - на отдельном сервере. В скрипте подключаюсь к БД на другом домене... Статистика по MySQL отдельно.

netwind:
Может nginx-а все-таки нет?

Стоит

N
На сайте с 06.05.2007
Offline
419
#10

querty, 500 апачей в среднем по 20 мб для php 500*20 = 10 ГБ памяти используют ваши скрипты

Вы понимаете, что с такими данными вашим словам веры нет?

Переезжайте на VPS и нанимайте человека. Он все замерит и даст конкретные рекомендации.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий