Veebiserveri optimiseerimine
Autor
Ees-ja perekonnanimi: Madis Mark
Rühm: A22 päevaõpe
Riistvara valik
Kõige tähtsam veebiserveri puhul on HTTP päringute arv sekundis ning arvutitevaheline kosteaeg. See kosteaeg on kulunud aeg päringu ja soovitud HTML-i saatmise lõpu vahel.
Veebiserveri puhul on oluline, et kliendid ei peaks ootama ning veebilehekülje avanemiseks võtaks aega alla sekundi.
Protsessor
HTTP päringu teenuse osutamine ei vaja niivõrd palju protsessori kasutust. Samas kasutamata ressursse saab kindlasti ära kasutada ja pakkida HTTP-d, et veebiserveri transpordikiirust parandada.
Kasutada tuleks igatahes 64-bitist protsessorit, mis ongi Windows Server 2012 eelduseks. Taktsagedusest on tähtsam suurte L2 või L3 protsessori vahemälu olemasolu, mis parandavad jõudlust märgatavalt.
Mälu
Mälu on veebiserveri puhul kõige olulisem. Enamikel veebiserveritel on lehed, mis on teistest populaarsemad ning kõige populaarsemate piltide puhul vahemälu kasutamine parandab HTML vastuste aega meeletult.
Tasub paigaldada vähemalt 4GB püsimälu koos võimaliku 16GB pikendusega, olenevalt tihedalt külastatud lehekülgede ja piltide suurusest.
Saaleala(page file) on soovitatav paigaldada operatsioonisüsteemist eraldi füüsilisele kettale, et saalefail ei kasutaks sama seadet, mis kasutavad teised tihedalt ligipääsetavad failid.
Kõvakettad
Kõvaketaste puhul on kõige olulisem, et lugemise/kirjutamise peade liikumisest tekitatud kosteaeg poleks pikk. Tuleks eelistada ülikiireid SSD kettaid, eriti veebi vahemälu puudumisel.
Võrguseadmed
Windows Server 2012 puhul on vägagi soovituslik kasutada PCI Express (PCIe) võrguseadmeid vastavate pesadega, et vähendada koormust protsessorile. Samuti tasub siinikiiruse piiri vältimiseks kasutada PCIe x8 või kõrgemaid pesasid 10 Gigabit Etherneti adapterite jaoks.
Energiasäästlikkus
Tänapäeval on energiakasutus aina olulisem osa serverite puhul ning tähtis on ressursse võimalikult otstarbekalt kasutada. Windows Server 2012 on õnneks optimiseeritud suurepäraseks energiakasutuseks minimaalse jõudluse mõjuga, nii et enamike juhtude korral ei pea administraator seda manuaalselt veel tuunima.
Operatsioonisüsteemi tavad
- Kui võimalik, siis on soovitatav teha värske Windows-i paigaldus. Tarkvara uuendamine võib jätta alles vanad ja ebasobivad registriseaded ning eelnevalt paigaldatud teenused ja aplikatsioonid, mis ressursse neelavad. Kui kasutatakse teist operatsioonisüsteemi, siis peaks selle teisele kettajaole installeerima.
- Et vähendada ketta poole pöördumiste arvu, tasub süsteemi saalefail, operatsioonisüsteem, veebi andmed, ASP template vahemälu ja IIS(Internet Information Services) logifail hoida eraldi füüsilistel ketastel.
- Süsteemi ressursside mõistlikuks jaotuseks on soovitatav paigaldada SQL Server ja IIS eraldi serveritele, kui võimalik.
- Vältige üleliigseid teenuseid ja programme. Mõnikord on mõistlik kasutamata teenused deaktiveerida.
IIS 8.0 optimiseerimine
Internet Information Services (IIS) 8.0 on osa Windows Server 2012-st. Kasutab sarnast protsessi nagu IIS 6.0. Kernel-mode veebidraiver(http.sys) võtab vastu ja suunab HTTP päringuid, ning suudab täita päringuid oma vastuse vahemälult.
IIS 8.0 protsess sõltub kernel-mode veebidraiverist, http.sys, mis on vastutav ühenduste halduse ja vastuste töötlemise eest.
Http.sys sisaldab vastuse vahemälu. Kui päring klapib kirjega vastuse vahemälus, siis http.sys saadab vahemälu vastuse otse kerneli režiimist.
Kuna veebiserveril on olemas nii kerneli režiimi kui ka kasutaja režiimi komponendid, siis on vajalik mõlemaid optimiseerida. Seega IIS 8.0 optimiseerimine hõlmab järgnevate konfigureerimist:
- Http.sys ja seotud kernel-mode vahemälu.
- Worker protsessid ja user-mode IIS, kaasaarvatud aplikatsioonide pool-i seadistamine.
- Mõned jõudlust mõjutavad optimiseerimise parameetrid
Kernel-Mode häälestamine
Jõudlusega seotud http.sys sätted jagunevad kaheks: vahemälu haldus ja ühendus, ning päringuhaldus. Kõiki registri sätteid hoitakse kirjes:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Http\Parameters
NB! Kui HTTP teenus samal ajal töötab, on vaja see seadete värskendamiseks taaskäivitada
Vahemälu halduse sätted
Kasulikud sätted http.sys kernel-mode vahemälu jaoks:
• UriEnableCache (vaikimisi 1)
• UriMaxCacheMegabyteCount (vaikimisi 0)
• UriMaxUriBytes (vaikimisi 262144 bytes)
• UriScavengerPeriod (vaikimisi 120 seconds)
Request and Connection Management Settings
Windows Server 2012 puhul haldab http.sys ühendusi automaatselt, seega pole neid seadeid vaja muuta.
User-Mode häälestamine
User-Mode sätted mõjutavad IIS 8.0 protsesside käitumist. Enamik neist sätetest asub järgnevas XML konfiguratsioonifailis:
%SystemRoot%\system32\inetsrv\config\applicationHost.config
Kasuta Appcmd.exe või IIS 8.0 Management Console-i, et neid muuta. Üldiselt tuvastatakse muutused automaatselt, seega ei ole vaja teha restarti.
User-Mode Cache Behavior Settings
Compression Behavior Settings
Default Document List
Central Binary Logging
Application and Site Tunings
Managing IIS 8.0 Modules
Classic ASP Settings
ASP.NET Concurrency Setting
Worker Process and Recycling Options
Secure Sockets Layer Tuning Parameters
ISAPI
Managed Code Tuning Guidelines
NTFS sätted
Globaalne lüliti NtfsDisableLastAccessUpdate (REG_DWORD) 1 asub:
HKLM\System\CurrentControlSet\Control\FileSystem\
See lüliti vähendab ketta I/O koormust ja kosteaegasid lülitades välja kuupäeva ja kellaaja uuendamise viimase faili või kataloogi pöördumisel. Vaikimis väärtuseks on 1.
Värsked Windows Server 2012, Windows Server 2008 R2 ja Windows Server 2008 paigaldused määravad selle koheselt 1-ks, seega pole sellisel juhul vaja seda muuta. Kui aga on tegemist vanema Windows-i versiooniga või on Windows uuendatud, on vaja ise väärtuseks 1 määrata.
Uuenduste väljalülitamine on efektiivne, kui kasutatakse suurt andmete hulka, mis koosneb tuhandetest kataloogidest.
Networking Subsystem Performance Settings for IIS
Kasutatud kirjandus
1. Performance Tuning Guidelines for Windows Server 2012
2. http://www.dba-oracle.com/t_best_webserver_hardware_configuration.htm