CMS DataLife Engine - Система управления сайтами

Sign in to follow this  
sk-soft

Очень высокая нагрузка DLE на сервер

Recommended Posts

Доброго времени суток!

Естественно, каждый из вас хочет раскрутить свой сайт по максимуму, вот у вас уже 2000 юзеров в сутки, вот уже 7000. Но... позже вы обязательно столкнетесь с проблемой того, что вас либо "вытусят" с хостинга, либо ваш сайт станет очень тормозить.

Внимание, я за последние 3 месяца поменял несколько хостингов, и результат одинаков: сайт создает ОЧЕНЬ большую нагрузку на сервер.

Испугались? нет? - читаем дальше!

+++++++++++++++++++++++++++++++++++

Мои характеристики движка:

Общая статистика сайта:

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

Всего комментариев: 12000

Комментарии ожидающие проверки: 0

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

Из них было забанено: 5

Размер базы данных: 52.53 Mb

Общий размер кеша: 2.38 Mb

Версия DataLife Engine: 6.0

Тип лицензии скрипта: Лицензия активирована

Режим работы сайта: Включен

Версия PHP 4.4.7

Версия MySQL 4.1.22 MySQL

Версия GD 0

Module mod_rewrite Неопределено

Безопасный режим Выключен

Выделено оперативной памяти: 64M

Отключенные функции: Неопределено

Максимальный размер загружаемого файла: 2 Mb

+++++++++++++++++++++++++++++++++++

Сейчас сижу на VDS(т.к со всех хостов гонят)

128 Метров памяти, 256SWAP

250MHz

стоит 30 баксов...

(В основном грузит Мускуль, хотя висит постоянно около 100 процессов. из которых около 80 sleep и парочка zombee)

Сайт сейчас очень тормозит, иногда по 10-30 секунд думает, и потом уже идет прогрузка сайта.

Перед этим пробовал на psv-host.ru Позвонил их директору, благо в одной стране живем, договорились что потестим пару дней и выясним для какого тарифа взять сайт.

Через несколько часов после перехода, он на емейл отправил несколько писем, в них указывалось, что ниодин тариф (даже за 30 баксов) мне не подойдет, сказал что нагрузка на сервер очень большая.

Обращаю ваше внимание: никаких корыстных мыслей у хостера небыло, я ему ничего не заплатил.

Слова техподдержки хостинга PSV-HOST по поводу сайта:

количество потоков апача часто достигает предельного значения в 250 потоков.

И средняя нагрузка Вашего аккаунта постоянно растет.

Уже средняя нагрузка:

User Domain %CPU %MEM Mysql Processes

superwa super-warez.net 10.33 48.69 17.3

Еще час назад была.

User Domain %CPU %MEM Mysql Processes

superwa super-warez.net 9.47 38.74 14.2

Сервер: CPU: Dual Core Xeon 3.0 GHz, 2 x 2MB cache RAM: 1024 MB

-------------------------------------------------------------------

У Вас где-то скрипты неверно работают, и не закрывают запросы к базе

после работы с ней:

----------------------------------------------------------------

Ответ у хостера MCHOST.RU по поводу моего сайта:

Могу посоветовать Вам попробовать дописать в код Вашего движка команду закрытия подключения к БД.

Это позволит избавится от "висящих" коннектов.

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

выборки из БД зачастую занимают продолжительное время.

Вероятно в движке вашего сайта используются так называемые persistent connections, вместо функции mysql_connect используется mysql_pconnect, попробуйте использовать mysql_connect.

-------------------------------------------------------------------------------------

Еще сидел один месяц у друга на дедике, 8 гиг оперативы, 5 мегагерцовый проц.

Нагрузка проца была 20 %

Вот такие вот пироги друзья. Раскрывая тему более полно, уточню что:

- Движок был установлен с нуля никаких сторонних модулей не было установлено, кеширование включено.

- С базой данных тоже все впорядке, несколько раз ее оптимизировал из движка, ремонтировал также из движка, и оптимизировал из PhpMyAdmin.

- Я не исключаю того, что все же может быть что то в базе или в движке не впорядке. но это около 1 % из 100.

Весь пост держит информацию познавательного, и возможно предупредительного характера, однако с удовольствием выслушаю ваше мнение по этому поводу.

Share this post


Link to post
Share on other sites

У вас какая версия DLE?

Вроде бы закрывается подключение к базе строкой

$db->free();

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

Далее: mysql_pconnect не используется, вместо него как раз mysql_connect.

Мне кстати интересно будут ли различия нагрузки между MySQL и MySQLi

Share this post


Link to post
Share on other sites

Версия:

Версия DataLife Engine: 6.0

$db->free();

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

Share this post


Link to post
Share on other sites

Не должно.

Количество потоков апача можно снизить убрав эти дурацкие дополнительные поля (я убрал у себя и мне они вообще не нужны - а посмотрев как они реализованы становится понятно что нагрузка может быть и из за них в том числе)

Share this post


Link to post
Share on other sites

Не должно.

Количество потоков апача можно снизить убрав эти дурацкие дополнительные поля (я убрал у себя и мне они вообще не нужны - а посмотрев как они реализованы становится понятно что нагрузка может быть и из за них в том числе)

У меня дополнительных полей нет.

думаю это надо в баги целсовту писать)

Ага, а я и так в баги написал, вот жду когда он с отпуска вернется, помоему проблема серьезная. Он ведь должен знать почему его двиг будет тормозить когда будет база около 50 метров.

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

Share this post


Link to post
Share on other sites

$db->free();

это не закрытие базы, а просто очистка памяти от информации запроса.

По поводу оптимизации там в принципе есть моменты. Комментарии выводятся запросом объединения, хотя можно и легче, но более запарно по одной причине... потом там выборка идёт с ЧПУ по достаточно крутому условию... потом фиксированые новости.. ну и в конце концов закрытые разделы - выборка - rexep. Если вы готовы отказатся от некоторых удобств дле, то можно и попробовать, напишите в лс.

Share this post


Link to post
Share on other sites

Al-x, Сейчас попробую перейти на другой хостинг.

Если в течении завтрашних суток ситуация не изменится то готов отказаться, я итак от всех модулей отказался, включая вывод архивов , календаря итд

Share this post


Link to post
Share on other sites

Общий размер базы данных: 14.37 Mb

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

Из них опубликовано: 4605

Опубликовано на главной: 4588

Ожидает модерации: 23

Количество комментариев: 1222 [просмотреть последние комментарии]

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

Из них было забанено: 3

хостов 6-7 тыс. поменьше чем у тебя. Но не тормозит.

сайт progs.kiev.ua

Сайт не мой!

Share this post


Link to post
Share on other sites

dedywka привет, помню через тебя ссылками менялся. (если не ошибаюсь)

Но на этом ведь сайте ты же не знаешь какой хостинг, да и потом я так понял важное это не хосты, а размер базы, у меня он в 4 раза больше

52 метра

и то я часть новостей удалил.

У меня около 100 новостей в сутки.

Share this post


Link to post
Share on other sites

sk-soft,

ну если что = давай попробуем. У меня интерес исключительно познавательный. Я испытывал эти функции и системы на очень слабом компе, где это всё наглядно демонстрировалось скоростью. будет эффект или нет - небольшой точно будет, большой - не знаю. Но базу не запрю, не боись. Да, вот ещё что - выруби чпу попробуй, запрос будет проще немного..

Share this post


Link to post
Share on other sites

У меня есть оптимизированая версия DLE, убраны мультикатегории, фиксированные новости, изменено большинство запросов к базе. Если что могу поделится наработками.

Share this post


Link to post
Share on other sites

ну если что = давай попробуем. У меня интерес исключительно познавательный. Я испытывал эти функции и системы на очень слабом компе, где это всё наглядно демонстрировалось скоростью. будет эффект или нет - небольшой точно будет, большой - не знаю. Но базу не запрю, не боись. Да, вот ещё что - выруби чпу попробуй, запрос будет проще немного..

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

max-money, Хотел бы потестить твою DLE слышал так некоторые делают, т.к в дле порой интегрируют то, что не всегда нужно.

Залей куданибудь, на рапиду, или еще куданибудь, если не жалко, ссылку если что можешь кинуть в мне в ПМ.

Share this post


Link to post
Share on other sites

dedywka привет, помню через тебя ссылками менялся. (если не ошибаюсь)

привет. Подробней :)

Но на этом ведь сайте ты же не знаешь какой хостинг, да и потом я так понял важное это не хосты, а размер базы, у меня он в 4 раза больше

52 метра

и то я часть новостей удалил.

У меня около 100 новостей в сутки.

Там вроде свой сервак. Да база наверное ... гадина :)

Вообщем удачи тебе в решение этой проблемы. :rolleyes:

Share this post


Link to post
Share on other sites

У меня дополнительных полей нет.
У вас их нет, но двиг об этом не знает и всё время их ищет.

это не закрытие базы, а просто очистка памяти от информации запроса.
Да ,действительно. Всё равно вопрос такой - по какому принципу определяется где следует очищать память а где нет?

В классе MySQLi для закрытия соединения существует функция

	function close()

	{

		@mysqli_close($this->db_id);

	}

Но интересно то, что она и не используется. Я просканировал файлы скрипта и не нашёл ни один файл, где эта функция вызывается((

выруби чпу попробуй, запрос будет проще немного..
Можно чпу и не вырубать, просто заменить сам урл новости, к примеру как здесь - http://lifestar.ru/news/42.html

Share this post


Link to post
Share on other sites

Да ,действительно. Всё равно вопрос такой - по какому принципу определяется где следует очищать память а где нет?

где большой объём информации

Share this post


Link to post
Share on other sites

Al-x, что насчёт закрытия подключения к базе и большого количество потоков апача?

Share this post


Link to post
Share on other sites

lifestar,

спс, один новый пункт нашёл для себя :)

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

избавляйтесь от функций которые вы не используете, но которые всё равно РАБОТАЮТ

Share this post


Link to post
Share on other sites

В основном все глюки из-за того если у вас стоят сторонние модули на двиг

также аякс можно включить и Gzip наверно стоит выключить

ну это по мелочам наверно)

у меня посещаемость 4000 - 5000 бывало иногда но новостей конечно не так много так как не варезный сайт а игровой

и нагрузка тьфу тьфу пока нежалуюсь на хостинге 2 % держится притом что на этом аккаунте у меня еще 5 сайтов и форум

плачу 600р гдето за все

Share this post


Link to post
Share on other sites
Gzip наверно стоит выключить
или level сделать поменьше

Share this post


Link to post
Share on other sites

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

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

А вот Gzip заинтересовало, а почему его стоит отключить? он сильно грузит сервак?

Edited by sk-soft

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this