Veebiserveri optimiseerimine: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
[[Image:Winserver2012logo.png|center]] | [[Image:Winserver2012logo.png|center]] | ||
= Autor = | |||
Ees-ja perekonnanimi: '''Madis Mark''' | Ees-ja perekonnanimi: '''Madis Mark''' | ||
Line 6: | Line 6: | ||
Rühm: '''A22 päevaõpe''' | 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. | 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. | ||
Line 12: | Line 12: | ||
Veebiserveri puhul on oluline, et kliendid ei peaks ootama ning veebilehekülje avanemiseks võtaks aega alla sekundi. | 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. | 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. | ||
Line 18: | Line 18: | ||
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. | 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. | 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. | ||
Line 26: | Line 26: | ||
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. | 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. | 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. | 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. | 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. | *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. | ||
Line 48: | Line 48: | ||
*Vältige üleliigseid teenuseid ja programme. Mõnikord on mõistlik kasutamata teenused deaktiveerida. | *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. | 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. | ||
Line 64: | Line 64: | ||
*Mõned jõudlust mõjutavad optimiseerimise parameetrid | *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: | Jõudlusega seotud http.sys sätted jagunevad kaheks: vahemälu haldus ja ühendus, ning päringuhaldus. Kõiki registri sätteid hoitakse kirjes: | ||
Line 72: | Line 72: | ||
'''NB!''' Kui HTTP teenus samal ajal töötab, on vaja see seadete värskendamiseks taaskäivitada | '''NB!''' Kui HTTP teenus samal ajal töötab, on vaja see seadete värskendamiseks taaskäivitada | ||
=== Cache Management sätted === | |||
Üks eelis ''http.sys'' puhul on kernel-mode vahemälu olemasolu. Kui HTML-i vastus on vahemälus, siis on võimalik HTTP päring tõita otse kerneli režiimist, mis vähendab tunduvalt CPU kulu. | Üks eelis ''http.sys'' puhul on kernel-mode vahemälu olemasolu. Kui HTML-i vastus on vahemälus, siis on võimalik HTTP päring tõita otse kerneli režiimist, mis vähendab tunduvalt CPU kulu. | ||
Line 86: | Line 86: | ||
* '''UriScavengerPeriod''' (vaikimisi 120 seconds) - Http.sys vahemälu skanneeritakse pidevalt ''scavangeri'' poolt ning kirjed, mille poole skanneerimise ajal ei pöörduta, kustutatakse. Väärtuse suurendamine vähendab skanneeringute arvu, kuigi vahemälu kasutus võib suureneda, sest vähem kasutatud kirjed võivad sinna alles jääda. | * '''UriScavengerPeriod''' (vaikimisi 120 seconds) - Http.sys vahemälu skanneeritakse pidevalt ''scavangeri'' poolt ning kirjed, mille poole skanneerimise ajal ei pöörduta, kustutatakse. Väärtuse suurendamine vähendab skanneeringute arvu, kuigi vahemälu kasutus võib suureneda, sest vähem kasutatud kirjed võivad sinna alles jääda. | ||
=== Request and Connection Management Settings === | |||
Windows Server 2012 puhul haldab ''http.sys'' ühendusi automaatselt, seega pole neid seadeid vaja muuta. | 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: | User-Mode sätted mõjutavad IIS 8.0 protsesside käitumist. Enamik neist sätetest asub järgnevas XML konfiguratsioonifailis: | ||
Line 98: | Line 98: | ||
Kasuta ''Appcmd.exe'' või ''IIS 8.0 Management Console-i'', et neid muuta. Üldiselt tuvastatakse muutused automaatselt, seega ei ole vaja teha restarti. | 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 === | |||
Need sätted mõjutavad IIS 8.0 vahemälu puudutavat käitumist. Et täiesti user-mode vahemälu eemaldada, tuleb kustutada FileCacheModule (cachfile.dll) moodul installeeritud moodulite listist system.webServer/globalModules. | Need sätted mõjutavad IIS 8.0 vahemälu puudutavat käitumist. Et täiesti user-mode vahemälu eemaldada, tuleb kustutada FileCacheModule (cachfile.dll) moodul installeeritud moodulite listist system.webServer/globalModules. | ||
Line 112: | Line 112: | ||
* ''maxResponseSize'' (vaikimisi 262144 bytes) - Paneb kuni kindla suurusega failid vahemällu. | * ''maxResponseSize'' (vaikimisi 262144 bytes) - Paneb kuni kindla suurusega failid vahemällu. | ||
=== Compression Behavior Settings === | |||
Windows Server 2012 puhul pakib IIS 8.0 staatilise sisu automaatselt. Ja kui ''DynamicCompressionModule'' on paigaldatud, pakitakse ka dünaamiline sisu. Pakkimine vähendab ülekandekiirust, aga suurendab CPU kasutust. | Windows Server 2012 puhul pakib IIS 8.0 staatilise sisu automaatselt. Ja kui ''DynamicCompressionModule'' on paigaldatud, pakitakse ka dünaamiline sisu. Pakkimine vähendab ülekandekiirust, aga suurendab CPU kasutust. | ||
Line 139: | Line 139: | ||
'''NB!''' IIS 8.0 serverite puhul, millel on väike keskmine CPU kasutus, tasub pakkimist lubada dünaamilise sisu korral, eriti kui HTML vastused on suured. | '''NB!''' IIS 8.0 serverite puhul, millel on väike keskmine CPU kasutus, tasub pakkimist lubada dünaamilise sisu korral, eriti kui HTML vastused on suured. | ||
=== Default Document List === | |||
See moodul tegeleb HTTP päringutega ja tõlgib need spetsiifilise faili jaoks nagu Default.htm või Index.htm. Kui HTTP päring ei täpsusta failinime, siis see moodul otsib vaikimisi lubatud dokumentide listist. Dokumentide list peaks olema võimalikult väike ja mõistlikult koostatud, et jõudlus kannatada ei saaks. | See moodul tegeleb HTTP päringutega ja tõlgib need spetsiifilise faili jaoks nagu Default.htm või Index.htm. Kui HTTP päring ei täpsusta failinime, siis see moodul otsib vaikimisi lubatud dokumentide listist. Dokumentide list peaks olema võimalikult väike ja mõistlikult koostatud, et jõudlus kannatada ei saaks. | ||
Line 150: | Line 150: | ||
*''<files> element'' (vaikimisi Default.htm, Default.asp, Index.htm, Index.html, Iisstart.htm, Default.aspx) - Määrab failide nimed, mis on seatud paika vaikimisi dokumentidena. | *''<files> element'' (vaikimisi Default.htm, Default.asp, Index.htm, Index.html, Iisstart.htm, Default.aspx) - Määrab failide nimed, mis on seatud paika vaikimisi dokumentidena. | ||
=== Central Binary Logging === | |||
Binary IIS logimine vähendab CPU kasutust, ketta I/O-d ja kettaruumi kasutust. See on suunatud üheainsale failile binaarsüsteemis, mistahes kui suur on majutatud veebisaitide arv. | Binary IIS logimine vähendab CPU kasutust, ketta I/O-d ja kettaruumi kasutust. See on suunatud üheainsale failile binaarsüsteemis, mistahes kui suur on majutatud veebisaitide arv. | ||
Line 161: | Line 161: | ||
*''diretory'' (vaikimisi %SystemDrive%\inetpub\logs\LogFiles) - Määrab kausta, kuhu kirjutatakse logid. | *''diretory'' (vaikimisi %SystemDrive%\inetpub\logs\LogFiles) - Määrab kausta, kuhu kirjutatakse logid. | ||
=== Application and Site Tunings === | |||
=== Managing IIS 8.0 Modules === | |||
IIS 8.0 koosneb paljudest moodulitest, mis on vastavalt vajadusele kohandatavad. Protsessori tsüklite arvu ja mälu on võimalik kokku hoida, kui ebavajalikud moodulid eemaldada. | IIS 8.0 koosneb paljudest moodulitest, mis on vastavalt vajadusele kohandatavad. Protsessori tsüklite arvu ja mälu on võimalik kokku hoida, kui ebavajalikud moodulid eemaldada. | ||
Line 171: | Line 171: | ||
Et eemaldada moodulid ''applicationHost.config'' failist, tuleb eemaldada ka kõik viited moodulile ''system.webServer/handlers'' ja ''system.webServer/modules'' sektsioonidest lisaks ''system.webServer/globalModules'' sektsioonile. | Et eemaldada moodulid ''applicationHost.config'' failist, tuleb eemaldada ka kõik viited moodulile ''system.webServer/handlers'' ja ''system.webServer/modules'' sektsioonidest lisaks ''system.webServer/globalModules'' sektsioonile. | ||
=== Classic ASP Settings === | |||
=== ASP.NET Concurrency Setting === | |||
Vaikimisi piirab ASP.NET päringute kokkulangevust, et vähendada mälu kasutust serveris. Kõrge kokkulangevusega aplikatsioonid võivad vajada veidi kohandamist, et üldist jõudlust parandada. Neid sätteid hoitakse järgneva registrikirje all: | Vaikimisi piirab ASP.NET päringute kokkulangevust, et vähendada mälu kasutust serveris. Kõrge kokkulangevusega aplikatsioonid võivad vajada veidi kohandamist, et üldist jõudlust parandada. Neid sätteid hoitakse järgneva registrikirje all: | ||
Line 180: | Line 180: | ||
*'''MaxConcurrentRequestPerCpu''' (Vaikimisi 5000) - Määrab maksimaalse kokkulangevate päringute arvu. Tasub tõsta suuremaks, kui süsteem jooksutab programme, mis täidavad pikki, sünkroonseid I/O operatsioone, vastasel korral on oodata pikka kosteaega. | *'''MaxConcurrentRequestPerCpu''' (Vaikimisi 5000) - Määrab maksimaalse kokkulangevate päringute arvu. Tasub tõsta suuremaks, kui süsteem jooksutab programme, mis täidavad pikki, sünkroonseid I/O operatsioone, vastasel korral on oodata pikka kosteaega. | ||
=== Worker Process and Recycling Options === | |||
=== Secure Sockets Layer Tuning Parameters === | |||
SSL kujutab endast lisa CPU kulu. Kõige kulukam SSL-i komponent on sessiooni kehtestamise kulu. Samuti võtavad kulu taasühendus, krüpteerimine ja dekrüpteerimine. Paremaks SSL jõudluseks soovitatav: | SSL kujutab endast lisa CPU kulu. Kõige kulukam SSL-i komponent on sessiooni kehtestamise kulu. Samuti võtavad kulu taasühendus, krüpteerimine ja dekrüpteerimine. Paremaks SSL jõudluseks soovitatav: | ||
Line 191: | Line 191: | ||
'''NB!''' Pikemad võtmed pakuvad suuremat turvalisust, kuid kasutavad ka rohkem protsessorit. Samuti ei ole vaja kõike komponente krüpteerida. | '''NB!''' Pikemad võtmed pakuvad suuremat turvalisust, kuid kasutavad ka rohkem protsessorit. Samuti ei ole vaja kõike komponente krüpteerida. | ||
=== ISAPI === | |||
Ei ole vaja spetsiaalset optimiseerimist Internet Server Application Programming Interface aplikatsioonide jaoks. | Ei ole vaja spetsiaalset optimiseerimist Internet Server Application Programming Interface aplikatsioonide jaoks. | ||
=== Managed Code Tuning Guidelines === | |||
= NTFS sätted = | |||
Globaalne lüliti '''NtfsDisableLastAccessUpdate (REG_DWORD) 1''' asub: | Globaalne lüliti '''NtfsDisableLastAccessUpdate (REG_DWORD) 1''' asub: | ||
Line 209: | Line 209: | ||
Uuenduste väljalülitamine on efektiivne, kui kasutatakse suurt andmete hulka, mis koosneb tuhandetest kataloogidest. | Uuenduste väljalülitamine on efektiivne, kui kasutatakse suurt andmete hulka, mis koosneb tuhandetest kataloogidest. | ||
= Networking Subsystem Performance Settings for IIS = | |||
= Kasutatud kirjandus = | |||
1. [http://download.microsoft.com/download/0/0/B/00BE76AF-D340-4759-8ECD-C80BC53B6231/performance-tuning-guidelines-windows-server-2012.docx Performance Tuning Guidelines for Windows Server 2012] | 1. [http://download.microsoft.com/download/0/0/B/00BE76AF-D340-4759-8ECD-C80BC53B6231/performance-tuning-guidelines-windows-server-2012.docx Performance Tuning Guidelines for Windows Server 2012] | ||
2. http://www.dba-oracle.com/t_best_webserver_hardware_configuration.htm | 2. http://www.dba-oracle.com/t_best_webserver_hardware_configuration.htm |
Revision as of 15:05, 10 December 2013
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
Cache Management sätted
Üks eelis http.sys puhul on kernel-mode vahemälu olemasolu. Kui HTML-i vastus on vahemälus, siis on võimalik HTTP päring tõita otse kerneli režiimist, mis vähendab tunduvalt CPU kulu.
Kasulikud sätted http.sys kernel-mode vahemälu jaoks:
- UriEnableCache (vaikimisi 1)
- UriMaxCacheMegabyteCount (vaikimisi 0) - Maksimaalne mälu, mis on saadav kernel-mode vahemälule. Vaikimisi 0 väärtus võimaldab süsteemil automaatselt ise kohanduda.
- UriMaxUriBytes (vaikimisi 262144 bytes) - Maksimaalne kirje suurus vahemälus. Kui on piisavalt mälu, tasub seda limiiti suurendada.
- UriScavengerPeriod (vaikimisi 120 seconds) - Http.sys vahemälu skanneeritakse pidevalt scavangeri poolt ning kirjed, mille poole skanneerimise ajal ei pöörduta, kustutatakse. Väärtuse suurendamine vähendab skanneeringute arvu, kuigi vahemälu kasutus võib suureneda, sest vähem kasutatud kirjed võivad sinna alles jääda.
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
Need sätted mõjutavad IIS 8.0 vahemälu puudutavat käitumist. Et täiesti user-mode vahemälu eemaldada, tuleb kustutada FileCacheModule (cachfile.dll) moodul installeeritud moodulite listist system.webServer/globalModules.
system.webServer/caching:
- Enabled (vaikimisi True) - User-mode IIS vahemälu kasutamine.
- enableKernelCache (vaikimisi True) - Kernel-mode vahemälu kasutamine.
- maxCacheSize (vaikimisi 0) - Täpsustab IIS user-mode vahemälu suuruse megabaitides. Vaikimisi 0 väärtus teeb seda automaatselt vastavalt saadavale mälule. Vali see vastavalt tihedalt kasutatud failide suurusele ja püsimälu kogusele või IIS protsessi aadressiruumile.
- maxResponseSize (vaikimisi 262144 bytes) - Paneb kuni kindla suurusega failid vahemällu.
Compression Behavior Settings
Windows Server 2012 puhul pakib IIS 8.0 staatilise sisu automaatselt. Ja kui DynamicCompressionModule on paigaldatud, pakitakse ka dünaamiline sisu. Pakkimine vähendab ülekandekiirust, aga suurendab CPU kasutust.
Et täiesti pakkimine deaktiveerida, tuleb eemaldada StaticCompressionModule ja DynamicCompressionModule installeeritud moodulite listist system.webServer/globalModules.
system.webServer/httpCompression
- staticCompression-EnableCpuUsage (vaikimisi 50)
- staticCompression-DisableCpuUsage (vaikimisi 100)
- dynamicCompression-EnableCpuUsage (vaikimisi 50)
- dynamicCompression-DisableCpuUsage (vaikimisi 90)
Lubab pakkimist või mitte, vastavalt CPU kasutuse protsendile. Kui CPU kasutus langeb alla Enable läve, pakkimine lubatakse.
- directory (vaikimisi %is %SystemDrive%\inetpub\temp\IIS Temporary Compressed Files) - Kataloog, kus hoitakse pakitud versioone staatilistest failidest. Kui süsteemi ketast kasutatakse tihti, tasub see kataloog liigutada muu kettale.
- doDiskSpaceLimiting (vaikimisi True) - Määrab, kas limiit, kui palju kettaruumi pakitud failid saavad kasutada, eksisteerib.
- maxDiskSpaceUsage (vaikimisi 100MB) - Määrab maksimaalse kettaruumi pakitud failidele, mis pakkimise kaustas viibivad. Võimalik, et seda on vaja suurendada, kui kogu pakitud sisu suurus on liiga kõrge.
- doStaticCompression (vaikimisi True) - Määrab, kas staatiline sisu pakitakse.
- doDynamicCompression (vaikimisi True) - Määrab, kas dünaamiline sisu pakitakse.
NB! IIS 8.0 serverite puhul, millel on väike keskmine CPU kasutus, tasub pakkimist lubada dünaamilise sisu korral, eriti kui HTML vastused on suured.
Default Document List
See moodul tegeleb HTTP päringutega ja tõlgib need spetsiifilise faili jaoks nagu Default.htm või Index.htm. Kui HTTP päring ei täpsusta failinime, siis see moodul otsib vaikimisi lubatud dokumentide listist. Dokumentide list peaks olema võimalikult väike ja mõistlikult koostatud, et jõudlus kannatada ei saaks.
Et täiesti vaikimisi dokumendid eemaldada, tuleb kustutada DefaultDocumentModule installeeritud moodulite listist system.webServer/globalModules.
system.webServer/defaultDocument
- enabled (vaikimisi True) - Määrab, kas vaikimisi dokumendid on lubatud.
- <files> element (vaikimisi Default.htm, Default.asp, Index.htm, Index.html, Iisstart.htm, Default.aspx) - Määrab failide nimed, mis on seatud paika vaikimisi dokumentidena.
Central Binary Logging
Binary IIS logimine vähendab CPU kasutust, ketta I/O-d ja kettaruumi kasutust. See on suunatud üheainsale failile binaarsüsteemis, mistahes kui suur on majutatud veebisaitide arv.
Seda saab lubada määrates centralLogFileMode väärtuseks CentralBinary ja enabled väärtuseks True. Logifail tasub liigutada süsteemi partitsioonilt eemale, et vältida konflikte süsteemi tegevuste ja logimise tegevuste vahel.
system.applicationHost/log
- centralLogFileMode (vaikimisi Site) - Määrab logimise režiimi serveri jaoks.
- enabled (vaikimisi False) - Määrab, kas central binary logimist kasutatakse.
- diretory (vaikimisi %SystemDrive%\inetpub\logs\LogFiles) - Määrab kausta, kuhu kirjutatakse logid.
Application and Site Tunings
Managing IIS 8.0 Modules
IIS 8.0 koosneb paljudest moodulitest, mis on vastavalt vajadusele kohandatavad. Protsessori tsüklite arvu ja mälu on võimalik kokku hoida, kui ebavajalikud moodulid eemaldada.
Veebiserver, mis on optimiseeritud ainult lihtsate staatiliste failide jaoks, võib sisaldada ainult 5 moodulit: UriCacheModule, HttpCacheModule, StaticFileModule, AnonymousAuthenticationModule ja HttpLoggingModule.
Et eemaldada moodulid applicationHost.config failist, tuleb eemaldada ka kõik viited moodulile system.webServer/handlers ja system.webServer/modules sektsioonidest lisaks system.webServer/globalModules sektsioonile.
Classic ASP Settings
ASP.NET Concurrency Setting
Vaikimisi piirab ASP.NET päringute kokkulangevust, et vähendada mälu kasutust serveris. Kõrge kokkulangevusega aplikatsioonid võivad vajada veidi kohandamist, et üldist jõudlust parandada. Neid sätteid hoitakse järgneva registrikirje all:
HKEY_LOCAL_MACHINE\Software\Microsoft\ASP.NET\4.0.30319.0\Parameters
- MaxConcurrentRequestPerCpu (Vaikimisi 5000) - Määrab maksimaalse kokkulangevate päringute arvu. Tasub tõsta suuremaks, kui süsteem jooksutab programme, mis täidavad pikki, sünkroonseid I/O operatsioone, vastasel korral on oodata pikka kosteaega.
Worker Process and Recycling Options
Secure Sockets Layer Tuning Parameters
SSL kujutab endast lisa CPU kulu. Kõige kulukam SSL-i komponent on sessiooni kehtestamise kulu. Samuti võtavad kulu taasühendus, krüpteerimine ja dekrüpteerimine. Paremaks SSL jõudluseks soovitatav:
- Lubada HTTP keep-alive SSL sessioonidel. See elimineerib sessiooni kehtestamise kulud.
- Taaskasuta sessioone, kui see on sobiv, eriti non-keep-alive liikluse puhul.
NB! Pikemad võtmed pakuvad suuremat turvalisust, kuid kasutavad ka rohkem protsessorit. Samuti ei ole vaja kõike komponente krüpteerida.
ISAPI
Ei ole vaja spetsiaalset optimiseerimist Internet Server Application Programming Interface aplikatsioonide jaoks.
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