4 ARCHITECT Vitser som vil blåse i hjernen din

Hvis du slår på komprimering, vil du se umiddelbare ytelsesforbedringer, også hvis du aktiverer hurtigbufring for komplekse webapper.

Hvilke andre konfigurasjonsalternativer kan du endre for å forbedre ytelsen? har du en "sjekkliste for ytelse" over ting du skal angi når du får en ny server?

Jeg spør om IIS 7 eller nyere (fordi alle nåværende servere mine er IIS7)

  • Kan dette være bedre for serverfeil?
  • @John - det kan hende, men dette er et spørsmål om å konfigurere en webserver - noe profesjonelle webansvarlige bør vite om - så jeg er egentlig ikke sikker
  • Jeg tror serverkonfigurasjon er akkurat det serverfeil er for.
  • 1 Jeg tror det ikke er klart, serverfeil, webmasterexchange spørsmålet er ambisiøst, jeg tror spørsmålet kan være bra på de to sidene

IIS7 + er faktisk ganske fort. Det er ikke mye du kan gjøre for å øke hastigheten IIS; generelt vil du optimalisere på HTML, JS, bilder, CSS, HTTP, HTTP-overskrifter og muligens webapp-kode (C # etc). Disse problemene er plattformoverskridende. Brukergrensesnittet er selvfølgelig forskjellig mellom Apache og IIS, men kunnskapen er mye den samme.

Steve Souders skrev bokstavelig boken om hvordan nettsteder kan gå raskere. Det er en rask, enkel lesing. Her er en gratis sammendrag / sjekkliste som du ba om, og du finner en snakk om dette på YUI Theatre (ikke den største presentasjonen).

For de som ikke klikker på lenker, er de opprinnelige 14 reglene (som også finnes på Yahoo! S utviklernettverk):

  1. Gjør færre HTTP-forespørsler
  2. Bruk et innholdsleveringsnettverk
  3. Legg til en utløpsoverskrift
  4. Gzip-komponenter
  5. Sett stilark øverst
  6. Sett skript nederst
  7. Unngå CSS-uttrykk
  8. Gjør JavaScript og CSS eksternt
  9. Reduser DNS-oppslag
  10. Miniser JavaScript
  11. Unngå viderekoblinger
  12. Fjern dupliserte skript
  13. Konfigurer ETags
  14. Gjør AJAX Cacheable

Steves andre bok er også bra, men med mer vekt på spesifikk Javascript og nettleseradferd. Den første boka er mer universelt anvendelig, og tilpasningene gitt i den første boka har størst innvirkning.

  • takk, dette er flott info, grunnen til at jeg spurte spesifikt om IIS fordi jeg ønsket å vite om det er noen "magiske" innstillinger som å aktivere komprimering
  • Virkelig god ASP.NET ytelsesbok: amzn.to/eej7b7

Jespers tips ovenfor er gode forslag for å fremskynde statiske websider.

Hvis du kjører et ASP.NET-program, er det også ting du kan gjøre hvis nettstedet ditt har ytelsesproblemer på grunn av belastning:

  • Overvåk serveren din. ASP.NET publiserer mange tellere som kan overvåkes i PerfMon.exe. Den globale forespørsel kø-telleren viser deg om noen forespørsler blir satt i kø. Dette tallet skal alltid være 0.
  • Optimaliser alle anrop til eksterne ressurser som databaser og filsystemer. Langvarige forespørsler binder tråder og forhindrer at innkommende forespørsler blir servert
  • Hvis du har langvarige samtaler til eksterne ressurser, bør du vurdere å gjøre disse asynkrone. Dette overfører forespørselen til en egen trådgruppe og returnerer den opprinnelige tråden til bassenget for å betjene nye forespørsler
  • Øk størrelsen på trådgruppen for eldre versjoner av .NET. Denne innstillingen finner du i machine.config
  • Konfigurer alternativet for hage i IIS-applikasjonsbassenget til å bruke mer enn en arbeidsprosess (alternativet Maksimal arbeidsprosess i IIS7 avanserte innstillinger). Spill med forskjellige innstillinger for å se hva som passer best for ditt miljø. Multikjernemaskiner vil kunne håndtere flere arbeidsprosesser.
  • På en virtuell maskin, ikke tilordne for mange kjerner til serveren, da dette kan forårsake tildelingsproblemer på verten din.
  • Hvis du har prøvd alle disse og fremdeles ser problemer på grunn av belastning, bør du vurdere å klynge serveren din. Windows Server har innebygd nettverksbalansering, som lar deg konfigurere en liten nettgård uten behov for en dyr maskinvarebalanserer. IIS7 inkluderer også Web Farm Framework, som oppnår det samme ved å bruke Application Request Routing (ARR). Den håndterer også server klargjøring.

Et raskt websøk på noen av disse problemene vil gi mye god informasjon.

Magiske innstillinger er vanligvis stedsspesifikke. Du må overvåke hva som skjer for å finne de riktige spørsmålene om hva du skal endre i IIS7.

Hvilken del av ytelseskjeden er svakest?

eller

Hva kan du gjøre for å få detaljert synlighet på en tilgjengelig måte?

Jesper Mortensen har helt rett Steves to bøker er ypperlig lesing og utgjorde en nylig hastighetsforbedring på 5,5 sekunder til 1,8 sekunder (webpagetest) på et nettsted vi vedlikeholder. Stabilisering av hele systemet basert på logger hjalp oss med å holde leveransen stabil over løp og rampe opp på topp (over 50% av dette var på operativsystemnivå). Ingenting av dette kunne vært gjort i en to-dagers tidsramme uten overvåking på alle nivåer.

Det er ofte ikke en sjekkliste for hvert nettsted utover Steve Sounders-arbeid, du må vite problemet før du leter etter løsningen.

Vi implementerer ARR-modul i IIS7, så vi lager en webFarm, ARR kan cache forespørselen din på disken og øke ytelsen for oss, som gjør en stor forskjell.

På html-siden kan du også bruke flere underdomener for media, for eksempel:

js.yourdomain.com img.yourdomain.com css.yourdomain.com

etc .. Nettleser le ie, og jeg tror andre laste ned samtidig 3 sammenheng etter sub domene.

fungert for deg: Charles Robertson | Ønsker du å kontakte oss?