Шта да радим ако Нгинк сервер има велико оптерећење процесора и процесну меморију?

Да ли сте изненада на послу открили да је употреба процесора Нгинк-а нагло порасла? Да ствар буде гора, Нгинк-ови вишеструки радни процеси троше ресурсе као луди сваки пут када погледам процесе.

Када видите ову сцену, глава вам се загреје и не можете да не викнете: "О мој Боже, да ли ће сервер експлодирати, то не значи да ће ваш сервер бити "готов", али Нгинк Потребно нам је да урадите свеобухватну оптимизацију!

Анализа узрока прекомерног оптерећења Нгинк-а

Шта да радим ако Нгинк сервер има велико оптерећење процесора и процесну меморију?

Прво, морамо да схватимо,Зашто се Нгинк одједном „исцрпљује“?Постоји много разлога за проблем, не плашите се, хајде да сазнамо заједно у наставку.

1. Неразумна конфигурација

У Нгинк конфигурационој датотеци, најважнија тачка је worker_processes. Овај параметар одређује број процеса које покреће Нгинк.

  • Ако конфигуришете премало радних процеса, оптерећење ЦПУ-а ће порасти, ако конфигуришете превише, неће бити довољно меморије.
  • Морате пронаћи тачку равнотеже, нпр.Подесите воркер_процессес на 1 до 2 пута већи број ЦПУ језгара.
  • Ако имате 4 језгра, покушајте worker_processes 4 Или га поставите директно на auto.

2. Посете се повећавају

Понекад, Нгинк-ово оптерећење изненада нагло порасте, не зато што сте направили грешку, већ зато што је број посета превелик.Веома истовремени захтеви за приступ ће довести до преоптерећења Нгинк радног процеса., сваки процес је преоптерећен, а ЦПУ и меморија су такође пуни. У овом тренутку, можда ћете морати да побољшате ресурсе сервера, као што је повећање броја ЦПУ језгара или повећање меморије. Наравно, ово је такође подсетник: не заборавите да размислите о ослобађању ЦДН-а или балансирању оптерећења.

3. Наишли су на злонамерне нападе

Бити „веома популаран“ на Интернету није увек добра ствар. Ако установите да је употреба ЦПУ-а ненормално висока и да је извор ИП захтева сумњив, врло је вероватно да ваша веб локација пати од ДДоС напада. у ово време,Морате одмах да поставите заштитни зид или ограничите учесталост приступа, као што је коришћење тренутног ограничавајућег модула који долази са Нгинк-ом или постављање црне листе ИП адреса.

Како решити проблем велике употребе меморије Нгинк процеса?

Дакле, питање је зашто радни процес Нгинк-а заузима толико ресурса? Морамо да почнемо са конфигурацијом и да је оптимизујемо корак по корак.

Метод конфигурације

  1. Отворите Нгинк конфигурациону датотеку: Обично се главна конфигурациона датотека Нгинк-а налази на /etc/nginx/nginx.conf.

  2. Подесити worker_processes: Пронађено у конфигурационој датотеци events блокови, подешавања worker_processes вредност. ако не events блок, потребно је да га креирате.

    nginx
    events {
    worker_connections 1024;
    use epoll;  # 或者适用于操作系统的其他事件模型
    }

1. Правилно подешене воркер_цоннецтионс

нгинк worker_connections Параметар одређује максималан број веза које сваки радни процес може да обради. Ако је премали, то ће утицати на перформансе истовремености, ако је превелико, може потрошити превише ресурса.

Како израчунати одговарајућу вредност?

Под претпоставком да имате 4-језгарни ЦПУ и 16 ГБ РАМ-а, сигурна полазна тачка је worker_connections 4096.

Али ако ваша веб локација има много саобраћаја, размислите о повећању ове вредности на 8192 како бисте били сигурни да сваки процес може да обради довољно захтева.

events {
    worker_connections 8192;
}

На овај начин ће Нгинк-ова процесорска снага бити знатно побољшана.

2. Подесите кеепаливе_тимеоут

Још један кључни параметар за Нгинк за обраду захтева је keepalive_timeout.

Ова поставка одређује колико дуго може да се одржава веза клијента са сервером.

Ако је постављен предуго, заузеће превише ресурса везе..

Можете покушати keepalive_timeout Поставите на 15 секунди да бисте одржали везу и ослободили ресурсе.

keepalive_timeout 15;

3. Оптимизујте ограничења дескриптора датотеке

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

Ако Нгинк треба да обради велики број датотека (као што су статички ресурси), можда ћете видети грешку од Нгинк-а, која тражи „too many open files".

можете проћи worker_rlimit_nofile Повећајте ограничење дескриптора датотеке, на пример, постављен на 65535.

worker_rlimit_nofile 65535;

4. Омогућите кеширање и гзип

Кеширање и компресија су два кључа за оптимизацију перформанси веб локације.

Омогућавањем Нгинк-ове функције кеширања, статички ресурси (као што су слике и ЈС датотеке) могу бити кеширани у меморији, чиме се значајно смањује оптерећење сервера.

Поред тога, укључивање функције гзип компресије може смањити количину пренетих података и побољшати брзину веб локације.

gzip on;
gzip_types text/plain application/javascript;

5. Анализирајте коришћење Нгинк ресурса

Коначно, ако сте завршили све горе наведене оптимизације, али Нгинк и даље заузима много ЦПУ-а, можда ћете морати да користите неке алате за дубинску анализу.

使用 top Или htop Погледајте потрошњу ресурса процеса у реалном времену,пасс strace Пратите системске позиве или користите nmon Генеришите извештаје о учинку. Само свеобухватном анализом стварног рада Нгинк-а можемо извршити прецизније подешавање.

总结

Не паничите када Нгинк-ова употреба ЦПУ-а нагло порасте. То може бити само узроковано неправилном конфигурацијом или претераним саобраћајем.

кроз разумна прилагођавања worker_processesworker_connectionsОмогућавањем кеширања, оптимизацијом временских ограничења и дескрипторима датотека, можете значајно смањити притисак на Нгинк.

Нгинк је моћан веб сервер који, када је правилно оптимизован, може да пружи одличне перформансе за вашу веб локацију.

Запамтите, на сва питања можете одговоритиСциенцеметоде да се то реши, оптимизација перформанси сервера није изузетак.

Пратити и прилагођавати на време, је кључ за ефикасан рад Нгинк-а. Ако можете да савладате ове технике, ваша веб локација ће бити безбедна чак и када се суочите са великим прометом или злонамерним нападима.

Надам се да вас је овај чланак инспирисао, пожурите и оптимизујте свој Нгинк!

Блог Хопе Цхен Веилианг ( https://www.chenweiliang.com/ ) дели „Шта да радим ако су оптерећење процесора Нгинк сервера и употреба процесне меморије високи?“ 》, од помоћи.

Добродошли да поделите везу овог чланка:https://www.chenweiliang.com/cwl-32093.html

Да бисте открили још скривених трикова🔑, добродошли да се придружите нашем Телеграм каналу!

Поделите и лајкујте ако вам се свиђа! Ваша дељења и лајкови су наша стална мотивација!

 

评论

Ваша емаил адреса неће бити објављена. Обавезна поља се користе * Ознака

Дођите на врх