www.romver.ru
/ Полный список статей / LAMP

Как заказать сайт


АБРАКАДАБРА (Тоже самое но в читаемом виде)

Kak rabotaut sistemi LAMP, kak izmerat' ix proizvoditel'nost' i kak nastraivat' bazovuu operacionnuu sistemu developerWorks
LAMP nazvan po pervim bukvam vxoda6ix v ego sostav komponentov: Linux, Apache, MySQL i PHP
Inogda bukvu P v abbreviature ras6ifrovivaut kak Perl i Python, drugie vozmojnie aziki veb-razrabotki.

Su6estvuet mnojestvo variantov termina, v 4astnosti:

    * WAMP — pod Microsoft Windows vmesto GNU/Linux;
    * WASP — Windows, Apache, SQL Server i PHP;
    * WIMP — Windows, IIS, MySQL i PHP;
    * BAMP — BSD vmesto GNU/Linux;
    * SAMP — Solaris vmesto GNU/Linux;
    * MAMP — Mac OS X vmesto GNU/Linux.

Prilojenia, ispol'zuu6ie arxitekturu LAMP (Linux®, Apache, MySQL, PHP/Perl), postoanno sover6enstvuutsa i vse 6ire ispol'zuutsa. No sistemniy administrator 4asto ne imeet polnogo kontrola za samimi prilojeniami, poskol'ku oni napisani kem-to drugim. V etoy serii iz trex statey obsujdaetsa mnojestvo momentov, svazannix s konfigurirovaniem servera, kotorie mogut vliat' na proizvoditel'nost' prilojeniy. Eta pervaa stat'a opisivaet arxitekturu LAMP, nekotorie metodiki zamerov i nekotorie osnovnie svedenia, kasau6iesa adra Linux, diskov i naladki faylovoy sistemi. Posleduu6ie stat'i rassmatrivaut nastroyku komponentov Apache, MySQL i PHP.

Linux, Apache, MySQL i PHP (ili Perl) avlautsa osnovoy mnogix Web-prilojeniy, ot teku6ix zada4 do blogov na saytax elektronnoy torgovli. WordPress i Pligg -- vot tol'ko dva rasprostranennix paketa programm, privoda6ix v deystvie krupnomas6tabnie Web-sayti. Eta arxitektura priobrela izvestnost' prosto kak LAMP. Apache, MySQL, PHP i Perl vklu4autsa po4ti vo vse distributivi Linux, poetomu ustanovit' programmnoe obespe4enie LAMP po4ti takje prosto, kak skazat' ob etom.

Eta legkost' ustanovki sozdaet vpe4atlenie, 4to programmnoe obespe4enie rabotaet samo, 4to kone4no ne tak. V kone4nom s4ete nagruzka na prilojenie pererastaet parametri, svazannie s back-end serverami, i stradaet proizvoditel'nost' prilojenia. Installacii LAMP trebuut postoannogo monitoringa, nastroyki i analiza.

Nastroyka sistemi dla raznix ludey imeet raznoe zna4enie. Eta seria statey sfokusirovana na nastroyke komponentov LAMP -- Linux, Apache, MySQL i PHP. Nastroyka samix prilojeniy -- e6e odna neprostaa zada4a. Mejdu prilojeniami i back-end serverami su6estvuet simbioti4eskaa svaz': ploxo nastroenniy server zastavlaet ru6it'sa pod nagruzkoy daje xoro6ee prilojenie, i tol'ko t6atel'naa nastroyka servera mojet predotvratit' zamedlenie ego raboti iz-za ploxo napisannogo prilojenia. K s4ast'u pravil'naa nastroyka i monitoring sistemi mogut ukazat' na problemi prilojenia.

Arxitektura LAMP

Perviy 6ag v nastroyke luboy sistemi -- ponimanie togo, kak sistema rabotaet. V prostey6em slu4ae prilojenia na baze LAMP napisani na skriptovom azike, naprimer PHP, kotoriy rabotaet kak 4ast' Web-servera Apache, zapu6ennogo na Linux-xoste.

Dla togo 4tobi opredelit' dal'ney6ie deystvia, prilojenia PHP polu4aut informaciu ot klienta 4erez zapra6ivaemiy URL, iz lubix dannix formi, nezavisimo ot togo, kakaa informacia o sessii bila polu4ena. Esli neobxodimo, server izvlekaet informaciu iz bazi dannix MySQL (takje rabotau6ey pod Linux), kombiniruet informaciu s kakimi-to 6ablonami HTML (Hypertext Markup Language) i vozvra6aet rezul'tat klientu. Etot process povtoraetsa, poskol'ku pol'zovatel' rabotaet s prilojeniem, a takje vipolnaetsa parallel'no, poskol'ku mnojestvo pol'zovateley polu4aet dostup k sisteme. Odnako potok dannix ne avlaetsa odnostoronnim, potomu 4to baza dannix mojet bit' obnovlena informaciey, polu4ennoy ot pol'zovatela v forme dannix seansa, statisti4eskoy podborkoy (vklu4aa golosovanie) i soderjimim, predostavlennim pol'zovatelu, naprimer, kommentarii ili obnovlenie sayta. Vdobavok k dinami4eskim elementam su6estvuut takje stati4eskie elementi, takie kak izobrajenia, kodi JavaScript i CSS (Cascading Style Sheets).

Varianti LAMP

LAMP na4inalas' kak strogo Linux, Apache, MySQL i PHP ili Perl. Odnako dovol'no 4asto Apache, MySQL i PHP zapuskautsa v sisteme Microsoft® Windows®, esli vi ne sil'ni v Linux. Opat' je vi vsegda mojete otkazat'sa ot Apache, naprimer, v pol'zu 4ego-nibud' tipa lighttpd, i tem ne menee budete imet' sistemu v stile LAMP, xota i s neproiznosimoy abbreviaturoy. Ili vi mojete predpo4est' druguu bazu dannix s otkritimi kodami, naprimer, PostgreSQL ili SQLite, ili kommer4eskuu bazu dannix, naprimer, IBM® DB2®, ili daje kommer4eskuu, no svobodnuu podsistemu, kak IBM DB2 Express-C.

Eta stat'a sfokusirovana na tradicionnoy arxitekture LAMP, poskol'ku v svoix komandirovkax a 4a6e vsego vstre4au ee, i vse ee komponenti imeut otkritie kodi.

Posmotrev na potok zaprosov 4erez sistemu LAMP, vi mojete uvidet' mesta, gde mogut proizoyti zamedlenia. Baza dannix predostavlaet bol'6oe koli4estvo dinami4eskoy informacii, tak 4to klient zame4aet lubuu zaderjku reakcii na zapros. Web-server doljen bit' dostupen dla bistrogo vipolnenia skriptov, a takje upravlenia mnojestvom konkuriruu6ix zaprosov. Nakonec, dla podderjki prilojeniy bazovaa operacionnaa sistema doljna bit' v dobrom zdravii. Drugie nastroyki, raspredelau6ie fayli mejdu razli4nimi serverami po seti, takje mogut avlat'sa uzkim mestom.

Izmerenie proizvoditel'nosti

Postoannoe izmerenie proizvoditel'nosti pomogaet v dvux slu4aax. Pervoe -- izmerenie pomogaet viavlat' tendencii, kak xoro6ie, tak i ploxie. Vot prostoy primer: nabludaa za ispol'zovaniem central'nogo processora (CPU) na Web-servere, vi mojete zametit' ego 4rezmernuu zagruzku. Podobnim obrazom, nabludenie za ispol'zovaniem ob6ey propusknoy sposobnosti v pro6lom i ekstrapolacia na budu6ee pomogaet viavlat' momenti, kogda neobxodimo obnovlenie seti. Eti izmerenia vzaimosvazani s drugimi izmereniami i nabludeniami. Naprimer, vi mojete re6it', 4to kogda pol'zovateli jaluutsa na medlennuu rabotu prilojeniy, diski rabotaut s maksimal'noy nagruzkoy.

Drugoe primenenie izmereniy proizvoditel'nosti -- opredelenie, pomogla li nastroyka re6eniu situacii ili uxud6ila polojenie. Vi delaete eto, sravnivaa rezul'tati izmereniy do i posle proizvedennix izmeneniy. Odnako, 4tobi eto prineslo rezul'tat, dla opredelenia effekta ot izmeneniy odnovremenno doljen menat'sa tol'ko odin kriteriy, i doljni sravnivat'sa sootvetstvuu6ie pokazateli. Pri4ina odnovremennogo izmenenia tol'ko odnogo komponenta doljna bit' o4evidna. Ved' vpolne vozmojno, 4to dva odnovremenno proizvedennix izmenenia mogli neytralizovat' drug druga. Pri4ina dla vibora izmereniy avlaetsa gorazdo bolee tonkoy.

Re6au6im avlaetsa to, 4to izmerenia, kotorie vi vibiraete dla issledovania, doljni otrajat' intensivnost' ispol'zovania prilojenia. Esli cel' izmenenia sostoit v umen'6enii ob&ema pamati, ispol'zuemoy bazoy dannix, ustranenie razli4nix buferov, kone4no, pomojet za s4et skorosti zaprosa i proizvoditel'nosti prilojenia. Vzamen odno iz izmereniy doljno bit' vremenem otklika prilojenia, 4to pozvolit obnarujit' vozmojnosti nastroyki drugix pokazateley, ne tol'ko ispol'zovania pamati bazoy dannix.

Vi mojete izmerit' vrema otklika prilojenia raznimi sposobami. Vozmojno, samiy prostoy sposob -- ispol'zovat' komandu curl, kak pokazano v Listinge 1.

Listing 1. Ispol'zovanie curl dla izmerenia vremeni otklika Web-sayta


$ curl -o /dev/null -s -w %{time_connect}:%{time_starttransfer}:%{time_total}
http://www.canada.com
0.081:0.272:0.779


V Listinge 1 pokazana komanda curl, ispol'zuemaa dla poiska popularnix novostnix saytov. Vivod, kotoriy obi4no bil bi HTML-kodom, napravlen pri pomo6i opcii -o v /dev/null, a takje ispol'zovana opcia -s, otklu4au6aa vivod informacii o xode processa. Opcia -w daet ukazanie vivesti nekotorie dannie o xode processa, naprimer, pokazannie v Tablice 1 taymeri:

Tablica 1. Taymeri, ispol'zuemie curl
Taymer Opisanie
time_connect Vrema, neobxodimoe dla ustanovki TCP-soedinenia s serverom
time_starttransfer Vrema, neobxodimoe Web-serveru dla vozvrata pervogo bayta posle togo kak proizveden zapros
time_total Vrema, neobxodimoe dla polnogo vipolnenia zaprosa

Vse eti taymeri vedut ots4et ot starta tranzakcii, daje pered obra6eniem k Domain Name Service (DNS). Takim obrazom, posle togo kak bil sdelan zapros, trebuetsa 0.272 - 0.081 = 0.191 sekundi, 4tobi Web-server obrabotal zapros i na4al vozvra6at' dannie. Klient zatratil 0.779 - 0.272 = 0.507 sekundi, zagrujaa dannie s servera.

Nabludenie za dannimi curl i vremennoy trend pozvolat vam polu4it' predstavlenie, naskol'ko bistro reagiruet sayt na zaprosi pol'zovateley.

Kone4no, Web-sayt -- bol'6e 4em prosto otdel'naa stranica. On soderjit izobrajenia, kod JavaScript, CSS i cookies. Komanda curl sposobna polu4at' vrema otklika dla odnogo elementa, no inogda vam neobxodimo videt', kak bistro zagrujaetsa celaa stranica.

Tamper Data, ras6irenie brauzera Firefox (ssilku sm. v razdele Resursi), registriruet vse zaprosi, sdelannie Web-brauzerom, i pokazivaet vrema, zatra4ennoe na zagruzku kajdogo zaprosa. 4tobi ispol'zovat' ras6irenie, viberite Tools > Tamper Data, otkroetsa okno Ongoing requests. Zagruzite stranicu, o kotoroy idet re4', i vi uvidite status kajdogo zaprosa, sdelannogo brauzerom, a takje vrema, zatra4ennoe na zagruzku elementa. Na Risunke 1 pokazan rezul'tat zagruzki doma6ney stranici developerWorks.

Risunok 1. Sxema organizacii zaprosov dla zagruzki doma6ney stranici developerWorks
Risunok 1. Sxema organizacii zaprosov dla zagruzki doma6ney stranici developerWorks

Kajdaa stroka opisivaet zagruzku odnogo elementa. Pokazani raznoobraznie dannie, naprimer, vrema otpravki zaprosa, kak dolgo on zagrujaetsa, razmer i rezul'tati. Kolonka Duration (Prodoljitel'nost') pokazivaet vrema, kotoroe trebuetsa na zagruzku elementa, v to vrema kak kolonka Total Duration (Ob6aa prodoljitel'nost') pokazivaet, skol'ko vremeni zanimaet zagruzka vsex sub-elementov. Na Risunke 1 vidno, 4to na zagruzku glavnoy stranici zatra4eno 516 millisekund (msek), no potrebovalos' 5101 msek, prejde 4em vse bilo zagrujeno, i mogla bit' pokazana vsa stranica.

Drugoy polezniy variant ispol'zovania ras6irenia Tamper Data -- izobrajenie dannix o zagruzke stranici v vide grafika. 6elknite pravoy knopkoy v verxney 4asti okna Ongoing requests i viberite Graph all. Na Risunke 2 pokazano grafi4eskoe izobrajenie dannix iz Risunka 1.

Risunok 2. Grafi4eskoe izobrajenie zaprosov dla zagruzki doma6ney stranici developerWorks
Risunok 2. Grafi4eskoe izobrajenie zaprosov dla zagruzki doma6ney stranici developerWorks

Na Risunke 2 prodoljitel'nost' kajdogo zaprosa pokazana temno-sinim cvetom i pokazivaetsa otnositel'no na4ala zagruzki stranici. Takim obrazom, vi mojete videt', kakie zaprosi zamedlaut zagruzku vsey stranici.

Nesmotra na to, 4to vnimanie sosredoto4eno na vremeni zagruzki stranici i opite pol'zovatela, vajno ne upuskat' iz vidu osnovnie pokazateli sistemi, takie kak disk, pamat', CPU i set'. Dla polu4enia etoy informacii imeetsa mnojestvo utilit; vozmojno, naibolee poleznie iz nix -- sar, vmstat i iostat. Dla polu4enia bolee podrobnoy informacii ob etix utilitax obratites' k razdelu Resursi.


V na4alo


Nastroyki bazovoy sistemi

Prejde 4em vi nastroite komponenti sistemi Apache, PHP i MySQL, vi doljni potratit' nekotoroe vrema na to, 4tobi ubedit'sa, 4to osnovnie komponenti Linux funkcioniruut pravil'no. Razumeetsa, vi uje otobrali iz spiska zapu6ennix servisov tol'ko te, kotorie vam neobxodimi. Pomimo togo, 4to eto avlaetsa xoro6ey praktikoy obespe4enia bezopasnosti, eto ekonomit pamat' i cikli CPU.

Operativnaa nastroyka adra

Bol'6instvo distributivov Linux postavlaetsa s tradicionno opredelennimi parametrami dla buferov i drugix xarakteristik TCP (Transmission Control Protocol). Vi doljni izmenit' eti parametri, 4tobi videlit' bol'6e pamati dla povi6enia proizvoditel'nosti seti. Parametri adra ustanovleni 4erez interfeys proc putem 4tenia i zapisi peremennix v /proc. K s4ast'u programma sysctl upravlaet imi nemnogo bolee legkim obrazom, 4itaa peremennie iz /etc/sysctl.conf i zanosa ix pri neobxodimosti v /proc. V Listinge 2 pokazani nekotorie naibolee radikal'nie setevie nastroyki, kotorie doljni primenat'sa na Internet-serverax.

Listing 2. Demonstracia naibolee radikal'nix setevix nastroek v /etc/sysctl.conf


# Ispol'zovat', kogda neobxodimo, TCP syncookies
net.ipv4.tcp_syncookies = 1
# Razre6it' mas6tabirovanie okna TCP
net.ipv4.tcp_window_scaling: = 1
# Uveli4it' maksimal'niy razmer bufera TCP
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
# Uveli4it' maksimal'noe zna4enie samonastraivaemogo bufera TCP v Linux
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
# Uveli4it' koli4estvo dostupnix portov
net.ipv4.ip_local_port_range = 1024 65000


Dobav'te eti nastroyki k tomu, 4to uje imeetsa v fayle /etc/sysctl.conf. Eta pervaa nastroyka razre6it TCP SYN cookies. Kogda klient ustanavlivaet novoe TCP-soedinenie pri pomo6i paketa s ustanovlennim bitom SYN, server sozdaet zapis' dla napolovinu otkritogo soedinenia i otve4aet paketom SYN-ACK. Pri normal'noy rabote udalenniy klient otve4aet paketom ACK, 4to menaet soedinenie s napolovinu otkritogo na polnost'u otkritoe. Ataka, nazivaemaa SYN flood, garantiruet, 4to paket ACK nikogda ne budet vozvra6en iz-za togo, 4to process servera is4erpal dostupnuu pamat' dla vxoda6ix soedineniy. Funkcia SYN cookie u4itivaet eto obstoatel'stvo i na4inaet ispol'zovat' iza6niy metod, soxranau6iy mesto v o4eredi (bolee podrobno sm. v razdele Resursi). V bol'6instve sistem eta vozmojnost' razre6ena po umol4aniu, no stoit udostoverit'sa, 4to ona skonfigurirovana.

Vozmojnost' mas6tabirovania okna TCP pozvolaet klientam zagrujat' dannie s visokoy skorost'u. TCP pozvolaet otpravku udalennoy storonoy bez podtverjdenia mnogo4islennix paketov, po umol4aniu do 64 kilobayt (Kbayt), kotorie mogut bit' zapolneni pri informacionnom obmene s bolee visokoy stepen'u zaderjki. Mas6tabirovanie okna pozvolaet ispol'zovat' v zagolovke nekotorie dopolnitel'nie biti, 4tobi uveli4it' razmer etogo okna.

Sleduu6ie 4etire elementa konfiguracii uveli4ivaut buferi TCP dla otpravki i priema. Eto pozvolaet prilojeniam bistree izbavit'sa ot ix informacii, tak 4to oni mogut obslujit' drugoy zapros, i eto takje povi6aet vozmojnost' udalennogo klienta otpravlat' dannie, kogda server zanat.

Posledniy element konfiguracii uveli4ivaet koli4estvo razre6ennix dla ispol'zovania lokal'nix portov, 4to uveli4ivaet maksimal'noe koli4estvo soedineniy, kotorie mogut bit' obslujeni odnovremenno.

Eti nastroyki vstupat v silu pri sleduu6ey zagruzke ili pri sleduu6em zapuske sysctl -p /etc/sysctl.conf.

Konfigurirovanie diskov dla dostijenia maksimal'noy proizvoditel'nosti

V arxitekture LAMP diski igraut su6estvennuu rol'. Stati4eskie fayli, 6abloni i kodi obslujivautsa diskom, kak tablici dannix i indeksi, sostavlau6ie bazu dannix. Bol'6instvo nastroek, osobenno te, kotorie imeut otno6enie u baze dannix, sfokusirovani na tom, 4tobi oboytis' bez dostupa k disku, poskol'ku eto vle4et otnositel'no visokuu zaderjku. Poetomu imeet smisl zatratit' nekotoroe vrema na optimizaciu diskovoy podsistemi.

Pervim delom neobxodimo ubedit'sa, 4to jurnalirovanie atime v faylovix sistemax otklu4eno. atime -- vrema poslednego dostupa k faylu, i pri kajdom obra6enii k faylu osnovnaa faylovaa sistema doljna zapisivat' etu otmetku vremeni. Poskol'ku atime redko ispol'zuetsa sistemnimi administratorami, ee otklu4enie snizit nagruzku na disk. Eto dostigaetsa putem dobavlenia opcii noatime v 4etvertoy kolonke fayla /etc/fstab. V Listinge 3 pokazan primer konfiguracii.

Listing 3. Obrazec fayla fstab, pokazivau6iy, kak razre6it' noatime


/dev/VolGroup00/LogVol00 / ext3 defaults,noatime 1 1
LABEL=/boot /boot ext3 defaults,noatime 1 2
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
LABEL=SWAP-hdb2 swap swap defaults 0 0
LABEL=SWAP-hda3 swap swap defaults 0 0


V Listinge 3 izmenenia sdelani tol'ko dla faylovix sistem tipa ext3, poskol'ku opcia noatime polezna tol'ko dla faylovix sistem, raspolojennix na diske. 4tobi izmenenia vstupili v silu, perezagruzka ne nujna; vam tol'ko neobxodimo vnov' podmontirovat' kajduu faylovuu sistemu, vipolniv mount / -o remount.

Vozmojni raznoobraznie kombinacii jestkix diskov, i Linux ne vsegda verno opredelaet optimal'niy metod dostupa k jestkomu disku. Komanda hdparm ispol'zuetsa dla polu4enia i ustanovki metodov, ispol'zuemix dla dostupa k diskam IDE (integrated development environment, integrirovannaa sreda razrabotki). hdparm -t /path/to/device vipolnaet test skorosti, kotoriy vi mojete ispol'zovat' v ka4estve to4ki ots4eta. Dla polu4enia bolee dostovernix rezul'tatov pri zapuske etoy komandi sistema doljna bit' nezanata. V Listinge 4 pokazan test skorosti, vipolnaemiy na hda.

Listing 4. Test skorosti, vipolnaemiy na /dev/hda


# hdparm -t /dev/hda

/dev/hda:
Timing buffered disk reads: 182 MB in 3.02 seconds = 60.31 MB/sec


Kak vidno iz testa, diski 4itaut dannie so skorost'u okolo 60 megabayt (Mbayt) v sekundu.

Prejde 4em uglubit'sa v izu4enie nekotorix opciy nastroyki diska, neobxodimo sdelat' predosterejenie. Nepravil'naa nastroyka mojet razru6it' faylovuu sistemu. Inogda vi polu4aete preduprejdenie, 4to vibor nesovmestim s va6im oborudovaniem; inogda net. Poetomu t6atel'no proverayte nastroyki, prejde 4em zapustit' sistemu. Zdes' takje pomojet nali4ie standartnogo oborudovania na vsex va6ix serverax.

V Tablice 2 pere4isleni nekotorie 4asto ispol'zuemie opcii.

Tablici 2. 4asto ispol'zuemie opcii hdparm
Opcia Opisanie
-vi Opra6ivaet ustroystvo s cel'u opredelenia, kakie nastroyki ono podderjivaet i kakie ispol'zuet.
-c Zapros/vklu4enie podderjki 32-bitnogo (E)IDE vvoda/vivoda. hdparm -c 1 /dev/hda vklu4aet.
-m Zapros/ustanovka neskol'kix sektorov v rejime prerivania. Esli zna4enie parametra bol'6e nula, povi6enie do takogo koli4estva sektorov mojet bit' peredano 4erez prerivanie.
-d 1 -X Vklu4enie pereda4 DMA (direct memory access, pramoy dostup k pamati) i ustanovka rejima pereda4i IDE. Stranica spravki man komandi hdparm uto4naet 4islo, kotoroe mojet stoat' posle -X. Vi doljni ispol'zovat' etu opciu, tol'ko esli -vi pokazivaet, 4to vi ne ispol'zuete samiy bistriy rejim.

K sojaleniu dla sistem Fiber Channel i Small Computer Systems Interface (SCSI) nastroyka zavisit ot konkretnogo ustroystva.

Vi doljni dobavit' v va6 startoviy skript, naprimer, rc.local, te nastroyki, kotorie s4itaete poleznimi.

Nastroyka NFS

NFS (network file system, setevaa faylovaa sistema) -- sposob predostavlenia dostupa k tomam diska po seti. Ispol'zovat' NFS polezno, 4tobi garantirovat', 4to kajdiy xost imeet odnu i tu je kopiu dannix i 4to izmenenia otrajeni na vsex uzlax. Tem ne menee po umol4aniu NFS ne skonfigurirovana dla massovogo ispol'zovania.

Kajdiy klient doljen podmontirovat' udalennuu faylovuu sistemu pri pomo6i rsize=32768,wsize=32768,intr,noatime, 4tobi garantirovat' sleduu6ee:

* Ispol'zuutsa bol'6ie razmeri blokov 4tenia/zapisi (do opredelennogo razmera, v dannom slu4ae 32Kbayt).
* Operacii NFS mogut bit' prervani v slu4ae zavisania.
* atime ne budet postoanno obnovlat'sa.


Vi mojete pomestit' eti nastroyki v fayl /etc/fstab, kak pokazano v Listinge 3. Esli vi ispol'zuete avtomontirovanie, oni vxodat v sootvetstvuu6iy fayl /etc/auto.*.

Na storone servera vajno udostoverit'sa, 4to imeetsa dostato4noe koli4estvo NFS kernel thread'ov, dostupnix dla obslujivania vsex klientov. Po umol4aniu zapu6en tol'ko odin thread, xota sistemi Red Hat i Fedora zapuskaut 8. Dla sil'no zagrujennogo servera NFS vi doljni povisit' eto 4islo, naprimer, do 32 ili 64. Vi mojete otsledit', bila li blokirovka, pri pomo6i komandi nfsstat -rc, pokazivau6ey statisti4eskie dannie Remote Procedure Call (RPC) klienta. V Listinge 5 pokazani statisti4eskie dannie klienta dla Web-servera.

Listing 5. Demonstracia statisti4eskix dannix RPC pri ispol'zovanii NFS-klienta


# nfsstat -rc
Client rpc stats:
calls retrans authrefrsh
1465903813 0 0


Vo vtoroy kolonke, retrans, stoit nol', 4to pokazivaet, 4to, na4inaa s posledney perezagruzki, ne bilo neobxodimosti ni v kakix pereda4ax. Esli eto 4islo rastet, vi doljni podumat' o dobavlenii bol'6ego koli4estva NFS kernel thread'ov. Eto delaetsa putem pereda4i jelaemogo 4isla thread'ov rpc.nfsd, naprimer, rpc.nfsd 128 zapuskaet 128 thread'ov. Vi mojete sdelat' eto v luboe vrema. Thread'i zapuskautsa ili uni4tojautsa po mere neobxodimosti. Krome togo, eto doljno voyti v va6i startovie skripti, predpo4titel'no v skript, kotoriy startuet NFS na va6ey sisteme.

Poslednee zame4anie otnositel'no NFS: esli vozmojno, otkajites' ot NFS versii 2, poskol'ku ego proizvoditel'nost' namnogo nije proizvoditel'nosti NFS versiy 3 i 4. V sovremennix distributivax Linux eto ne avlaetsa problemoy, no prover'te vivod nfsstat na servere, 4tobi uznat', delautsa li kakie-libo zaprosi 4erez NFS versii 2.
ibm.com/developerworks/ru/library/l-tune-lamp-1/
6on Volberg, star6iy setevoy injener, P.Eng

3
Создание эксклюзивных сайтов, юзибилити анализ и бесплатный анализ под запросы основных поисковых машин
Контактная информация :
тел. +7(98I) 7608865

Написать письмо на e-mail
icq 415547094  romverрейтинг на mail.ru сайта romverinbox.ru
© 1997 - 2024 romver.ru

Полная карта сайта Display Pagerank