DVP312 ASP.NET Scaling Strategies and Tactics

Technorati-taggar: ,

Speaker(s): Richard Campbell, Kent Alstad

Att en lösning är skalbar betyder inte att prestandan är bra, bättre skalbarhet betyder oftast att prestandan för en enskild webbsida blir sämre.

Skalning handlar om att det skall inte blir dyrare per ny användare ju mer ett system växer samt att man skall minska skillnaden mellan sämsta och bästa prestandan för en webbsida i sin lösning.

Strategier för skalning:

  • Specialisering – dela upp applikationen i olika delar så att man kan addera resurser till de delar som behöver mer resurser eller de delar som är viktigast för din lösning.
  • Distribuering – öka antal resurser som hanterar problemet

Man kan välja den ena eller den andra men oftast är det bästa att göra båda.

Specialisering

Bryt ner applikationen i olika beståndsdelar som t.ex. sök och köp så att dessa kan skalas separat. Lägg statiskt material på dedicerade delar då dessa oftast kan skala väldigt mycket med lite resurser(att ha ASP:NET installerat på IIS försämrar IIS prestanda för bilder m.m. avsevärt).

Tänk på att om man cachar stora datamängder så gör en dubbelkoll innan man hämtar från databasen så att man inte har flera trådar som hämtar samma data.

        If cacheObject Is Nothing Then
            SyncLock lock
                If cacheObject Is Nothing Then
                    cacheObject = getfromdb()
                End If
            End SyncLock
        End If

Använder man en lastbalanserare testa alltid och se vad som händer om man kopplar ur en server.

Använder man sticky sessions så betyder det att om man förlorar en server så förlorar man alla användarnas sessioner på den servern. Försök att undvika sticky session utan använd någon form av session server eller distribuerad sessionhantering.

Skallning i dataaccess lagret kan göras med bland annat:

  • uppdelning av data – data som inte ändras läggs i separata tabeller
  • dela upp läs och skriv – ha separata databasservrar för att läsa och skriva.

En mycket bra session.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s