High Performance Django (Sample Chapter)

14

description

High Performance Django

Transcript of High Performance Django (Sample Chapter)

  • 13&'"$&

    5IBOL ZPV GPS QJDLJOH VQ B DPQZ PG )JHI 1FSGPSNBODF %KBOHP 8IFO * TUBSUFE -JODPMO -PPQ

    CBDL JO %KBOHP XBT TUJMM B QSF GSJOHF QMBZFS JO UIF XFC GSBNFXPSL XPSME *UT DPNF B

    MPOH XBZ TJODF UIFO BOE TP IBT JUT TVQQPSUJOH FDPTZTUFN " MPU PG CBE QSBDUJDFT IBWF TIBLFO

    PVU BOE XF OPX IBWF B HPPE CMVFQSJOU GPS EFQMPZJOH TUBCMF GBTU BOE TDBMBCMF %KBOHP TJUFT

    5IF JOTQJSBUJPO GPS UIJT CPPL DBNF GSPN B SFQPSU * XBT XSJUJOH GPS POF PG PVS DMJFOUT 8F XFSF

    IFMQJOH B DPNQBOZ XJUI B WFSZ MBSHF %KBOHP TJUF CPUI JO MJOFT PG DPEF BOE EBJMZ WJTJUPST

    USPVCMFTIPPU BOE EJBHOPTF TPNF NZTUFSJPVT TDBMJOH JTTVFT %FTQJUF IBWJOH B WFSZ CSJHIU

    BOE UBMFOUFE EFWFMPQNFOU UFBN UIFZ XFSF NJTTJOH RVJUF B GFX RVJDL BOE FBTZ QFSGPSNBODF

    XJOT *OTUFBE NVDI PG UIF UFBNT GPDVT XBT BSPVOE CVJMEJOH BOE NBJOUBJOJOH DPNQMFY

    DVTUPN TPGUXBSF UP LFFQ UIFJS TJUF PQFSBUJPOBM *U EBXOFE PO NF UIBU JG BO FYQFSJFODFE UFBN

    MJLF UIJT XBT TUSVHHMJOH XIBU DIBODF EJE ZPVS BWFSBHF EFWFMPQFS IBWF

    5IBU OJHIU * TUBSUFE XPSLJOH PO BO PVUMJOF BOE PWFS UIF OFYU GFX NPOUIT XF DPEJFE PVS

    UFDIOJRVFT GPS CVJMEJOH IJHI QFSGPSNBODF %KBOHP TJUFT JOUP UIJT CPPL "GUFS TFWFO ZFBST PG

    YJ

  • DPOTVMUJOH XFWF TFFO BOE CVJMU FOPVHI EJGGFSFOU %KBOHP TJUFT UP LOPX XIBU XPSLT BOE XIBU

    EPFTOU "T ZPVMM TFF UIFSF BSF OP IJEEFO USBEF TFDSFUT 5IF UPPMT XF VTF BSF GPS UIF NPTU

    QBSU XFMM LOPXO BOE JO IFBWZ VTF PO NBOZ QSPEVDUJPO %KBOHP TJUFT 5IF UIJOH JT UIPVHI

    UIFSFT B MPU QJFDFT ZPV OFFE UP QVU JO QMBDF BOE POF XSPOH EFDJTJPO DBO NBLF MJGF WFSZ

    EJGDVMU :PV DBO GPMMPX BMM UIF DPOGFSFODF UBMLT BOE CMPH QPTUT CVU UIFZ POMZ HJWF ZPV TNBMM

    XJOEPXT JOUP IPX JUT EPOF OPCPEZ SFBMMZ QVUT UPHFUIFS UIF GVMM QJDUVSF

    5IF HPBM PG UIJT CPPL JT UP HJWF ZPV UIBU CMVFQSJOU TP ZPV DBO CVJME BOE EFQMPZ IJHI QFSGPS

    NBODF %KBOHP TJUFT XJUI DPOEFODF 8F IPQF ZPV FOKPZ JU

    m 1FUFS #BVNHBSUOFS DPBVUIPS

  • 9 High Performance Django Chapter X

    THEBIGPICTURE

  • $)"15&3 5)& #*( 1*$563&

    */530%6$5*0/

    *UT OPU VODPNNPO UP IFBS QFPQMF TBZ i%KBOHP EPFTOU TDBMFu %FQFOEJOH PO IPX ZPV MPPL

    BU JU UIF TUBUFNFOU JT FJUIFS DPNQMFUFMZ USVF PS QBUFOUMZ GBMTF %KBOHP PO JUT PXO EPFTOU

    TDBMF 5IF TBNF DBO CF TBJE PG 3VCZ PO 3BJMT 'MBTL 1)1 PS BOZ PUIFS MBOHVBHF VTFE

    CZ B EBUBCBTFESJWFO EZOBNJD XFCTJUF 5IF HPPE OFXT IPXFWFS JT UIBU %KBOHP JOUFSBDUT

    CFBVUJGVMMZ XJUI B TVJUF PG DBDIJOH BOE MPBE CBMBODJOH UPPMT UIBU XJMM BMMPX JU UP TDBMF UP BT

    NVDI USBGD BT ZPV DBO UISPX BU JU $POUSBSZ UP XIBU ZPV NBZ IBWF SFBE POMJOF JU DBO EP TP

    XJUIPVU SFQMBDJOH DPSF DPNQPOFOUT PGUFO MBCFMFE BT iUPP TMPXu TVDI BT UIF EBUBCBTF 03.

    PS UIF UFNQMBUF MBZFS

    %KBOHPT TDBMJOH TVDDFTT TUPSJFT BSF BMNPTU UPP OVNFSPVT UP MJTU BU UIJT QPJOU *U CBDLT %JTRVT

    *OTUBHSBN BOE 1JOUFSFTU 8BOU TPNF NPSF QSPPG *OTUBHSBN XBT BCMF UP TVTUBJO PWFS

    NJMMJPO VTFST PO %KBOHP XJUI POMZ FOHJOFFST PG XIJDI IBE OP CBDLFOE EFWFMPQNFOU

  • FYQFSJFODF %JTRVT TFSWFT PWFS CJMMJPO QBHF WJFXT QFS NPOUI 5IPTF BSF TPNF IVHF

    OVNCFST 5IFTF UFBNT IBWF QSPWFO %KBOHP NPTU DFSUBJOMZ EPFT TDBMF 0VS FYQFSJFODF IFSF

    BU -JODPMO -PPQ CBDLT JU VQ 8FWF CVJMU CJH %KBOHP TJUFT DBQBCMF PG TQFOEJOH UIF EBZ PO

    UIF 3FEEJU IPNFQBHF XJUIPVU CSFBLJOH B TXFBU

    &WFSZ TJUF IBT VOJRVF OFFET BOE EJGGFSFOU QBJO QPJOUT SFRVJSJOH FYUSB BUUFOUJPO UP PQFSBUF BU

    TDBMF :PV NBZ CF TVSQSJTFE IPXFWFS UP MFBSO UIBU UIFJS HFOFSBM BQQSPBDIFT UP UIF QSPCMFN

    BMM MPPL WFSZ TJNJMBS 1FSIBQT FWFO NPSF TVSQSJTJOH JT UIBU NBOZ QBSUT PG UIJT JOGSBTUSVDUVSF

    BSFOU FWFO VOJRVF UP %KBOHP BQQMJDBUJPOT 5IF UFDIOJRVFT XFMM VTF BSF XJEFMZ BDDFQUFE

    BDSPTT IJHI USBGD TJUFT PG NBOZ GSBNFXPSLT BOE MBOHVBHFT

    0VS QPJOU JT UIJT %KBOHP TDBMFT BOE UIF UBDUJDT EFTDSJCFE JO UIJT CPPL XJMM IFMQ ZPV CVJME

    TJUFT DBQBCMF PG XJUITUBOEJOH NJMMJPOT PG QBHF WJFXT QFS EBZ BOE IVOESFET JG OPU UIPVTBOET

    PG DPODVSSFOU VTFST 8F IBWF ZFBST PG FYQFSJFODF BQQMZJOH UIFTF UBDUJDT PO IFBWJMZ USBGDLFE

    QSPEVDUJPO TJUFT *U XPSLT GPS VT BOE XFSF DPOEFOU JU XJMM XPSL GPS ZPV UPP

    1)*-0401):

    6LPSOLFLW\LVDSUHUHTXLVLWHIRUUHOLDELOLW\ &%4(&3 8 %*+,453"'PS PVS UFBN BU -JODPMO -PPQ UIF HVJEJOH QIJMPTPQIZ JO EFTJHOJOH IJHIUSBGD %KBOHP TJUFT

    JT TJNQMJDJUZ 8JUIPVU NBLJOH B DPOTDJPVT FGGPSU UP HIU DPNQMFYJUZ BU FWFSZ UVSO JU JT UPP

    5IF #JH 1JDUVSF $IBQUFS

  • FBTZ UP XBTUF UJNF CVJMEJOH DPNQMFY VONBJOUBJOBCMF NPOTUSPTJUJFT UIBU XJMM CJUF ZPV EPXO

    UIF SPBE

    4JNQMJDJUZ NFBOT

    6TJOH BT GFX NPWJOH QBSUT BT QPTTJCMF UP NBLF JU BMM XPSL i.PWJOH QBSUTu NBZ CF

    TFSWFST TFSWJDFT PS UIJSEQBSUZ TPGUXBSF

    $IPPTJOH QSPWFO BOE EFQFOEBCMF NPWJOH QBSUT JOTUFBE PG UIF OFX IPUOFTT

    6TJOH B QSPWFO BOE EFQFOEBCMF BSDIJUFDUVSF JOTUFBE PG CMB[JOH ZPVS PXO USBJM

    %FFDUJOH USBGD BXBZ GSPN DPNQMFY QBSUT BOE UPXBSE GBTU TDBMBCMF BOE TJNQMF QBSUT

    4JNQMF TZTUFNT BSF FBTJFS UP TDBMF FBTJFS UP VOEFSTUBOE BOE FBTJFS UP EFWFMPQ 0G DPVSTF

    BOZ OPOUSJWJBM XFC BQQMJDBUJPO XJMM CSJOH JUT PXO VOJRVF TFU PG DPNQMFY QSPCMFNT UP TPMWF CVU

    CZ LFFQJOH UIF SFTU PG UIF TUBDL TJNQMF ZPV BOE ZPVS UFBN DBO TQFOE NPSF UJNF GPDVTJOH

    PO ZPVS QSPEVDU SBUIFS UIBO PO TDBMJOH BOE JOGSBTUSVDUVSF

    5)& 1"*/ 10*/54

    %KBOHP BQQT BOE GPS UIBU NBUUFS NPTU XFC BQQMJDBUJPOT TIBSF NBOZ DPNNPO QFSGPSNBODF

    DIBSBDUFSJTUJDT )FSF BSF UIF NPTU GSFRVFOU QBJO QPJOUT XF FODPVOUFS CVJMEJOH QFSGPSNBOU

    XFC BQQMJDBUJPOT UIFZ TIPVME MPPL GBNJMJBS UP ZPV

    5IF #JH 1JDUVSF $IBQUFS

  • %"5"#"4&" SFMBUJPOBM EBUBCBTF FH 1PTUHSFT .Z42- JT VTVBMMZ UIF TMPXFTU BOE NPTU DPNQMFY CFBTU

    JO UIF TUBDL 0OF PQUJPO JT UP SFQMBDF JU XJUI B GBTUFS BOE MFTT DPNQMFY i/P42-u EBUBCBTF

    CVU JO NBOZ DBTFT UIBU QVTIFT UIF DPNQMFYJUZ JOUP ZPVS BQQMJDBUJPO BOE TRVBSFMZ JOUP UIF

    IBOET PG ZPVS EFWFMPQFST 8FWF GPVOE JU TJNQMFS UP LFFQ JU EPXO JO B QSPWFO 3%#.4 BOE

    IBOEMF UIF QBJO WJB DBDIJOH

    5&.1-"5&45FNQMBUFT HFU DPNQMFY RVJDLMZ 5P NBLFNBUUFST XPSTF %KBOHPT UFNQMBUF FOHJOF IBT NBEF

    B USBEFPGG GPS TJNQMJDJUZ BOE VTBCJMJUZ PWFS TQFFE 8F DPVME SFQMBDF JU XJUI B GBTUFS UFNQMBUJOH

    FOHJOF MJLF +JOKB CVU JU XJMM TUJMM CF UIF TFDPOE TMPXFTU QBSU PG PVS TUBDL 8F DBO BWPJE UIF

    QBJO WJB DBDIJOH

    1:5)0/1ZUIPO JT iGBTU FOPVHIu GPS NBOZ XPSLMPBET BOE UIF USBEFPGG JU QSPWJEFT CZ IBWJOH NBUVSF

    EFWFMPQFS UPPMT BOE B NBUVSF FDPTZTUFN JT XFMM XPSUI JU 5IF TBNF DBO CF TBJE PG KVTU BCPVU

    FWFSZ PUIFS NBUVSF EZOBNJD TDSJQUJOH MBOHVBHF #VU XF DBO TFSWF SFRVFTUT GBTUFS GSPN B

    XFC BDDFMFSBUPS FH 7BSOJTI UIBU DBO TFSWF DBDIFE SFTQPOTFT CFGPSF B SFRVFTU FWFO HFUT

    UP UIF 1ZUIPO MBZFS

    5IF #JH 1JDUVSF $IBQUFS

  • $"$)& "-- 5)& 5)*/(4

    #Z OPX ZPV QSPCBCMZ TFF XIFSF XFSF IFBEFE 5IF TJNQMFTU HFOFSBM BQQSPBDI JT UP DBDIF

    BMM UIF XBZ EPXO UIF TUBDL /P NBUUFS IPX GBTU BOE IPX XFMM UVOFE ZPVS TUBDL JT JU XJMM OFWFS

    CF BT GBTU BT B EFEJDBUFE DBDIF

    4FSWJOH UIF FOUJSF )551 SFTQPOTF EJSFDUMZ PVU PG DBDIF JT JEFBM 8IFO JU JTOU QPTTJCMF BT

    NBOZ QBSUT PG UIF SFTQPOTF BT QPTTJCMF TIPVME DPNF GSPN DBDIF $BMMT UP UIF EBUBCBTF DBO

    CF LFQU UP B CBSF NJOJNVN CZ JNQMFNFOUJOH B DBDIJOH MBZFS UIFSF BT XFMM

    "MM UIJT DBDIJOH NJHIU TPVOE MJLF B OJHIUNBSF GPS SFBEFST XIP LOPX 1IJM ,BSMUPOT GBNPVT

    RVPUF

    7KHUHDUHRQO\WZRKDUGWKLQJVLQ&RPSXWHU6FLHQFH FDFKHLQYDOLGDWLRQDQGQDPLQJWKLQJV*O UIF GPMMPXJOH DIBQUFST XFMM UFBDI ZPV TBGF DBDIJOH UFDIOJRVFT UP FOTVSF ZPVS VTFST OFWFS

    TFF TUBMF DPOUFOU VOJOUFOUJPOBMMZ "EEJUJPOBMMZ XFMM TIPX ZPV IPX UP UVOF ZPVS TUBDL TP JU

    JT BT GBTU BT QPTTJCMF FWFO PO B DBDIF NJTT

    8IZ UIF SVTI UP DBDIF

    .VMUJMBZFS DBDIJOH MFUT VT QVTI UIF CVML PG PVS USBGD BXBZ GSPN UIF NPSF DPNQMFY BOE

    DVTUPN CVJMU TPGUXBSF POUP CBUUMFUFTUFE IJHI QFSGPSNBODF PQFO TPVSDF TPGUXBSF

    5IF #JH 1JDUVSF $IBQUFS

  • 5IF #JH 1JDUVSF $IBQUFS

  • "U FBDI MBZFS MPBE NBZ CF EJTUSJCVUFE IPSJ[POUBMMZ BDSPTT NVMUJQMF TZTUFNT #VU UIF GBSUIFS

    EPXO UIF TUBDL BOZ HJWFO SFRVFTU USBWFMT UIF TMPXFS BOE NPSF UBYJOH JU XJMM CF PO UIF JOGSBT

    USVDUVSF :PVS HPBM UIFSFGPSF JT UP TFSWF BT NVDI PG ZPVS USBGD GSPN BT IJHI VQ UIF TUBDL

    BT QPTTJCMF *UT SFQFUJUJPO UIBU NJHIU ESJWF UIF QPJOU IPNF

    5IF DPNNPO QMBZFST JO UIJT TUBDL BSF

    r -PBE #BMBODFS

    o 0QFO 4PVSDF )"1SPYZ /HJOY 7BSOJTI

    o $PNNFSDJBM "NB[PO &-# &MBTUJD -PBE #BMBODFS

    3BDLTQBDF $MPVME -PBE #BM

    BODFS

    r 8FC "DDFMFSBUPS

    o 0QFO 4PVSDF 7BSOJTI /HJOY .FNDBDIFE

    o $PNNFSDJBM 'BTUMZ $MPVEBSF

    r "QQ 4FSWFS V84(* (VOJDPSO "QBDIF

    r $BDIF .FNDBDIFE 3FEJT

    r %BUBCBTF 1PTUHSFT .Z42-.BSJB%#

    5)& +063/&: 0' " 3&26&45

    "U STU HMBODF BMM UIFTF EJGGFSFOU QJFDFT PG TPGUXBSF DBO CF EBVOUJOH *O PVS DPOTVMUJOH

    QSBDUJDF XFWF TFFO TJUFT UIBU HFU UIF GVOEBNFOUBMT PG UIFTF GVODUJPOBM FMFNFOUT XSPOH

    5IF #JH 1JDUVSF $IBQUFS

  • BOE FOE VQ XJUI B GSBHJMF JOGSBTUSVDUVSF IFME UPHFUIFS XJUI CBJMJOH XJSF BOE EVDU UBQF *UT

    DSJUJDBM UP VOEFSTUBOE UIF QVSQPTF PG FBDI POF BOE IPX UIFZ JOUFSBDU XJUI FBDI PUIFS CFGPSF

    NPWJOH GPSXBSE

    -FUT VTF PVS JNBHJOBUJPOT BOE QSFUFOE ZPV BSF B QBTTFOHFS JO B NBHJDBM WFIJDMF UIBUT UBLFO

    UIF GPSN PG BO )551 SFRVFTU BOE JT USBWFSTJOH UIF MBZFST PG UIF XFC TUBDL 5IF KPVSOFZ TUBSUT

    JO UIF CSPXTFS XIFSF BO VOBTTVNJOH VTFS TFOET ZPV PO ZPVS XBZ CZ UZQJOH UIF EPNBJO PG

    ZPVS XFCTJUF JO UIF BEESFTT CBS

    " %/4 MPPLVQ XJMM IBQQFO VOMFTT ZPVWF TFU B IJHI 55- UJNF UP MJWF BOE UIF MPPLVQ JT

    BMSFBEZ DBDIFE 5IF MPPLVQ XJMM QPJOU ZPVS WFIJDMF UP UIF *1 BEESFTT PG ZPVS MPBE CBMBODFS

    BOE TFOE ZPV SPDLFUJOH PGG BDSPTT UIF JOGPSNBUJPO TVQFSIJHIXBZ UP UIF EJGGFSFOU TUPQT PO

    ZPVS KPVSOFZ

    -0"% #"-"/$&35IF STU TUPQ JT ZPVS MPBE CBMBODFS XIPTF NBJO SFTQPOTJCJMJUZ JT UP EJTQBUDI USBGD UP ZPVS

    VOEFSMZJOH JOGSBTUSVDUVSF *U BDUT BT B TJOHMF QSPYZ QPJOU UIBU SFDFJWFT SFRVFTUT GSPN UIF JO

    UFSOFU BOE EJTQBUDIFT UIFN UP IFBMUIZ BQQMJDBUJPO TFSWFST BLB UIF QPPM *U BMTP EPFT IFBMUI

    DIFDLT BOE SFNPWFT BQQ TFSWFST GSPN UIF QPPM JG UIFZ BSF EFUFSNJOFE UP CF NJTCFIBWJOH

    .PTU MPBE CBMBODFST MFU ZPV DIPPTF BO BMHPSJUIN FH SPVOE SPCJO MFBTU DPOOFDUJPOT GPS

    EJTUSJCVUJOH SFRVFTUT UP UIF BQQMJDBUJPO TFSWFST *U NBZ BMTP CF QPTTJCMF UP TQFDJGZ XFJHIUT

    UP GPSDF TPNF TFSWFST UP SFDFJWF NPSF USBGD UIBO PUIFST

    'PS NPTU DBTFT SPVOE SPCJO JT B TBGF EFGBVMU 3PVUJOH USBGD UP UIF TFSWFS XJUI UIF MFBTU

    OVNCFS PG DPOOFDUJPOT TPVOET MJLF BO BNB[JOH JEFB CVU JU DBO CF QSPCMFNBUJD JO TPNF

    TDFOBSJPT 5BLF GPS FYBNQMF BEEJOH BQQMJDBUJPO TFSWFST UP UIF QPPM EVSJOH B USBGD TQJLF

    5IF OFX TFSWFS XJMM HP GSPN [FSP DPOOFDUJPOT UP B PPE PG DPOOFDUJPOT BT TPPO BT JU KPJOT

    5IF #JH 1JDUVSF $IBQUFS

  • UIF QPPM 5IJT DBO MFBE UP BO VOEFTJSBCMF SFTVMU UIF OFX TFSWFS JT PWFSXIFMNFE EFDMBSFE

    VOIFBMUIZ BOE UBLFO PVU PG UIF SPUBUJPO

    5IF MPBE CBMBODFS JT B HPPE QMBDF UP EP 44- UFSNJOBUJPO 5IJT JT UIF BDU PG EFDSZQUJOH B

    SFRVFTU DPNJOH JO WJB )5514 BOE QBTTJOH JU EPXO UIF TUBDL BT )551 *UT HPPE UP EP UIJT

    FBSMZ PO JO UIF TUBDL 4QFBLJOH )551 JT FBTJFS BOE UIF MPBE CBMBODFS VTVBMMZ IBT UIF TQBSF

    $16 DZDMFT UP IBOEMF UIJT UBTL

    %FQFOEJOH PO ZPVS DIPJDF PG TPGUXBSF UIF MPBE CBMBODFS NBZ BMTP IBWF TPNF PWFSMBQQJOH

    GVODUJPOBMJUZ XJUI UIF OFYU MBZFS PO PVS KPVSOFZ UIF XFC BDDFMFSBUPS

    8 "$$&-&3"503"T ZPVS WFIJDMF QBTTFE UISPVHI UIF MPBE CBMBODFS JU EJSFDUFE ZPV UP POF PG QPTTJCMZ NBOZ

    XFC BDDFMFSBUPST BU UIF OFYU MFWFM PG UIF TUBDL 5IF XFC BDDFMFSBUPS BLB DBDIJOH )551

    SFWFSTF QSPYZ JT UIF STU MJOF PG EFGFOTF GPS ZPVS BQQMJDBUJPO TFSWFST GBSUIFS EPXO UIF TUBDL

    *O UIJT CPPL XFMM GPDVT PO 7BSOJTI PVS QSFGFSSFE XFC BDDFMFSBUPS TPMVUJPO

    0OF PG UIF STU UBTLT GPS UIF XFC BDDFMFSBUPS JT UP EFUFSNJOF JG UIJT JT B SFRVFTU GPS B SFTPVSDF

    XIFSF UIF SFTQPOTF WBSJFT XJUI FBDI VTFS 'PS NBOZ BQQMJDBUJPOT JU NJHIU TFFN MJLF FWFSZ

    SFRVFTU WBSJFT QFS VTFS 5IFSF BSF TPNF USJDLT XFMM TIPX ZPV MBUFS UP XPSL BSPVOE UIJT CVU

    UIF CBTJD RVFTUJPO BU UIF XFC BDDFMFSBUPS JT UIJT JT UIJT QBHF VOJRVF UP ZPV PS UIF TBNF GPS

    FWFSZPOF

    *G UIF SFTQPOTF JT VTFSTQFDJD JU XJMM XBWF ZPVS WFIJDMF PO UP UIF OFYU MBZFS JO UIF TUBDL *G

    OPU JU XJMM TFF JG JU BMSFBEZ IBT B DPQZ PG UIF SFTQPOTF JO JUT JOUFSOBM DBDIF *G JUT GPVOE ZPVS

    WFIJDMFT KPVSOFZ TUPQT IFSF BOE ZPVSF TFOU CBDL UP UIF CSPXTFS XJUI UIF DBDIFE SFTQPOTF

    *G JU JTOU GPVOE JO DBDIF JU XJMM TFOE ZPV EPXO UIF TUBDL CVU UBLF B TOBQTIPU PG UIF SFTQPOTF

    IUUQTXXXWBSOJTIDBDIFPSH

    5IF #JH 1JDUVSF $IBQUFS

  • PO ZPVS XBZ CBDL TP JU DBO TUPSF JU JO UIF DBDIF

    *EFBMMZ NPTU SFRVFTUT KPVSOFZT FOE IFSF 5IF XFC BDDFMFSBUPS BCTPSCT USBGD TQJLFT HFOFS

    BUFE CZ B NBSLFUJOH DBNQBJHO PS WJSBM DPOUFOU PO TJUFT MJLF 3FEEJU PS 'BDFCPPL

    :PVS KPVSOFZ JT HPJOH UP LFFQ HPJOH IPXFWFS /FYU TUPQ UIF BQQMJDBUJPO TFSWFS

    "11-*$"5*0/ 4&37&36Q UP OPX ZPVWF CFFO [PPNJOH BMPOH UIF IJHITQFFE JOUFSTUBUF IJHIXBZ CVU BT ZPV TUBSU

    UP QVMM JOUP UIF BQQMJDBUJPO TFSWFS UIF SPBE HFUT B MJUUMF NPSF XJOEJOH BOE ZPVS QBDF TUBSUT UP

    TMPX EPXO

    5IF BQQMJDBUJPO TFSWFS IBT B TJNQMF UBTL JU UVSOT ZPVS )551 SFRVFTU JOUP B 84(* XFC TFSWFS

    HBUFXBZ JOUFSGBDF SFRVFTU UIBU 1ZUIPO DBO VOEFSTUBOE 0VS QSFGFSSFE BQQMJDBUJPO TFSWFS JT

    V84(* 5IFSF BSF MPUT PG MBOFT PG DBST QBTTJOH UISPVHI UIF BQQMJDBUJPO BLB 84(* TFSWFS

    BOE PO UIF PUIFS TJEF ZPV DBUDI TJHIU PG %KBOHP 5IF XJOEJOH SPBE OPX CFDPNFT DJUZ TUSFFUT

    DPNQMFUF XJUI UVSOT BOE TUPQ TJHOT

    %+"/(05IF %KBOHP TUSFFUT TIPVME MPPL GBNJMJBS UP ZPV :PV HP UISPVHI UIF NJEEMFXBSF IBOE PGG ZPVS

    63- UP UIF SPVUFS XIP QPJOUT ZPV UPXBSET POF PG UIF WJFXT JO UIF BQQMJDBUJPO :PV OPUJDF

    IPXFWFS UIBU UIFSF BSF B GFX EJGGFSFODFT CFUXFFO UIJT %KBOHP BQQMJDBUJPO BOE UIF POFT ZPV

    IBDL PO PO ZPVS MBQUPQ

    4PNF SFRVFTUT BSF HFUUJOH SFTQPOTFT BOE [JQQJOH IPNF JO UIF NJEEMFXBSF [POF 5IBUT

    %KBOHPT QFSTJUF DBDIF JO BDUJPO "T ZPV FOUFS UIF WJFX ZPV OPUJDF UIBU JOTUFBE PG IBWJOH

    IUUQVXTHJEPDTSFBEUIFEPDTPSHFOMBUFTU

    5IF #JH 1JDUVSF $IBQUFS

  • UP TUPQ BOE XBJU GPS FWFSZ EBUBCBTF RVFSZ TPNF SFUVSO PVU PG DBDIF BMNPTU JNNFEJBUFMZ

    B EBUBCBTF RVFSZ DBDIF 3BUIFS UIBO UXJTUJOH BOE UVSOJOH UISPVHI UIF UFNQMBUF MFWFM ZPV

    OPUJDF TPNF PG UIF CMPDLT TJNQMZ Z CZ UFNQMBUF DBDIJOH

    8IJMF TMPX DPNQBSFE UP UIF IJHIXBZ ZPV XFSF PO FBSMJFS UIF USJQ UISPVHI %KBOHP XBT QSFUUZ

    GBTU :PVWF OPX HPU UIF GVMM SFTQPOTF JO UPX BOE OFFE UP IFBE IPNF UP UIF CSPXTFS 0O

    ZPVS XBZ ZPVMM QBTT CBDL UISPVHI FBDI MBZFS DIFDLJOH JO B DPQZ PG ZPVS SFTQPOTF XJUI UIF

    QFSTJUF DBDIF JO %KBOHP BOE BHBJO XJUI UIF XFC BDDFMFSBUPS PO ZPVS XBZ PVU UP UIF JOUFSOFU

    )PX MPOH EJE ZPVS MJUUMF SFRVFTU KPVSOFZ UBLF 4VSQSJTJOHMZ BMM UIJT IBQQFOT JO KVTU B GSBDUJPO

    PG B TFDPOE

    8IFO ZPV TUBSU MPPLJOH BU ZPVS PXO BQQMJDBUJPOT SFTQPOTF UJNFT IFSF BSF TPNF SPVHI OVN

    CFST ZPV DBO TIPPU GPS *G ZPVS BQQMJDBUJPO JT WF UJNFT TMPXFS UIFSFT HPJOH UP CF B MPU PG

    SPPN GPS JNQSPWFNFOU

    &TUJNBUFE 3FTQPOTF 5JNFTNT 7BSOJTI DBDIF IJUNT %KBOHP QFSTJUF DBDIF IJUNT %KBOHP XJUI XBSN DBDIFNTT %KBOHP XJUI DPME DBDIF

    #SFBLJOH JU EPXO GVSUIFS GPS SFRVFTUT QBTTJOH UISPVHI UP %KBOHP UIF UPUBM UJNF TQFOU TIPVME

    OPU CF PWFSXIFMNJOHMZ EPNJOBUFE CZ B TJOHMF DPNQPOFOU EBUBCBTF DBDIF FUD 5IF NB

    KPSJUZ PG UJNF TIPVME CF TQFOU XPSLJOH JO 1ZUIPO XJUI OP NPSF UIBO PS TP TQFOU JO BOZ

    HJWFO DPNQPOFOU

    )PXT ZPVS %KBOHP BQQ DPNQBSF *T UIFSF SPPN GPS JNQSPWFNFOU *O UIF OFYU DIBQUFS XFMM

    FYQMPSF UIF EFWFMPQNFOU QSPDFTT BOE TIPX ZPV IPX BOE XIFSF UP PQUJNJ[F ZPVS BQQMJDBUJPO

    BT ZPV CVJME JU

    5IF #JH 1JDUVSF $IBQUFS

    PrefaceThe Big PictureIntroductionPhilosophyThe Pain PointsCache All the ThingsThe Journey of a Request

    The BuildApproachWatching PerformanceWhere to OptimizeTesting

    The DeploymentPrerequisitesServer layoutTuning the StackConfiguring your ServersMonitoring

    The PreparationLoad Testing with JmeterLaunch PlanningPre-launch checklist

    The LaunchYour War Room: Monitoring the LaunchWhen Disaster Strikes

    The Road AheadTraffic SpikesBit RotPoor Decisions

    Final ThoughtsIndex