Колко RAM да заделя за MySQL

и да добавя от два гигабаита 512 за мемкешед модула го има и за 6 ца
http://andrewdunkle.com/how-install-memcached-drupal-7

и само внимамавай да добавиш и префикс щом имаш няколко инсталации
и няма да познаеш системата...
 
От: Колко RAM да заделя за MySQL

Аз да добавя и малко статистика, тъй като вече се знае, че системата е Drupal. Това е от един отвратителен сайт, с който имах проблеми преди. Трябва да ти стане ясно горе-долу колко рам да заделиш за всеки сайт. Юзера съм го скрил умишлено.

drupal_graph.png
 
От: Колко RAM да заделя за MySQL

Знам го mamcache, даже го пробвах да го добавя на един от сайтовете тестово да видя какво ще стане тогава още бяхме на друга машина. В началото беше много добре но на другия ден такъв блокаш направи че едвам го оправихме за 2 часа. Не знам дали причината е била mamcache но повече не посмях да го слагам. И да бях му задал достатъчно памет да пази кеш таблиците.

Май обаче проблема ще се окаже от съвсем различен характер. Те на cloud а нали имат лимити за Дискови операции (IO запис/четене) при моя са 65 млн. на месец и после 0.15 лв./ 1 млн. операции. Обаче няма в панела място от където се купуват, дали е автоматично не знам.

Сетих се че може да е нещо подобно след като забелязах че когато продукшън сървъра пада обикновено и тестовия взема да се стартира много бавно. Днес по едно време отнемаше 10-15 мин. И другото което ми направи впечатление преди няколко дена пробвах различна конфигурация на тестови с nginx - php-fpm и бях прехвърлил само малка част последните файлове да тествам сайтовете. Зареждаха се супер бързо сайтовете, но тъй като не успяхме да подкараме същата конфигурация на продукшън сървъра реших да прехвърлим файловете директно на тест и той да стане продукшън. Приключи синхронизацията бяха прехвърлени около 30ГБ и сайтовете умряха направо. Въпреки че беше след полунощ и почти нямаше хора.

Прикачен файл:
Първия е за миналия месец.

Второто е за днешния до сега. На второто има 3 защото по средата е за изтритите машини, това дето го говорих преди малко за преместването, а третото тестовия сървър. Не ми изглеждат много нормално тези данни.

Миналия месец не помня кога точно се преместихме на тази машина, може да не е било в началото.
 

Прикачени файлове

  • read-write.png
    read-write.png
    22.5 KB · Преглеждания: 19
От: Колко RAM да заделя за MySQL

Значи първото е за половината месец. Преместили сме се към 12. Не ми изглеждат никак нормално тези данни.
 
От: Колко RAM да заделя за MySQL

Нямам представа за последните два поста и на какъв принцип се прави статистиката.

Знам само, че върху сървъри с параметрите, които описа могат да се поместят съвсем спокойно 3-7 средно големи и натоварени Drupal сайта (да не казвам голяма дума, но съм сигурен, че и повече). С тези посещения, които изброи. Вече как ще стане само вие можете да си решите. Тук говорим за dedicated сървър обаче. VPS ще зависи от типа виртуализация, но положението е горе-долу същото ако приемем, че хоста не oversell-ва.
 
От: Колко RAM да заделя за MySQL

Ами както споменах вече е на виртуална машина на Cloud акаунт.

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

Странното е че понякога така и става има сумати хора онлайн брояча се върти здраво и нещата са нормално, но друг път БАМ и блокира обикновено при натоварване но днес се случи и при 50 човека онлайн което е нищо.

Не знам какво да мисля вече пратих им същите данни и на хоста да видим какво ще кажат. Най-често проблема е че се поврежда базата данни и почва да се рестартва бавно сървъра даже през SSH едвам успявам да вляза и да свърша каквото и да е било.

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

Може да се окаже че няма нищо общо с конфигурацията.
 
дупал с 3500 посетители с дисков кеш активиран със апц ама през кейдж фс само за него си със средно 20000 импресии на ден със спици до 80 000 рядко но ги има по често до 40 000 импресии (измерени през Logaholic) със клауд линукс стандартно разделение за акаунта 25% 1 ncpu = изплозва това което е по малко за макс при 8 threads cpu = 8 ncpu = 1451 mhz макс използва устоичиво 25% от тези 1451 като си прави спици на цпу до 100% ама сайта го блъскат от време на време... такава му е нишата...

чисто теоритично трябва да се сместиш зависи как виртуално са разцепени ядрата де :) щото клауд индустрията там е балона във мегехерците на vcpu :)
 
От: Колко RAM да заделя за MySQL

Тоя cloud ме разочарова още в началото, както ми го обясняваха това auto scaling разбрах по приказките им че може да си извикват ресурси при поискване. А то какво се оказа че може ама трябва рестарт и след това няма вариант да се върнат до предишните освен ръчно, при което пак трябва рестарт естествено.

Тези виртуализации ли не струват ние ли не нацелихме фирмата не знам. Същия сайт преди беше на VPS с инсталиран https://drupal.org/project/boost който на практика почти не му трябва php и пак блокираше. Та решихме заради auto scaling а да го преместим на cloud и то какво се оказа накрая, нещата вземат да стават още по зле.
 
От: Колко RAM да заделя за MySQL

Ами пращай ги направо конфовете да видя за какво става въпрос, може да замажат леко положението за известно време че в момента е ужас направо от няколко дена не съм спал цяла вечер бачкам по тестовия да пооправя нещата и на следващия ден като падне няколко пъти и като почнат да ми звънят ядосани хора става голяма веселба. Но честно да ти кажа не очаквам вече с настройки да се оправят нещата защото вчера 50 човека онлайн дето сме стигали до 400 с много по малко параметри и сайта го няма. По скоро май става въпрос за хардуерен проблем, но знае ли човек един път по малко да падне няколко часа съм повече :)
 
От: Колко RAM да заделя за MySQL

С такива параметри би трябвало да нямаш проблем.
Ако можеш или ти се занимава още,си качи сайтовете на впс примерно и виж там какво е положението.
Или намери някой да свърши работата вместо теб (открие/реши проблема),изобщо варианти много :)

п.п иначе суапа се изчислява обикновенно 2-3 x RAM .
 
От: От: Колко RAM да заделя за MySQL

п.п иначе суапа се изчислява обикновенно 2-3 x RAM .

Не приказвай глупости да подвеждаш хората. Ако сървъра има 500GB рам ще заделиш 1TB swap от райд масива ли? Ако е райд10 смятай само колко ще ми струва този swap :-o Единствено при десктоп машините е нужен swap колкото рамта и то само ако ти трябва hibernate.
 
От: Колко RAM да заделя за MySQL

cyperpower това е от работещ друпал с php-fpm и nginx

php-fpm
Код:
[user]
listen = 127.0.0.1:57000
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
user = потребител
group = група
pm = dynamic
pm.max_children = 6
pm.start_servers = 4
pm.min_spare_servers = 2
pm.max_spare_servers = 4
pm.max_requests = 1000
;pm.status_path = /status
;ping.path = /ping
;ping.response = pong
request_terminate_timeout = 120s
request_slowlog_timeout = 30s
slowlog = /var/log/php-fpm/slow.log
rlimit_files = 1024
rlimit_core = 0
;chroot =
;chdir = /var/www
catch_workers_output = yes
security.limit_extensions = .php .php3 .php4 .php5

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f [email protected]
;php_flag[display_errors] = off
php_admin_value[error_log] = /var/log/php-fpm/error.log
php_admin_value[session.save_path] = /var/lib/php/session
php_admin_flag[log_errors] = on
php_admin_value[memory_limit] = 64M

Конфа за Nginx е стандартен. Мисля по-нагоре го пусках.
 
От: От: Колко RAM да заделя за MySQL

Не приказвай глупости да подвеждаш хората. Ако сървъра има 500GB рам ще заделиш 1TB swap от райд масива ли? Ако е райд10 смятай само колко ще ми струва този swap :-o Единствено при десктоп машините е нужен swap колкото рамта и то само ако ти трябва hibernate.

Аз не мисля точно така :)
Размера на swap се изчислява приблизително два/три пъти размера на основната памет на системи с по-малко от 4GB RAM и размера на основната памет за системи с повече от 4GB RAM.
 
От: От: Колко RAM да заделя за MySQL

Аз не мисля точно така :)
Размера на swap се изчислява приблизително два/три пъти размера на основната памет на системи с по-малко от 4GB RAM и размера на основната памет за системи с повече от 4GB RAM.

https://access.redhat.com/site/docu...nux/5/html/Deployment_Guide/ch-swapspace.html

In years past, the recommended amount of swap space increased linearly with the amount of RAM in the system. But because the amount of memory in modern systems has increased into the hundreds of gigabytes, it is now recognized that the amount of swap space that a system needs is a function of the memory workload running on that system.

Аз лично се опитвам да отбягвам влизането в swap. Прекалено бавен е дори да го mount-неш на SSD, пък и SSD-то ще се съсипе за нула време. Рамта е евтина.

@kokaracha - прочети линка към документацията на RedHat.
 
Последно редактирано:
От: Колко RAM да заделя за MySQL

Да де ама в случая питането е друго, a не какво предпочиташ ти :)
 
От: Колко RAM да заделя за MySQL

Да де ама в случая питането е друго, a не какво предпочиташ ти :)

Recommended System Swap Space

swap.png

РедХат препоръчват тези стойности. С тях съм съгласен. Но не и при (примерно) 500Gb памет да заделя за swap 500Gb или 1TB :wink: Предпочитанието ми е нещо съвсем друго.
 
От: Колко RAM да заделя за MySQL

Аз когато съм трябвало съм чел,сега е твой ред :) Похвално е,че се интересуваш и образоваш.
 
От: Колко RAM да заделя за MySQL

Човече, вместо да търсиш начини за скалиране на впс-а си, продължавай да търсиш къде е проблема. Едва ли е в сървъра, щом един път работи, а друг път не работи (при долу-горе еднакъв трафик). Някой по-напред беше писал да си погледнеш slow-log-а от mysql-а (това, че си го изтрил щото е имало много спам вътре, а той не се е напълнил, означава, че трябва да рестартираш Mysql-а ... неможе просто така да триеш логове).
Други съвети: Разгледай кроновете (crontabs, cronjobs), възможно е сървъра да умира точно когато се стартира някой "мазен" крон скрипт. Виж си .php скриптовете, възможно е при определен случай, някой скрипт да loop-ва и да зацикля докато не ти умре сървъра. Когато сървъра е натоварен, ползвай "top" или "htop" за да видиш кой/кое го натоварва най-много. И не на последно място, се поинтересувай каква точно виртуализация ти предлагат тези пичове от които си вземаш сървъра (от впс до впс има голяма разлика). Също така провери дали hdd на машината работи що-годе нормално. Disk I/O е най-големия проблем на впс-ите. Провери какви скорости постигаш за disk read/write (ползвай "dd").
 
От: Колко RAM да заделя за MySQL

Здравей ssh22

Проблема го реших отдавна, оказа се че един файл е бил с грешен user, root вместо mysql и като крашне базата данни временните tmp файлове ги отваряше и тях с root и mylsql после не успяваше да си завърши auto repair. Това беше основната причина да пада сървъра, но като цяло и конфигурацията много куцаше и направо сменихме и хостинга и в момента всичко върви идеално.
 

Горе