Ma mõõtsin maksimaalset arvu juhtumeid, mida veebiserver (Apache) suudab VPS-i rendiserveri abil üheaegselt käsitleda.


Avaldamise kuupäev:31. detsember 2020.



INFOMARTION > Ma mõõtsin maksimaalset arvu juhtumeid, mida veebiserver (Apache) suudab VPS-i rendiserveri abil üheaegselt käsitleda.

Ülevaade.

Olen mõõtnud maksimaalset arvu juhtumeid, mida veebiserver (Apache) suudab korraga töödelda, ja sooviksin kirjutada tulemustest. Meid huvitas maksimaalne teenindatavate taotluste arv, seega viisime läbi küsitluse. Kasutage seda VPS-serveri spetsifikatsioonide valimisel.

Seekord viidi mõõtmised läbi ainult WEB (Apache), kuid palun vaadake allpool olevat artiklit mõõtmiste kohta WEB/AP-serveritel (Apache ja Tomcat).

Ma mõõtsin maksimaalset arvu WEB/AP servereid (Apache ja Tomcat), mida VPS rendiserveri abil saab korraga hallata.

Sisukord

  1. mõõtmine
  2. Mõõtmistulemuste üksikasjad
  3. kokkuvõte

1. mõõtmine

1-1. Mõõtmiskeskkond

Järgnevalt on esitatud keskkond, milles mõõtmisi tehakse.

■Rendiserveri teave

CPU2core
memory1GB
SSD50GB

■Teave serveri kohta

OSCentOS 7.4 64bit
VeebiserverApache HTTP Server 2.4.41

1-2. Mõõtmismeetod

Tahaksin seda mõõta JMeteri abil. JMeter on koormuse mõõtmise tööriist, mis töötab Java's. Tööriist võimaldab korraga esitada suure hulga taotlusi. Soovime JMeteri abil järk-järgult suurendada samaaegsete päringute arvu ja suurendada koormust, kuni töötlemisega ei saa enam hakkama.

Eritingimuste hulka kuuluvad.

  • taotluste esitamise intervall・・・5 sek.
  • Samaaegsete taotluste arv・・・10 juhtumit.(Mõõtmisi suurendati järk-järgult 10 juhtumi kaupa.)
  • Aja mõõtmine・・・60 sekundit.

Mõõtmisaeg on "60 sekundit" ja päringu intervall "5 sekundit", seega soovite korduvalt 12 korda (60÷5) süsteemi siseneda.

1-3. mõõtmistulemus

Lõppkokkuvõttes on paljud inimesed huvitatud järeldusest, milliste spetsifikatsioonidega ja kui palju server suudab hakkama saada, seega tahaksin kõigepealt esitada järelduse.

CPU:2core
memory:1GB
SSD:50GB
Üheaegselt saab töödelda kuni 120 taotlust.

Selle mõõtmise tulemused näitasid ülaltoodut. Ülaltoodud tulemustest võib järeldada järgmist. Proovige kasutada seda kriteeriumina serveri spetsifikatsioonide valimisel.

CPU:1core
memory:512MB
SSD:25GB
Üheaegselt saab töödelda kuni 60 taotlust.
CPU:2core
memory:1GB
SSD:50GB
Üheaegselt saab töödelda kuni 120 taotlust.
CPU:3core
memory:2GB
SSD:100GB
Üheaegselt saab töödelda kuni 240 taotlust.

Isegi spetsifikatsioonidega "protsessor: 1 tuum", "mälu: 512 MB" ja "SSD: 25 GB" leiti, et umbes 60-liikmeline süsteem töötab probleemideta.

2. Mõõtmistulemuste üksikasjad

Me oleme mõõtmistulemusi varem kirjeldanud, kuid kui teid huvitab, milliseid tulemusi me oleme kirjeldanud, siis vaadake ka mõõtmistulemuste üksikasju, mida kirjeldatakse edaspidi.

2-1. WEB-serveri (Apache) mõõtmised

Korduvaid taotlusi esitati HTML-formaadis loodud lehekülgede vastu. See on lihtne lehekülg, mis ei sisalda PHP-töötlust ega JavaScripti keerukust.

Mõõtmised näitasid järgmisi tulemusi.

  • 10 samaaegse taotluse puhul⇒OK
  • 20 samaaegse taotluse puhul⇒OK
  • 30 samaaegse taotluse puhul⇒OK
  • 40 samaaegse taotluse puhul⇒OK
  • 50 samaaegse taotluse puhul⇒OK
  • 60 samaaegse taotluse puhul⇒OK
  • 70 samaaegse taotluse puhul⇒OK
  • 80 samaaegse taotluse puhul⇒OK
  • 90 samaaegse taotluse puhul⇒OK
  • 100 samaaegse taotluse puhul⇒OK
  • 110 samaaegset taotlust⇒OK
  • 120 samaaegse taotluse puhul⇒OK
  • 130 samaaegse taotluse puhul⇒NG

Viga tekkis 130. juhtumi puhul. Põhjuseks oli Apache'i ühendusvea. Sel ajal oli serveri seisukord järgmine.

  • CPU kasutamine・・・26%
  • mälukasutusmäär・・・100%

Mälu täielik puudumine oli kitsaskohaks.

Veidi nohiklikumate jaoks on Apache Multi-Processing Module (MPM) konfiguratsioon järgmine. MPM on lihtsalt selgitatud kui seade, millega määratakse, kui palju Apache'ile lubatakse paralleelselt töödelda.

<IfModule mpm_prefork_module>
    StartServers             5
    MinSpareServers          5
    MaxSpareServers         10
    MaxRequestWorkers      250
    MaxConnectionsPerChild   0
</IfModule>

Huvipakkuv seade on "MaxRequestWorkers" jaoks "250". See on maksimaalne arv juhtumeid, mida Apache saab korraga töödelda. '250', nii et 250 juhtumit saab maksimaalselt paralleelselt töödelda, kuid kui vaadata mälukasutust, siis kasutati umbes 8 MB mälu ühe juhtumi kohta.

Tundus, et see kasutab 960 MB mälu (8M x 120 protsessi) ja seadistuse väärtus oli "250", kuid tundus, et rohkem kui "120" protsessi ei olnud võimalik luua.
※Serveri mälu on peaaegu 1G piirini jõudnud.

Serveri tegelikul kasutamisel, kui kaasatakse ka PHP ja Java, on piiriks umbes 100 juhtumit, ja kui ruumi on, saab paralleelselt töödelda 80 juhtumit.

Kui on paigaldatud ja töötab ainult Apache, mille spetsifikatsioonid on "CPU: 2core, mälu: 1GB, SSD: 50GB", siis leiti, et samaaegsete ligipääsude arv "120" on piiriks.

2-2. tasu

Siit edasi muutub see kaalutluseks, kuid kuna mälu on kitsaskoht, siis mälu muutmisel suureneb samaaegselt töödeldavate protsesside arv.

【Kohal.(memory1GB)】

  • memory:1GB
  • Apache'i niitide arv:120 juhtumit
  • Mälu tarbimine niidi kohta Apache'is:8MB
  • Apache mälu tarbimine:960MB(120 juhtumit×8MB)

【pärast muutust(memory2GB)】

  • memory:2GB
  • Apache'i niitide arv:240 juhtumit.
  • Mälu tarbimine niidi kohta Apache'is:8MB
  • Apache mälu tarbimine:1920MB(240 juhtumit.×8MB)

Kui mälu suurendatakse 2 GB-ni, võib olla võimalik kahekordistada juhtude arvu umbes 240 üheaegselt. Kui mälu suurendatakse 3 GB-ni, tundub, et samaaegset töötlemist saab teha rohkem, kuid Apache'i MPM-i "MaxRequestWorkers (maksimaalne samaaegselt töödeldavate juhtumite arv)" on "250", nii et ka siin on vaja häälestamist, kui mälu veelgi suurendatakse. Seevastu, kui mälu vähendatakse poole võrra, oleks see järgmine.

【pärast muutust(memory512GB)】

  • memory:512GB
  • Apache'i niitide arv:60 juhtumit.
  • Mälu tarbimine niidi kohta Apache'is:8MB
  • Apache mälu tarbimine:480MB(60 juhtumit.×8MB)

3. kokkuvõte

Oleme mõõtnud maksimaalset arvu juhtumeid, mida veebiserver (Apache) suudab korraga töödelda. Leiti, et umbes 60-liikmeline süsteem võib probleemideta toimida, kasutades "protsessor: 1 tuum", "mälu: 512 MB" ja "SSD: 25 GB".

Uuring põhineb eeldusel, et ükski teine tarkvara ei tööta marginaalse jõudlusega. Soovitatav on valida spetsifikatsioon, milles on veidi mänguruumi, kuna tegemist on marginaalse väärtusega.

Aitäh, et vaatasite kuni lõpuni.