1

Тема: Сайт на DLE расходует много памяти, nginx

Есть посещаемый сайт. Количество уникальных ежедневных посетителей около 10000. Ежедневных просмотров страниц 30000-40000. Месячный трафик от сервера где то: 300-350 Gb.

Контент статьи с большим количеством картинок, общий объем папки uploads более 800 МБ. При этом статей около 1500.

Сайт висит на выделенном сервере:
8Gb оперативки, процессор Intel® Core™ i7-920 Quad-Core

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

Хочу разобраться в чем просто причина такого потребления памяти в 5-6 Gb и более.

Конфиги по мюскл прописаны подходящие, nginix отключен (отключил его т.к. для него .htaccess другой писать нужно), кеширование в настройках скрипта включено.
Также дополнительно закешировал все картинки на неделю, чтобы не грузились по 10 раз на дню одному человеку.

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

По оптимизация скрипта многое нагружаемое уже отключил.

Дополнительных модулей, кроме карты сайта не установлено.

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

2 (22.01.2013 17:43 отредактировано npocToNIK)

Re: Сайт на DLE расходует много памяти, nginx

поставьте nginx перед apache. nginx будет только статику раздавать, а apache обрабатывать php скрипты.

3

Re: Сайт на DLE расходует много памяти, nginx

поставьте nginx перед apache.

А как это можно реализовать.

у меня установка ngnix доступна в панели ips manager. Год висел со включенным ngnixом пока не перестало все работать в 2 часа ночи.

Проблему удалось устранить лишь отключением самого ngnix по ssh.

4

Re: Сайт на DLE расходует много памяти, nginx

remont63, установите nginx, погуглите как настроить nginx+apache(для своей OC смотрите, так как настройки иногда отличаются в системах),  или нанять администратора ))

5

Re: Сайт на DLE расходует много памяти, nginx

Спасибо, разберемся, или обратимся к администратору.

6

Re: Сайт на DLE расходует много памяти, nginx

Как вариант попробуйте модулем https://github.com/pafnuty/ShowStat посмотреть, увидите сколько расходует памяти сам двиг, какие запросы посылает и прочее. Возможно проблема таится внутри из-за какого-нибудь модуля или модификации.

7 (02.02.2013 23:31 отредактировано remont63)

Re: Сайт на DLE расходует много памяти, nginx

ПафНутиЙ давненько, на твой блог не заходил, сейчас посмотрим что там.

На первый взгляд совсем сложно показалось, но проверил через: GzipOut(1);

получили примерно такое:

для главной страницы:

<!-- Время выполнения скрипта 0,03523 секунд -->
<!-- Время затраченное на компиляцию шаблонов 0,00453 секунд -->
<!-- Время затраченное на выполнение MySQL запросов: 0,00029 секунд -->
<!-- Общее количество MySQL запросов 3 -->
<!-- Затрачено оперативной памяти 3,18 MB -->
<!-- Для вывода использовалось сжатие gzip -->
<!-- Общий размер файла: 48667 байт После сжатия: 11593 байт -->

для страницы с новостью:

<!-- Время выполнения скрипта 0,03795 секунд -->
<!-- Время затраченное на компиляцию шаблонов 0,00346 секунд -->
<!-- Время затраченное на выполнение MySQL запросов: 0,00418 секунд -->
<!-- Общее количество MySQL запросов 3 -->
<!-- Затрачено оперативной памяти 4,54 MB -->
<!-- Для вывода использовалось сжатие gzip -->
<!-- Общий размер файла: 51520 байт После сжатия: 16089 байт -->

Хотелось бы изменить, процессов не 3 и 4 - а 20-21.

8

Re: Сайт на DLE расходует много памяти, nginx

remont63, данные вполне нормальные, ставьте nginx чтобы не "насиловать" apache ) сразу же заметите разницу)

9 (22.01.2013 21:44 отредактировано remont63)

Re: Сайт на DLE расходует много памяти, nginx

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

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

Добавлено: 22.01.2013 22:11

Возможен ли еще повышенный расход памяти, если размер логов на сервере составляет 146 ГБ. и лог ошибок еще 50 ГБ.

10

Re: Сайт на DLE расходует много памяти, nginx

не надо ничего переписывать, эти правила он даже не затронет, nginx будет раздавать изображения,css,js,html, тем самым облегчит работе апач.

Добавлено: 23.01.2013 00:08

remont63, удалите логи и перезапустите апач(не сам сервер)

11

Re: Сайт на DLE расходует много памяти, nginx

remont63, нужно не переводить сервер на nginx, а ставить nginx + apache таким образом устроен хостинг например на nic.ru
nginx отдаёт статику - апач - динамику, такой подход здорово экономит ресурсы сервера, т.к. nginx очень легкий.

remont63 пишет:

<!-- Общее количество MySQL запросов 3 -->
<!-- Затрачено оперативной памяти 4,54 MB -->

мне кажется многовато...
посмотрел у себя - полная новость без кеша 12 запросов 2.14мб с кешем 5 запросов 2.2мб (и это при установеленных модулях) возможно конечо это зависит от кол-ва картинок.. но всё же.

12 (23.01.2013 00:39 отредактировано remont63)

Re: Сайт на DLE расходует много памяти, nginx

npocToNIK,

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

Логи удалять не стал, просто очистил их командой cp /dev/null , перзагрузил апач. + включил ротацию.

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

13

Re: Сайт на DLE расходует много памяти, nginx

Без nginx тяжко серваку, поэтому его обычно по умолчанию ставят. При этом все редиректы и т.д. нормально работают и файл .htaccess отрабатывается.
А вот на счет логов, то в какой-то из версий ISP есть баг, что логи не удаляются, у меня как-то пару сотен гигов логов накопилось и сервак каждый день на издыхании работал, но работал. И вот так вот приходится периодически чистить миллионы логов вручную.

14 (23.01.2013 12:20 отредактировано remont63)

Re: Сайт на DLE расходует много памяти, nginx

Включил в панельке снова ngnix, нагрузка на процессор сразу уменьшилась.

Да, видимо у меня как раз эта версия isp.

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

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

15

Re: Сайт на DLE расходует много памяти, nginx

remont63, скиньте сайл в лс, может чем и смогу помочь

16

Re: Сайт на DLE расходует много памяти, nginx

npocToNIK скинул.

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

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

Добавлено: 23.01.2013 20:42

ПафНутиЙ

Будем разбираться, не знал кстати, что ngnix еще может работать без апача.

Добавлено: 23.01.2013 20:48

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

17

Re: Сайт на DLE расходует много памяти, nginx

remont63 пишет:

что ngnix еще может работать без апача

Вот интересое интервью с автором nginx
и картинка:
http://www.xakep.ru/post/58122/stat.png

18 (24.01.2013 09:17 отредактировано remont63)

Re: Сайт на DLE расходует много памяти, nginx

ПафНутиЙ на самом деле интересно

19

Re: Сайт на DLE расходует много памяти, nginx

remont63, кстати, лучше будет если закрыть 8080 порт из вне ))

20 (02.02.2013 23:30 отредактировано remont63)

Re: Сайт на DLE расходует много памяти, nginx

npocToNIK Опа, не знал даже, что он у меня по этому порту открывается.
Хотя не знаю ничего о портах толком пока, надо почитать в Википедии.

Также хочу отметить, что после установки Nginix расход памяти и нагрузка на cpu реально уменьшилась в 2-3 раза.

Также примерно уже понял, что вызывает повышенную нагрузку на сервере:

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

Написал хостеру, запустили смарт, так оно и вышло, SMART-тесты диска sda подтвердили проблему, SMART-тесты диска sdb  пока еще не завершились.

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


Также подсказали на серче произвести оптимизация mysql и проверить индексы в таблицах, что собственно я и сделал, проблема как оказалась была в конфигах mysql.