webForumDet fria alternativet

Kass prestanda

Webbutveckling

4 svar · 341 visningar · startad av JAreMANNEN

Medlem sedan aug. 20002 272 inlägg
Frågan#1

Tjipp!

Håller på med en sajt som har mellan 500-1000 användare samtidigt just nu. Och prestandan är verkligen kass för tillfället!
Bandbredden som vår server ligger på just nu är 2Mbit, jag har ingen aning om hur mycket som går åt till olika saker osv.
Men kan tänka mig att det är för lite?
Det sker ett par databashämtningar mha ASP mot SQL-server på varje sida som laddas varav vissa lite kraftigare utsökningar. Det är just de kraftigare utsökningarna som går väldigt segt.
SQL Server tar inte upp speciellt mkt cpu, pendlar mellan 5-20%, IIS verkar inte heller ta upp speciellt mkt.
Vad finns det för alternativ för att få upp prestandan??

Tack på förhand!

Medlem sedan nov. 20018 492 inlägg
#2

Optimera kod? :)

Medlem sedan aug. 20002 272 inlägg
#3

jadu, men just nu vet jag inte vad som ska optimeras.
Har ju gjort alla optimeringar jag känner till :)
All kod är skriven på själva ASP-sidan, altså inte skrivit några egna komponenter.
Jag behöver vägledning helt enkelt...

Medlem sedan jan. 2004501 inlägg
#4

Börja göra om sidan i ASP.NET.
Cacha så mycket du kan.
Använda Stored procedurs.

Några saker att tänka på om du inte redan har gjort det.

Medlem sedan feb. 200112 078 inlägg
#5

Jag skulle kika på hur din SQL-server presterar tidsmässigt, även om det kan verka lite konstigt att den inte sliter så mycket CPU eller minne. Låg minnesanvändning kan betyda att de resurser som SQL Server kan utnyttja, kanske inte används ordentligt.

  1. Kontrollera dina SQL-frågor. Behöver du verkligen använda select * from ... ? Specificera vilka fält du vill använda, speciellt ifall du JOINar mycket data.
  2. Har du index i databasen? Mycket viktigt. Det finns funktioner som föreslår indexeringar i SQL Server som brukar vara mycket vettiga.
  3. Refererar du till dina databasobjekt som Databasnamn.dbo.Tabellnamn? Jag har funderat mer och mer på detta faktum, att utan denna syntax så cachar inte SQL Server några Execution plans i procedurcachen, vilket i sin tur betyder att varenda fråga går igenom alla de steg som krävs av SQL Server för att avgöra på vilket sätt frågan skall exekveras. Om du har fullständiga referenser till objekten, lagras dessa exekveringsplaner och nästa gång en liknande (eller samma) fråga dyker upp, har SQL Server redan en färdig exekveringsplan för den. Det betyder att den kan hoppa över hela analysen, indexkontroller osv osv, och bara köra frågan direkt istället. Jag är inte 100% säker på att detta ger jättemycket prestandaskillnad, men enligt officiella manualer och välkunniga källor är det starkt rekommenderat, iallafall i SQL Server 7.
  4. Använd Stored procedures.
260 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)