Форум SAPE.RU

Форум SAPE.RU (http://forum.sape.ru/index.php)
-   Разработка и сопровождение сайтов (http://forum.sape.ru/forumdisplay.php?f=29)
-   -   Какое "нормальное" использование памяти для сайта? (http://forum.sape.ru/showthread.php?t=91696)

slovoblud 07.01.2014 01:01

Какое "нормальное" использование памяти для сайта?
 
Привет форумчане. Всех с новым годом и рождеством.
Делаю довольно большой каталог на joomla на десятки тысяч позиций. При этом на локальной машине сайт уже начинает тормозить. Включил функцию отладки показывает использование памяти 44.81 MB (46,982,576 Bytes). Вот думаю а что будет когда придет 100 человек в день, а когда 1000? В общем вопрос какой нормальный показатель использования оперативной памяти при загрузке страницы? Я понимаю что все относительно но все таки хоть примерно какие то цифры чтобы ориентироваться, например если взять vds на 2048 Мб оперативной памяти хватит хоть на 100, 500 или 1000 хостов?

derbauer 07.01.2014 10:56

посмотрите размер базы mysql, сколько она занимает на диске. Допустим, это ~100 мб. Плюсуем размер нескольких параллельно запущенных процессов апач - это еще ~50-100 мб. И память под ОС, скажем Дебиан ~350 мб.
Итого ~ 500мб.
По моему опыту, впс с памятью 512мб беспроблемно держит 5к просмотров в сутки не считая роботов ПС. Увеличение посещаемости добавит количество процессов апач, по 7-8 мб на каждый процесс, это уже можно будет отследить по факту.

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

Anadonam 07.01.2014 11:38

slovoblud, хватит и меньше оперативки 2г (512 для одно сайта куда девать) - тут дело не в машине, а в пропускной способности канала - всё что хранит сервер от сайта в оперативке это сессию, которая весит - ну возьмем максимум 4 килобайта. (40 мегобайт это сервер занимает, а не сайт), а тормозит он из-за плохого пропускного канала провайдера - так как те не дураки там сидят. (у выделенных серверов каналы хорошие от 100мб /с и больше) без всяких затыков на стороне провайдеров.

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

для сервера - что 1 пользователь на сайт зайдет одновременно что 100 одинаково , а вот если 10 000, одновременно тут да - нагрузка подскочит конечно на машину - но могу утешить такой заход (на настоящее в ремя )имеют тока майл ру вконтакте и им подобные (не путать с посещением в день)

ps/ я образно написал цифры нечеткие а для примера

seocore 07.01.2014 18:13

Цитата:

Сообщение от slovoblud (Сообщение 1372628)
Включил функцию отладки показывает использование памяти 44.81 MB (46,982,576 Bytes). Вот думаю а что будет когда придет 100 человек в день, а когда 1000? В общем вопрос какой нормальный показатель использования оперативной памяти при загрузке страницы?

нет нормального показателя, все зависит от конкретных компонентов CMS'ки, от активности и типа кеширования (тот же xcache снизит обращение к БД в разы) и т.п.

на практике - картинка выглядит так, можно сэкономить на буферизации данных в БД, на кешировании в ОЗУ на уровне xcache/apc/eaccelerator/memcache, но это выльется в то, что страничка будет генерироваться допустим 1 секунду, вместо 0.1 секунды, в итоге будет прямо пропорциональный обратный эффект

например, если Апач+mod_php отрабатывают страничку за 1 секунду, то при 2Гб ОЗУ можно будет отработать не более 50 запросов\секунду, но если же страничка рисуется за 0.1 секунду (т.е. в 10 раз быстрее), то за секунду Apache уже отработает 500 таких запросов

Цитата:

Сообщение от Anadonam (Сообщение 1372657)
(40 мегобайт это сервер занимает, а не сайт), а тормозит он из-за плохого пропускного канала провайдера

причем тут пропускной канал, он актуален только для статики, размер сжатой динамики обычно не более 50Кбайт, тут хватит любого г-канала :D

Цитата:

Сообщение от derbauer (Сообщение 1372656)
Плюсуем размер нескольких параллельно запущенных процессов апач - это еще ~50-100 мб. И память под ОС, скажем Дебиан ~350 мб.

ОС займет не более 20Мб ОЗУ

Цитата:

Сообщение от derbauer (Сообщение 1372656)
Увеличение посещаемости добавит количество процессов апач, по 7-8 мб на каждый процесс, это уже можно будет отследить по факту.

процессы Апач гораздо более весомые, минимум 25Мб каждый + общая шаред память (еще пара сотен мегабайт)

Цитата:

Сообщение от derbauer (Сообщение 1372656)
я бы посоветовал вывести время генерации страниц и если оно действительно большое - искать медленные запросы

это и надо делать в первую очередь - т.е. максимально ускорить генерацию страницы, те же медленные запросы БД можно мониторить тем же mytop'ом, я бы еще порекомендовал мониторить дисковую активность, тормозящий диск сильно увеличит время генерации страницы

а в целом, я бы рекомендовал начинать с ВПС в 2-4Гб ОЗУ минимум, вне зависимости сколько там вращается сайтов, вопрос в современных реалиях уже не в том, сколько выдержит, а в том, насколько быстро и стабильно работает сайт
на практике все это выльется примерно в следующее:
  • под xcache/apc/eaccelerator кеширование кода надо выделить столько ОЗУ, чтобы все скрипты CMS'ок закешировались в ОЗУ (не менее 256Мб);
  • под xcache/apc/memcache var-объект хранение в ОЗУ надо выделить не менее 64Мб (в среднем на 3-4 Joomla сайта);
  • под MySQL надо выделить под буферы:
    • буфер индексов должен быть не менее объема всех индексов всех рабочих таблиц;
    • буфер пула innoDB желательно равным всем таблицам этого типа;
    • буферы запросов\сортировки и т.п. - равные средней порции выборки по этому типу запросов (можно мониторить коэффициент попадений\промахов в кеше);
    в сумме будет не менее 500Мб ОЗУ под БД на пару жирных Joomla сайтов
  • под кеш файловых операций должно оставаться не менее 1/5 от занятого пространства на диске.
разумеется при 512Мб ОЗУ ВПСке придется на всем этом экономить, что выльется в тормоза, а тормоза выльются в падение позиций в выдаче, общий вывод - не жалейте денег на сервер :D

Anadonam 07.01.2014 18:41

Цитата:

Сообщение от seocore (Сообщение 1372719)

причем тут пропускной канал, он актуален только для статики, размер сжатой динамики обычно не более 50Кбайт, тут хватит любого г-канала :D

я могу судить только по своему провайдеру - у него затыки иногда
(для домашнего инета это как бы нормально и пользоваетель особо не замечает, скоростей рук не хватает ощутить) а вот на промышленных серверах к коим относятся всякие ВДС и прочее такие затыки не допустимы - потому там и скорости от 100мб/c это сейчас типа минимум вроде.

(у меня скорость 10 мб/с хватет для всего с лихвой - Но вот иногда просмотр фильмов онлайн тормозит - со всех ресурсов, не может же быть что все сервера кинофильмов так перегружены что прям виснет - провайдер глючит...)

вообще то проверить достаточно легко - взять и поставить сайт на локалхост (денвер) и погонять его посмотреть кто виновать машина или канал

danilclub 07.01.2014 19:27

Цитата:

Сообщение от Anadonam (Сообщение 1372720)
поставить сайт на локалхост (денвер)

Цитата:

Сообщение от slovoblud (Сообщение 1372628)
При этом на локальной машине сайт уже начинает тормозить

...................

Anadonam 07.01.2014 19:59

danilclub, да я понял так, что у него сервер дома - вот и распинаюсь

緋色のローブプリンス 08.01.2014 13:36

Цитата:

Сообщение от Anadonam (Сообщение 1372730)
сервер дома

мазохисм

ubuntu 08.01.2014 14:39

Цитата:

Сообщение от slovoblud (Сообщение 1372628)
Привет форумчане. Всех с новым годом и рождеством.
Делаю довольно большой каталог на joomla на десятки тысяч позиций. При этом на локальной машине сайт уже начинает тормозить. Включил функцию отладки показывает использование памяти 44.81 MB (46,982,576 Bytes). Вот думаю а что будет когда придет 100 человек в день, а когда 1000? В общем вопрос какой нормальный показатель использования оперативной памяти при загрузке страницы? Я понимаю что все относительно но все таки хоть примерно какие то цифры чтобы ориентироваться, например если взять vds на 2048 Мб оперативной памяти хватит хоть на 100, 500 или 1000 хостов?

Может для начала включить мозг?


Часовой пояс GMT +3, время: 11:19.

Работает на vBulletin® версия 3.8.7.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
SAPE.RU — система купли-продажи ссылок с главных и внутренних страниц сайтов.