Интърнъл Сървър Ерор 500

mantaman

Well-Known Member
На едни клиенти от около месец един БГ хостинг с реселърски план почна да им дава тази грешка и се почнаха едни безкрайни разправавии с хостинг компанията.

Реселърският акаунт като цяло не е натоварен и полза едва 20-30% от ресурсите за които плащат реално го държат само заради един важен за тях сайт - Проблема идва от виртуалната памет която е лимитирана на 350 мегабайта - Показва че средно се ползва около 60-80 обаче поради някакви причини от време на време пиково удря 350 и сайта умира.

По сайта нищо не е правено от месеци - преди около месец от контрол панела му бяха включили Гзип компресия което съвпада приблизително с появяването на грешката и те го изключиха обаче грешката продължава да си се показва. Освен това на същият хостинг има копие на въпросният сайт което е правено преди половин година и при него също се явява тази грешка.

От хостинг компанията твърдят че проблема е във сайта - Хората питат добре защо тогава този проблем не го е правило преди 2-3 месеца и защо се проявява и на копие правено преди няколко месеца, както и на останалите сайтове на хоста на различни платформи.

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

Какво може да са сътворили този път - Предполагам че ресурса който стои свободен на реселърският хостинг ги изкушава да правят разни магарии
 
Какъв е сетъпа на хоста и пхп то и какъв е скрипта? (phpinfo) от тук се почва и се рови какво може да се оптимизира (както и какъв е скрипта на клиентите) - дългия и правилния начин
а иначе ерор 500 може да дава и от кофти права на файловете, и още една камара причини се сещам... като знаем каква е хостинг средата и клиентския скрипт може и някакво кеширане да се измисли....

по принцип риселрските хостинги сетъпват клиентски акаунти с лимитие (не диск и бандуаит другите лимити) на най малкия план на компанията майка или някакви близки лимити на ресурси (ако хостинга има пълен комплект лимити на ресурсите за цпу, база данни и пхп, IO, ) лейм решение без да се ръчнка много което е лесно за пробване от риселъррския акаунт създай още един клиентски акаунт и премести базата данни в него като е на един сървър пак си се конектва на локал хост с юзер и парола ( не гарантирам че ще помогне но ме е вадило преди години от проблеми на хостгейтъра да не ми мрънкат) (базата си ползва ресурсните лимити на едния, пхп-то на другия)



пп натоварването може да идва и от кофти бот или скрейпър който се появява периодично (може и клауд флеър да се активира на сайта) и да се види какво ще стане

ама без подобности трудно да препоръчам нещо

поне едно phpinfo() e хубаво да видим
 
От: Интърнъл Сървър Ерор 500

Виртуална памет? dafuq? Предполагам искаш да кажеш памет заделена за пхп процесите. Ако проблема е в това ще пише в логовете.

Виж в error log-a от сървъра, той ще ти даде представа какво става. Ако не покаже нищо интересно накарай хостинга да вдигнат LogLevel. Останалото е догадки без лог.
 
От: Интърнъл Сървър Ерор 500

Стефанов гледам статистиките и там една от графиките е Virtual memory usage - И се вижда как от време на време рязко удря максумума и тогава се появява въпросната грешка а това отдолу е обичайните грешки които се натрупват в ерор лога



[Tue Nov 05 10:56:31 2013] [error] [client 94.26.18.9] File does not exist: /home/потребител/public_html/500.shtml, referer: http://www.сайта.com/index.php?main_page=checkout_payment

[Tue Nov 05 10:56:31 2013] [error] [client 94.26.18.9] (12)Cannot allocate memory: couldn't create child process: /opt/suphp/sbin/suphp for /home/потребител/public_html/index.php, referer: http://www.сайта.com/index.php?main_page=checkout_payment

[Tue Nov 05 10:49:56 2013] [error] [client 94.26.18.9] File does not exist: /home/потребител/public_html/500.shtml, referer: http://www.сайта.com/index.php?main_page=index&cPath=18&zenid=0d707eb54544ed2221d45cb7a5b40aae

[Tue Nov 05 10:49:56 2013] [error] [client 94.26.18.9] (12)Cannot allocate memory: couldn't create child process: /opt/suphp/sbin/suphp for /home/потребител/public_html/index.php, referer: http://www.сайта.com/index.php?main_page=index&cPath=18&zenid=0d707eb54544ed2221d45cb7a5b40aae

Как може да се провери какво натоварва паметта и възможно ли е някой от останалите сайтове на реселърският хостинг да му е станало нещо и да се товари и това да дава отражение на останалите сайтове
 
как е нагласени сайтовете? по един сайт в клиентски акаунт ? риселръския акаунт създава акунти с даден лимити няма общ лимит (освен за диск спейс и бандуеит за риселърския)

ако създадеш 10 клиентски акаунта и сложиш по един сайт във всеки 1 сайт сам за себеси ще има да речем по 30 минути цпу за всекй сайт и по 350 мегабайта рам за всеки ( и например ако дават 30 процеса едновременно ) по 30 процеса на всеки сайт

ако сложиш 10 сайта в един клиентски акаунт под риселърския всичките общо 10 са ще могат да имат общо 30 минути цпу и 350 мб преди лимитите да заработят (и 30 процеса за всичките 10 сайта)

ако лимитите не ти стигат за 1 клиентски акаунт го споменах номера за с местенето на базата във втори... те и затова риселърските са по скъпи точно защото нямаш общ лимит и като се знае че повечето сайтове ползват 100 - 200 мб спейс може да си ги нацъкаш много стига да ги събираш в малките ограничения който компанията е наложила

(но е хибаво да се види какво е ) кой е скрипта да предложим кеширане ?

Ползваемоста не е нормална за скрипта предприемач в suphp среда ползва между 68 и 108 мегабаита рам за пхп ...
 
От: Re: Интърнъл Сървър Ерор 500

Проверете суапа на хоста. Virtual Memory е swap и няма общо с memory_limit, освен че ще прави проблеми ако рамта не е достатъчна. php процесите крашват, защото няма достатъчно памет. От там и cannot allocate memory: couldn't create child process. На мен ми бие на проблем с паметта на сървъра. Ако грешката беше свързана с memory_limit щеше да бъде нещо от сорта на: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)

П.П. - възможно е да е и някоя глупост като RLimitMEM
 
Различните сърчове казват различни причини едното е апача да има лимит на паметта и тя да свършва като цяло точно rlimitmem (доставчиците който не са на клауд линукс си го ползват за създаване на подобни ограничения–
http://forums.cpanel.net/f5/500-internal-server-error-328461.html

другото казва точно базата и броя връзки към нея ти товари паметта

http://stackoverflow.com/questions/...dnt-create-child-process-opt-suphp-sbin-suphp

преместването на базата в друг клиентки акаунт (под риселърския) както казах вчера.... ще раздели двата лимита на паметта ще си имаш 350мб за пхп и отделно 350мб за връзките към базата
 
От: Интърнъл Сървър Ерор 500

Мерси много за включването и на двамата

Да всеки сайт е със собствен акаунт и от хостинга твърдят това което и вие казвате че не е възможно проблема от един сайт да се прехвърли на друг

Решението дето дава Кулайс с преместване на базата не мисля че в случаят ще помогне защото общото натоварване не е голямо средно е около 50мб и предполагам че дори и да го преместя пак без проблем ще удря лимита от 350мб - Вероятно можеше да помогне ако средното натоварване беше около 300мб и просото не му стигаше памет от време на време.

Ето и снимка на типична ситуация с грешка паметта удря лимита и почва да дава грешка както можете да видите иначе сайта не е натоварен прави по около 500 уникални на ден не мисля че това може да му е проблем

host.jpg
 
От: Интърнъл Сървър Ерор 500

А възможно ли е тогава да минава някакъв бот или cron процес да се стартира инцидентно и рам-та да отива на кино?

Имах едни приятели чиито сайт се сриваше във вторник около 16:00. Всеки вторник и винаги около 16:00. Рестартираха сървъра и пак се сриваше. Оказа се че има любопитен бот който идва и правеше по 10-тина конекции на секунда.

Та във тази връзка - вижте какво се случва малко преди забива - лог файлове и т.н.
 
От: Интърнъл Сървър Ерор 500

Не ми се вярва да е от бот защото аз мога да го забивам всеки път когато набия по няколко по бързи клика
 
центос 5 е нали? аз не харесвам как се мерят при него ресурсите само на vmem бях пускал тема преди време за Cloud Linux и vmem, на центос 6 няма въобще така да скача до тези 350 мб (това което дадох за форума по горе под suphp e physical memory)

Спиране Употребата на VMEM?



защо я пуснах тази тема тогава ами предприемача си седеше в 300 рам (да кажем там някъде и не мърдаше много във fcgi mod) ама vmem ходеше до гигабайт и половина (рязко понякога) при натоварване.... центос 5 е само на vmem ако те преместят на cloud linux система с centos 6 и конфигуриарана както препоръчва Игор Селетски - големия шеф на Cloud Linux -(със спрян вмем) съм сигурен че няма да ги удариш лимита от 350 мегабайта


Иначе някакво кеширане като се пусне трябва да го облекчи... какъв е скрипта? и все си мисля че това с базата ще помогне донякъде... правиш дъм правиш друг акаунт качваш дъмпа ( в последните цпанели имаше някаква опция да се местя межу акаунтите бази ама не съм го тествал) сменяш в конг фаила името на новата база гледаш...
 
От: Интърнъл Сървър Ерор 500

Сега говорих с хостинга и казаха че ще може да пробват да спрат виртуалната памет и да бачка само на физическата - ще видим какъв ще е резултата

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

Сега разглеждам VPS Хостинги и второто на което попаднах https://vpsbg.eu/
ми се струва доста удачно - има ли някаква уловка - ВЗ Про - гледам 24лв - на Реселърския плащат по около 50лв на месец - И на двата диска е по 50гб и трафика по 1000гб трафик - На ВЗ Прото обаче със сигурност май му е повече паметта и процесора не знам обаче как седи въпросът ако трябва да му се инсталира реселърски цпанел
 
Последно редактирано:
Ами ако го настроят така с изключен вмем мисля че ще заспи (и да кажа че с рисеръа докато ти свърши мястото може да правиш 100 мб акаунтчета) всички с еднакви лимити... :)

Иначе 26 лева някъде за цпанела впс версията преставлява пълен whm и може да си създаваш колкото искаш риселъри въпроса е трябва ли ти :) (но имаш генерален лимит на впс-а а не като сега малки лимитчета на всеки клиентски акаунт) и да знаеш че само с цпанел няма да имаш пълната изолация между акаунтите която дава калуд линукс и лесното ограничаване на ресурсите а дори и да ти се дават 14 долара на месец (за 1вия и по 10 за следващите) още за него на OpenVZ vps няма да става трябва ти пълна виртуализация KVM или Xen VPS

но пък на впс или сървър ще можеш да предложиш не само suphp което товари cpu повече ами fcgi / fpm (но пък ти трябва повече рам - но пък ще е по бързо и ще товари по малко цпу)
 
От: Интърнъл Сървър Ерор 500

Най накрая след 1 месец разправии си оправиха нещата

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

Увеличиха обаче лимита на виртуалната памет на 500мб и всичко изведнъж заспа - което ми е малко съмнително защото сега пиковете на виртуалната памет стигат максимум до около 150мб и то при положение че умишлено се опитвам да го забия. Вероятно и още нещо са си оправили ама не смеят да кажат щото цялата фирма от един месец обясняват как проблема бил във сайта.


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

host-2.jpg
 
Екстра че няма проблеми вече...

Иначе това за vmem ми се наби на очи защото ако беше cloudlinux 6ца щеше да имаш и още една графика за pmem графиката (редхет 5, центос 5 cloudlinux 5 цялата памет се упрвлява като вмем - а пмем е експериментална добавено към ядрото от клауд линукс - за CL5 само съм чел незнам какво става с екперименталната добавка на практиака) стария сървър на форума беше с cloudlinux 6ца и го бях забелязал как изяжда vmem без почти да се променя физичексата памент но доста съм го ръчкал предните месеци.. докато си пишет тук си ръчкам и си променям нещо и следя какво правят промените :) така се трупа опит :) с тестови машини не е същото да го натоварят даден сайт (там са синтетични тестове) а хостинг компаниите не могат така да си ръчкат неща на клиентските машини :)

Ако имах петица под ръка щях да пробвам да пресъздам проблема и да налучкам решението ама сега само да кажем че всички трябва да са доволни а компанията трябва да черпи...
 
От: Интърнъл Сървър Ерор 500

Не знам какво трябва да ги правят тия от хостинга щото един месец се подмотваха и се правиха на бити лисици - А през това време на хората конверсията им падна с над 10% заради непрекъснатите грешки дето даваше сървъра.

Благодаря още веднъж на всички които се включиха - дано темата да бъде полезна и на други в бъдеще
 
От: Интърнъл Сървър Ерор 500

Най накрая след 1 месец разправии си оправиха нещата

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

Увеличиха обаче лимита на виртуалната памет на 500мб и всичко изведнъж заспа - което ми е малко съмнително защото сега пиковете на виртуалната памет стигат максимум до около 150мб и то при положение че умишлено се опитвам да го забия. Вероятно и още нещо са си оправили ама не смеят да кажат щото цялата фирма от един месец обясняват как проблема бил във сайта.

Виж файлът 7698

Аз пък така и не разбрах какви са тия щуротии с виртуална памет? Само някой луд ще използва суапа за кеш или каквото и да е било освен спешен случай за да не крашне целият сървър с oom.
 
не просто в клауд линукс 5 няма pmem графа (в по старите си версии и е експериментално в по новите) и vmem не е супапа а как е алокирана паметта цялата е като vmem и нея отчита коректно понеже имало някакъв момет че това е цялата теротично нужна памет според лимитите за всеки процес а не колко се ползва реално в момента (тряба да поровя за линкове) понеже само съм чел за това и пиша по спомени (най много да се изложа ама не съм ползвал 5ца) аз ползвах CL 6 цатата и си дизеибълнах този vmem след като видях как скача в нищото (а реално не суапва)

http://docs.cloudlinux.com/index.html?memory_limits.html
Virtual memory limit corresponds to the amount of memory processes can allocate within LVE. You can see individual process virtual memory usage by monitoring VIRT column in top output for the process.


http://www.cloudlinux.com/solutions/forum/forum11/topic442/
 
Последно редактирано от модератор:

Горе