Entry Process лимиті (EP-қосылымдар) деген не
Веб-серверлерге DDoS-шабуылдардың алдын алу үшін Entry Process технологиясы жасалды — бұл кіріс процестерін, яғни бір мезгілде орындалатын PHP скрипттерінің санын шектеу. Веб-серверге жасалатын ең белгілі шабуылдардың бірі — сервердің жұмысын баяулатып, тіпті істен шығаруы мүмкін бірнеше HTTP-қосылым құру. Кіру процестерінің шегі немесе Apache-тің бір мезгілдегі қосылымдарын шектеу серверге жасалатын DDoS-шабуылдардың әсерін азайту үшін жасалған. Бір мезгілдегі қосылымдар саны шегіне жеткен бойда сервер «Достигнут предел ресурса 508» (Ресурс шегіне жетті, 508) қатесі бар бетті қайтарады.
Көпшілік кіріс процестерін веб-сайтқа тартуға болатын келушілер санымен шатастырады — бірақ олай емес. Біз ұсынатын хостингте мыналар бар:
- бір мезгілдегі EP-қосылымдарға арналған лимит;
- белсенді процестер санына арналған лимит.
Белсенді процестер санына қойылатын лимитпен бәрі түсінікті — ол шектеуде көрсетілген ең көп процесс санының жұмыс істеуіне мүмкіндік береді. Apache-тің барлық слоттары таусылғаннан кейін серверге жаңа қосылымдар мүмкін болмай қалады, бұл оның ажыратылуына әкеледі. Бұл жағдайда орталық процессордың жүктемесі жоғары, ал Apache беттерге қызмет көрсету жылдамдығы төмен болады.
Entry Process (EP-қосылымдар) жұмыс істеу принципі
CloudLinux — хостингтер үшін ең танымал операциялық жүйе, ал Entry Process — оның LVE (Lightweight Virtual Environment) виртуалды ортасы функциясының конфигурацияларының бірі. Entry Process технологиясы LVE виртуалды ортасына кірулердің ең көп санын бақылайды. Бұл EP есептегішінің әрбір жеке келуші немесе виртуалды ортаның процесі кірген сайын артатынын, ал әрбір келуші немесе процесс LVE-ден шыққан сайын азаятынын білдіреді.
Веб-хостингтің кіріс процестерінің лимиті — хостинг тіркелгісі өңдей алатын бір мезгілде іске қосылған процестердің ең көп саны. Негізінен веб-серверге жасалған сұрау лезде аяқталады, Entry Process лимитінен асу болмайды, сондықтан секундына 110 қосылымның өзі веб-сайттың жұмысына әсер ете алмайды.
Веб-серверге PHP арқылы жасалатын кез келген сұрау LSPHP процесін тудырады — өңдеуші сұраудың нәтижесін клиенттің браузеріне қайтарады. Егер тіркелгіде мәселелер болмаса, процесс небәрі 250–300 мс ішінде аяқталады. Процестің аяқталуы 1 секундқа дейін кешіксе, іске қосылған EP-қосылымдар саны 1-ге артады. Одан әрі серверге жасалған әрбір келесі сұрау 1 секундтан ұзақ жұмыс істейтін процестердің пайда болуына әкеледі. Есептегіш функционалда көрсетілген лимитке жеткенде, ресурс құлайды.
Сонымен, хостингіңізге кіру процесінің лимиті 20 болса, бұл 20 келушінің порталыңызды секундтың үлесінде бір мезгілде аша алатынын білдіреді. Дәл осындай шектеу процессор мен скрипттердің дұрыс жұмыс істеуі үшін оңтайлы болып табылады және тәулігіне шамамен 1,2 миллион келушіге мәселесіз қызмет көрсетуге мүмкіндік береді.
Мәселелер бірнеше жағдайда туындайды:
- процессордың баяу жұмыс істеуі;
- аккаунт процессорына шекті жүктеме түсуі, соның салдарынан веб-сервер арқылы іске қосылатын процестер өте баяу өңделеді;
- DDoS-шабуылдың http-flood түрінің пайда болуы — сайтқа секундына өте көп сұрау жіберілуі;
- PHP скрипті іске қосқан қосымша процестер.
Entry Process технологиясының жұмыс істеу принципін толығырақ зерттегісі келетіндер CloudLinux-тың ресми құжаттамасымен таныса алады.