1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Apache яде много RAM. Kaк да се ограничи?

Дискусията в 'Наети Сървъри и VPS' стартирана от D.Ivanov, Май 11, 2013.

  1. D.Ivanov

    D.Ivanov Active Member

    Рег.:
    Юни 7, 2011
    Съобщения:
    718
    Харесвания:
    54
    Точки:
    28
    Пол:
    Мъж
    Място:
    Varna
    Apache-то на един от VPS - ите ми изглежда си взема прекалено много РАМ. Как може това да се ограничат процесите от конфигурационният файл, за да спре това нещо?

    Моля ви се помогнете ми :)
     
  2. kuzmanin

    kuzmanin Member

    Рег.:
    Авг 17, 2008
    Съобщения:
    690
    Харесвания:
    21
    Точки:
    18
    От: Apache яде много RAM. Kaк да се ограничи?

    Можеш да намалиш броя на инстанциите му ето в тази секция на конфиг файла:

    <IfModule prefork.c>
    StartServers ...
    MinSpareServers ...
    MaxSpareServers ...
    ServerLimit ...
    MaxClients ...
    MaxRequestsPerChild ...
    </IfModule>
     
  3. r.stefanov

    r.stefanov New Member

    Рег.:
    Окт 25, 2012
    Съобщения:
    1,119
    Харесвания:
    88
    Точки:
    0
    От: Apache яде много RAM. Kaк да се ограничи?

    Pastebin си конфигурационните файлове, какъв трафик имаш и ще можем да ти помогнем. Иначе трябва да говорим наизуст.

    Ако е конфигуриран като prefork, да.

    Като цяло моето предложение е да замениш Apache. Аз съм фен на Nginx - 20 000 iddle процеса - 4мб рам :)
     
  4. D.Ivanov

    D.Ivanov Active Member

    Рег.:
    Юни 7, 2011
    Съобщения:
    718
    Харесвания:
    54
    Точки:
    28
    Пол:
    Мъж
    Място:
    Varna
    От: Apache яде много RAM. Kaк да се ограничи?

    Благодаря ви за бързите отговори. Трафика въобще не го взимам под внимание, защото имам на този ВПС само 3 сайта, които имат по около 500 посещения дневно.1024 е РАМ на плана ми и още толкова vswap.
    И аз мисля да заменя Апачето с nginx, но понеже сега ползвам един панел безплатен zPanel и затова съм на Апаче.Ще го направя за вбъдеще със сигурност.

    А относно ограничаването на стартиращите сървъри и другите неща ще съм благодарен , ако ми покажете някакви препоръчителни стойности като се има впредвид, че натоварването ще е около 30 сайта с по около 1000 посещения на ден.

    А относно prefork, рових се из нета и гледам, че някои съветват за mpm worker.
     
  5. r.stefanov

    r.stefanov New Member

    Рег.:
    Окт 25, 2012
    Съобщения:
    1,119
    Харесвания:
    88
    Точки:
    0
    От: Apache яде много RAM. Kaк да се ограничи?

    Пусни си тук конфигурационните файлове :wink:

    zPanel нямат модул за Nginx все още, аз съм го тествал доста обстойно.

    Дали да използваш mpm или prefork зависи от много неща. mpm предлага по-добър контрол и по-малко използвани ресурси, но си има своите недостатъци. Ето примери с mpm и prefork.

    <IfModule worker.c>
    StartServers 2
    MaxClients 150
    MinSpareThreads 25
    MaxSpareThreads 75
    ThreadsPerChild 25
    MaxRequestsPerChild 0
    </IfModule>

    <IfModule prefork.c>
    StartServers 8
    MinSpareServers 5
    MaxSpareServers 20
    ServerLimit 256
    MaxClients 256
    MaxRequestsPerChild 4000
    </IfModule>

    Ако мислиш да хостваш 30 сайта на 1024 рам, по-добре зарежи Apache и zPanel от сега, ще си спестиш главоболия.
     
  6. mlazarov

    mlazarov New Member

    Рег.:
    Ян 16, 2008
    Съобщения:
    690
    Харесвания:
    71
    Точки:
    0
    Професия:
    Web Entrepreneur
    Не апачето, а допълнителните модули заредени към него увеличават пометта му.

    r.stefanov ти пак си смяташ по твоя си начин - както ти е изгодно. Защо не включиш в сметката и паметта, заета от php процесите?

    D.Ivanov, каквото и да правиш имай предвид, че и при уеб сървърите е като колите - за да вървят трябва да горят или за да обработват голям обем потребители им трябват процесор и памет. Пропуснал си да кажеш основни неща:
    1. Колко е прекалено много памет?
    2. Колко едновременни потребителя имаш?
    3. С колко/какви процесора разполагаш?

    Без тези данни всякакви вятърничави съвети от сорта на "сменяй колата и бягай" са безпочвени.
     
    ktomov харесва това.
  7. r.stefanov

    r.stefanov New Member

    Рег.:
    Окт 25, 2012
    Съобщения:
    1,119
    Харесвания:
    88
    Точки:
    0
    От: Re: Apache яде много RAM. Kaк да се ограничи?

    Не ми е по-изгодно, отнело ми е много време да разбера някои неща и куп тестове. Ако смени web сървъра ще изкара 50 пъти повече производителност (буквално) от същия VPS. Колкото и да режеш Apache той си е memory hog (не ми идва на български думата). Всеки малко или много престрашил се да го замени знае, че е така и изобщо не зависи от това колко модула си заредил. Резултатите накрая ще са същите (с някакви минимални проценти подобрение ако "оптимизираш" Апача).

    П.П. - да пусне конфигурационните файлове и ще му кажем какво да направи.

    П.П.2 - 30 сайта с по 1000 посещения на ден сметнато грубо с requests които се очакват от всеки сайт. А сега симулирай тези посещения/trafik с AB, Siege или Tsung. Директно можеш да прецениш какво ще стане и сам да си правиш сметката дали да използваш MPM, prefork, Nginx или друго решение. По-добре от сега от колкото по-късно с реалния трафик на лице.

    П.П.3 - ето ти и една съвсем малко демонстрация (не са в local) няма и кеширане пуснато:

    ab -kc 100 -n 100000 към index.php с phpinfo

     
    Последно редактирано: Май 11, 2013
  8. D.Ivanov

    D.Ivanov Active Member

    Рег.:
    Юни 7, 2011
    Съобщения:
    718
    Харесвания:
    54
    Точки:
    28
    Пол:
    Мъж
    Място:
    Varna
    От: Re: Apache яде много RAM. Kaк да се ограничи?

    VPS-а ми е OpenVS:

    1024MB RAM
    1024MB VSwap
    4 CPU Cores @ 3.3GHz+
    30GB SSD space
    1Gbps Port
    3000GB Bandwidth
    1 IPv4 Address (+1 FREE)
    16 IPv6 Addresses
    Weekly Remote Backups
    TUN/TAP

    Ето малко детайли за това колко РАМ ползва с 3 сайта:

    [root@s2 etc]# free -m
    total used free shared buffers cached
    Mem: 1024 402 621 0 0 59
    -/+ buffers/cache: 342 681
    Swap: 1024 0 1024
    [root@s2 etc]# top
    top - 16:00:00 up 11 min, 1 user, load average: 0.04, 0.01, 0.00
    Tasks: 44 total, 1 running, 43 sleeping, 0 stopped, 0 zombie
    Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
    Mem: 1048576k total, 412080k used, 636496k free, 0k buffers
    Swap: 1048576k total, 0k used, 1048576k free, 61412k cached
     
  9. r.stefanov

    r.stefanov New Member

    Рег.:
    Окт 25, 2012
    Съобщения:
    1,119
    Харесвания:
    88
    Точки:
    0
    От: Apache яде много RAM. Kaк да се ограничи?

    Ето ти един скрипт, с който можеш да проверяваш при всяка конфигурация колко рам ще ти използва Apache: https://code.google.com/p/check-httpd-limits/

    Пробвай различни настройки (mpm, event, prefork), поиграй си с конфовете и сам прецени според нуждите ти.

    Опитай с mod_php FastCGI и php-fpm с php-fpm ще имаш най-добри резултати, но няма да ти е лесно да го конфигурираш.
     
  10. vladinc

    vladinc New Member

    Рег.:
    Ноем 21, 2012
    Съобщения:
    252
    Харесвания:
    24
    Точки:
    0
    Място:
    London
    От: Apache яде много RAM. Kaк да се ограничи?

    Спри си модулите които не ползваш и сложи някакъв кеш за пхп-то , като АПС например..
     
  11. s1yf0x

    s1yf0x Well-Known Member

    Рег.:
    Юни 12, 2012
    Съобщения:
    1,891
    Харесвания:
    385
    Точки:
    83
    Пол:
    Мъж
    Професия:
    System administration
    Място:
    Sliven/Sofia
    От: Apache яде много RAM. Kaк да се ограничи?

    Не го подвеждай. Точно слагането на кеш ще повиши разхода на ram. А как точно установи, че проблема е в броя процеси на апаче?
     
  12. D.Ivanov

    D.Ivanov Active Member

    Рег.:
    Юни 7, 2011
    Съобщения:
    718
    Харесвания:
    54
    Точки:
    28
    Пол:
    Мъж
    Място:
    Varna
    От: Apache яде много RAM. Kaк да се ограничи?

    Благодаря за съветите, ще изпробвам нещата споменати тук и каквото мога да направя самостоятелно. Напълно нов съм в тази сфера и ми е малко трудно отначало, надявам се след няколко месеца да съм по-запознат вече и да действам без панели като цяло.

    Засега обаче ми хрумва и за cPanel.Чудя се, ако го инсталирам дали ще вържа нещата като цяло да мога да работя нормално. Знам, че трябват 512 РАМ за cpanel и точно това сякаш ме спира да го инсталирам. Аз се преместих на ВПС от Хостгатор(бях на shared) и преди да се преместя попитах колко РАМ ползват сайтовете ми(около 35 сайта действащи всичките на wordpress) и от съпорта им казаха, че ползвали около 50-70 МБ, което незнам възможно ли е според вас? :) Ако е така няма да има проблеми да го инстална и да си реша проблема засега. Сайтовете всичките са wordpress, повечето с embed видеа и с около 500-1000 посещения дневно.
     
  13. vladinc

    vladinc New Member

    Рег.:
    Ноем 21, 2012
    Съобщения:
    252
    Харесвания:
    24
    Точки:
    0
    Място:
    London
    От: Apache яде много RAM. Kaк да се ограничи?

    Ами говоря от личен опит.. преди време се борех и аз с подобен проблем ..
    Какво направих : изключих си модулите на апаче които не ползвам и сложих АПЦ кеш за пхп-то , намалих си и броя на spawn процесите
    разликата ?
    [​IMG]
     

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

  14. r.stefanov

    r.stefanov New Member

    Рег.:
    Окт 25, 2012
    Съобщения:
    1,119
    Харесвания:
    88
    Точки:
    0
    От: Apache яде много RAM. Kaк да се ограничи?

    Едва ли 70мб, по принцип самите разработчици на Wordpress препоръчват поне 128 или 256 memory лимит за php. 256 след 3.5.0

    Това е статистика от сайт горе-долу с тези посещения:

    Untitled2.png

    Само че има пуснат full page cache.

    @vladinc той няма проблем с CPU, а с рам. Къде ще пази тази кеш? :wink:
     
  15. vladinc

    vladinc New Member

    Рег.:
    Ноем 21, 2012
    Съобщения:
    252
    Харесвания:
    24
    Точки:
    0
    Място:
    London
    От: Apache яде много RAM. Kaк да се ограничи?

    графиката показва точно разликата в използваната рам .. не говоря за процесор :)
     
  16. r.stefanov

    r.stefanov New Member

    Рег.:
    Окт 25, 2012
    Съобщения:
    1,119
    Харесвания:
    88
    Точки:
    0
    От: Apache яде много RAM. Kaк да се ограничи?

    А, да, извинвай, не обърнах внимание, на много кафета съм :D

    Ама си намалил и spawn-a.

    Преди да опита и да се върне с резултати само си чоплим по клавиатурите :)
     
  17. D.Ivanov

    D.Ivanov Active Member

    Рег.:
    Юни 7, 2011
    Съобщения:
    718
    Харесвания:
    54
    Точки:
    28
    Пол:
    Мъж
    Място:
    Varna
    От: От: Apache яде много RAM. Kaк да се ограничи?

    Тази статистика е за 1 сайт, който ползва над 200 МБ РАМ?
     
  18. vladinc

    vladinc New Member

    Рег.:
    Ноем 21, 2012
    Съобщения:
    252
    Харесвания:
    24
    Точки:
    0
    Място:
    London
    От: Apache яде много RAM. Kaк да се ограничи?

    така е , прав си :)
     
  19. r.stefanov

    r.stefanov New Member

    Рег.:
    Окт 25, 2012
    Съобщения:
    1,119
    Харесвания:
    88
    Точки:
    0
    От: Apache яде много RAM. Kaк да се ограничи?

    Да. Но както казах има full page cache пуснат и така работи много по-бързо.
     
  20. mlazarov

    mlazarov New Member

    Рег.:
    Ян 16, 2008
    Съобщения:
    690
    Харесвания:
    71
    Точки:
    0
    Професия:
    Web Entrepreneur
    Ще помоля колегите да не дават дефолтните си напътствия без да са наясно какъв е проблема - слагане/махане/промяна на какво ли не, а дори не е ясно дали има проблем....Обикновено насоки без яснота са само мечешки услуги и нещата стават по-зле.


    D.Ivanov, защо мислиш, че сървъра/сайта ти използва прекалено много RAM? От пусната информация не виждам нищо фрапиращо или обезпокояващо ;)
    Имаш 1GB рам, а използваш едва 40%.
     
    Последно редактирано: Май 11, 2013

Сподели страницата