Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Artiklar / Titel på artikeln

Använd XML för att öka din sites prestanda

Postad 2002-12-01 av Susanne Hayat i sektionen ASP.NET, C#, Okategoriserat med 0 Kommentarer | Läst av: 4941, Betyg: 66%

Förord

När XML lanserades så fick vi möjligheten att superladda våra webbsidor och tjäna massvis med prestanda. XML låter oss separera kod, innehåll samt utseende. Dagens webbutvecklare har tre olika filer som skapar den HTML som vi visar. Eftersom innehållet finns i en distinkt fil, separat från kod och presentation, så har vi nu möjligheten att skapa ett statiskt innehåll där uppdateringen baseras på ändringar av företagets behov. Strategin är att ha processer som skapar statiskt innehåll periodiskt istället för varje gång som en sida anropas, och det höjer våra webbsidors prestanda och reducerar lasten på databasen.
Innehåll
  » Hur XML höjer prestanda
  » Finn de områden som kommer att producera enorm prestandahöjnin
  » Implementera XML till dina applikationer, baserat på exemplet
  » Steg 1: Installera nödvändiga komponenter
  » Steg 2: Kör Installeringsscriptet
  » Steg 3: Konfigurera Jobbet
  » Steg 4: Skapa ett XML Document Template baserat på ett XML dok
  » Steg 5: Lägg till ett par rader kod, så är du klar!
Relaterade artiklar
  » Dra fördel av SQL2K Performance Tuning Tools

Använd XML till att superladda webbsidans prestanda


av Justin Gunther


Hur XML höjer prestanda

Användandet av XML kan höja prestanda på många olika sätt, och dess inkluderar:

  • Innehållet ligger lokalt på webbservern, vilket minskar nätverkstrafiken.
  • Det blir en mindre last på dataskiktet eftersom din databas förfrågas varje minut – eller en gång om dagen – istället för att frågas ut t ex 50 gånger i minuten. (Skapandet av statiskt innehåll sker vanligtvis timvis eller på nätterna).
  • Din HTML kommer att skapas och visas snabbare eftersom din applikation inte behöver fråga ut databasen och skicka data över nätverket och tillbaka igen.

Du behöver inte göra om hela din webbsida till XML bara för att tjäna in på alla de fördelar som ges av att använda XML. Oftast räcker det med att du använder XML i väl valda delar av din webbsida för att generera en enorm prestandahöjning.

I den här artikeln ska vi titta på hur användning av XML kan höja prestandan i verkligheten. Om du vill följa med i alla exempel så kommer du att behöva följande (men om du bara vill läsa exemplen utan att genomföra dem, så går det också bra):

Krav

  • SQL Server 7.0 (exemplena kommer att använda Pubs databasen)
  • XML Creator Objekt (du kan ladda ner den längre ner i artikeln)
  • MS XML 3.0 (gratis från Microsoft)
  • ADO 2.6 (gratis från Microsoft)



Finn de områden som kommer att producera enorm prestandahöjning

Innan du implementerar XML så måste du identifiera vilka områden på din site som kommer att ge dig den högsta prestandaförtjänsten genom att använda XML. Du bör ta reda på vilka SQL-satser det är som exekveras oftast. Och när du väl har tagit reda på vilka SQL-satser det är som exekveras oftast så måste du sedan ta reda på om det är någon idé att använda XML i dessa områden.

Låt oss t ex använda SQL Server Profiler, ett verktyg som följer med SQL Server och låter oss följa med i de händelser som inträffar mellan din ASP applikation och SQL Server. Genom att använda det här verktyget så kan vi skapa en trace som körs mellan 15 och 30 minuter, för att se vilka lagrade procedurer som exekverades oftast under denna tidsperiod. Om du inte är familjär med SQL Server Profiler så kan du läsa artikeln om SQL Server 2000 Tuning verktyg (se hänvisad artikel längst upp på sidan).

Låt oss säga att vi efter att ha kört tracen finner att en lagrad procedur vid namn ”Categories_Get” har exekverats 40 gånger under en tidsperiod på 15 minuter! Vid närmare undersökning så finner vi att anledningen till att just denna procedur har exekverats så många gånger är för att den returnerar en lista på kategorier. Vi råkar just ha en e-handelsbutik där vi på varje sida har en navigationsbar som länkar till de olika kategorierna i vår butik. Till ingens överraskning så är det den här lagrade proceduren som returnerar listan på kategorier samt dess associerade IDn. Det här är ett perfekt exempel på där XML kan erbjuda en enorm prestandaförtjänst.


Implementera XML till dina applikationer, baserat på exemplet ovan

Implementering av XML innefattar följande steg:

    1. Installera nödvändiga komponenter
    2. Kör Installeringsscriptet
    3. Konfigurera Jobbet
    4. Skapa ett XML Document Template baserat på ett XML dokument
    5. Lägg till en include-fil som innehåller XML funktioner till din ASP sida, ta bort din gamla kod och lägg sedan in en rad av kod så är du klar!



Steg 1: Installera nödvändiga komponenter

För att XML Creator komponenten ska kunna fungera korrekt så måste du installera ADO 2.6 och MS XML 3.0, förutsatt att du inte redan har gjort det. Båda kan erhållas gratis från Microsoft.

  • MDAC (ADO 2.6): Ladda ner
  • MS XML 3.0: Ladda ner

Därefter måste du ladda ner en komponent som tar ett recordset och skapar ett XML dokument. Jag skapade komponenten med hjälp av Visual Basic och den använder ADO 2.6 och MS XML 3.0; därför behöver du inte oroa dig för minnesläckage om du använder komponenten. Klicka här för att ladda ner den extra koden till den här artikeln, vilket inkluderar komponenten.

När du väl har laddat ner XML Creator komponenten så måste du registrera komponenten på den maskinen du har SQL Server på. För den här artikeln så ska vi använda SQL Server som schemaläggaren. Vi kommer att skapa ett arbete som exekverar en lagrad procedur under särskilda intervall. Den lagrade proceduren kommer sedan att a) skapa komponenten och b) anropa en metod med en anslutningssträng, en lagrad procedur och en sökväg för att spara XML dokumentet. Därför måste vi installera komponenterna på den maskin som det finns en SQL Server på, fast du behöver ju inte använda din produktionsserver. Du skulle kunna implementera den här lösningen på flera olika sätt, men för den här artikeln så kommer jag visa dig hur du använder SQL Server till att fullfölja uppgifterna direkt, med all kod tillhanda.

För att registrera XML Creator komponenten så öppnar du kommandoprompten i DOS och tar dig till den katalog där xml_create.dll ligger. Där kör du:

Regsvr32 xml_create.dll



Steg 2: Kör Installeringsscriptet

Under det här steget så ska vi skapa alla nödvändiga tabeller och lagrade procedurer till det här exemplet. Öppna filen ”install.sql” (vilken är inkluderad i download-filen) med Query Analyzer. När du väl har laddat in filen i Query Analyzer så trycker du F5 för att exekvera skriptet. Det kommer att skapa en ”CATEGORIES” tabell, samt fyller kategoritabellen med data och skapar två lagrade procedurer.

Installeringsscriptet skapar också en lagrad procedur vid namn ”Categories_GetAll”, vilken returnerar en lista på alla kategorier. Kom ihåg att det var den här lagrade proceduren som exekverades varje gång sidan laddades, vilket innebär att du inte behöver skapa den här proceduren (eftersom den redan finns). Resultaten av den här lagrade proceduren är det som kommer att konverteras till ett XML dokument.

Den andra lagrade proceduren är den som kommer exekveras vid specifika intervall. Den här lagrade proceduren är ansvarig för att skapa komponenten och anropa ”CreateXMLDoc” metoden till objektet, med alla nödvändiga parametrar.

Det sista delen av installeringsscriptet kommer att skapa jobbet, vilket vi ska konfigurera i nästa steg.


Steg 3: Konfigurera Jobbet

Efter att du har exekverat installeringsscriptet så bör du nu ha ett jobb som heter ”CREATE XML JOB – PLEASE CONFIGURE”. Du kan ta dig till jobbet genom att ansluta till databasen, där du kan se en trävy innehållande Databases, Data Transformation Services, Management, osv. Expandera Management noden, och därefter SQL Server Agent. Klicka sen på Job och i höger panel klickar du på jobbet ”CREATE XML JOB – PLEASE CONFIGURE” och väljer Properties. Du får gärna döpa om jobbnamnet. Klicka sen på ”Steps” tabben och gör ändringar i första steget. Det här steget exekverar den lagrade proceduren som anropar en metod av objektet. Du måste skapa ett arbete för varje XML dokument som du vill skapa. Vi kan återanvända den lagrade proceduren genom att lägga in parametrar i den lagrade proceduren, som i sin tur lägger in samma parametrar i objektet. Genom arbetet lägger vi in följande parametrar till den lagrade proceduren:

  • @ConnStr – anslutningssträngen
  • @SQL – den SQL-satsen som returnerar det recordset som kommer att konverteras till ett XML dokument
  • @RootName – rotnamnet för XML dokumentet
  • @SaveToPath – sökvägen där det resulterande XML dokumentet ska sparas

Arbetet som skapades av installeringsscriptet har redan exempel på varje värde som läggs in. Det är bara att du ändrar som värden som den lägger in. Du har nu flera olika sätt att konfigurera arbetet på. Just nu bör du skapa en schema för arbetet, samt göra så att den kontaktar en operatör ifall det fallerar.


Steg 4: Skapa ett XML Document Template baserat på ett XML dokument

Du bör nu ha ett XML dokument som skapas vid regelbundna intervall. Om du har det så är det nu dags att skapa en XSL sida som kommer ge dig en förhandstitt på hur vår XML ser ut när det läggs ut som HTML. Det finns böcker om XSL, men till det här exemplet så bör det nog räcka med några få enkla förklaringar.

Öppna filen ”categories.xsl” som är inkluderad i downloadfilen. Det här XSL dokumentet är baserat på ”categories.xml” dokumentet. Det kommer att skapa en HTML tabell med två kolumner; kategori ID och kategori Namn. XSL processorn tar XML innehållet och skapar HTML presentationen genom att jämföra templates i ditt XML dokument och sen loopa genom varje nod. Efter varje iteration av loopen så väljer XSL processorn ut värden och bygger sen upp HTML dokumentet.

Ta en titt på följande kod:



Det är viktigt att notera att “catogories” är rotnamnet som vi lade in i objektet. I nästa steg ska vi lägga in en rad med kod i ASP dokumentet som kommer att anropa en funktion som talar om för processorn att ta XML och XSL dokumenten och sen skapa HTML dokumentet.


Steg 5: Lägg till ett par rader kod, så är du klar!

I det här steget så ska vi bara ta bort några rader av den gamla koden, lägga till en include file till vår ASP sida och sedan anropa en funktion. Först gör du en backup kopia av den nuvarande ASP sidan, och när du har gjort det så raderar du den gamla koden som skapade och visade din HTML. Det är bara du som vet hur du gör det, men för att se hur det ser ut senare utan att själv genomföra exemplet så kan du öppna filen ”NoXML.asp” och sen ”UsingXML.asp”.

När du väl har raderat den kod som ska raderas så lägger du till include-filen ”XMLUtil.asp”. Includeuttrycket ska se ut som följer:



Den här includefilen innehåller alla nödvändiga XML funktioner för att överföra ditt XML dokument med hjälp av XSL dokumentet. Nu kan vi helt enkelt lägga till en rad som anropar funktionen med sökvägen till XML dokumentet samt sökvägen till XSL dokumentet, så är det klart! Följande kod kommer att räcka:


<% = TransformXML("xml/categories.xml", "xsl/categories.xsl" ) %>


Det var allt! Förhoppningsvis så kommer den här artikeln hjälpa dig att öka din webbsidas prestanda dramatiskt. Jag gick inte igenom allt så detaljerat som jag kunde ha gjort eftersom jag i huvudsak skrev den här artikeln till att visa dig HUR du kan höja din prestanda. Om du inte riktigt förstår hur den här lösningen egentligen fungerar så är det bästa sättet att riktigt kunna förstå allting att dyka rakt ner i koderna och fördjupa sig.

Upp

0 Kommentarer

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 615
27 953
271 709
5 569
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies