Articles

SQL: PAGE medellivslängd

Posted by admin

symptom: SQL har upptäckt en nedgång i sidan medellivslängd, producerar långsammare svar.

effekt: Medium

långsamma SQL-svar kommer att försämra användarupplevelsen, vilket resulterar i dålig effektivitet i organisationens verksamhet.

förväntat beteende:

ju längre en sida kan stanna i buffertpoolen och läsas från minnet desto bättre är systemets prestanda. Vi rekommenderar att du ställer in tröskelvärdet på 300 sekunder för varje 4 GB buffertpool (BP) – minne.

möjliga orsaker till ihållande låg Sidlivslängd (PLE)

låg CPU-Effektprioritet: Medium
Rekommenderad åtgärd :
kontinuerligt hög användning i samband med låg PLE kan indikera behovet av en CPU-uppgradering eller tillägg av flera processorer. Se vår förklaring av CPU-användning här
Alternativt kan en hög CPU – användningshastighet indikera en dåligt inställd applikation eller SQL-kod. Optimering av applikationen kan sänka CPU-användningen.

otillräcklig RAM-prioritet: Medium
granska mängden Totalt RAM som tilldelats SQL (samtidigt som du behåller tillräckligt med RAM för operativsystemets behov). Jämför förhållandet mellan SQL-minne och databasstorlek-baserat på vår erfarenhet är ett förhållande av Totalt RAM större än 20% av den största databasen optimal.
Rekommenderad åtgärd:
om möjligt, allokera mer minne till SQL, eller alternativt lägga till fysiskt RAM till servern och öka SQL-minnesallokeringen.

sidfil upptagen/långsam prioritet: låg
kontrollera vad som körs som kan sakta ner diskåtkomsthastigheten. Buffertpoolen byter sidor ut till disken när minnesutrymme behövs. Denna process är mycket beroende av effektiviteten av data läs / skriv åtgärder till hårddisken och på nivån av efterfrågan.
Rekommenderad åtgärd:
för att påskynda disk I/O och lägre latens, leta reda på sidfilen på den snabbaste tillgängliga enheten (eller uppgradera till effektivare hårdvara). Minska också konkurrensen om denna resurs från andra verksamheter. AimBetter resource monitor ger omfattande statistik över totalt diskutrymme, ledigt utrymme och sidfilaktivitet.

felaktig Buffertpooltilldelningsprioritet: Låg
i SQL Server lagras data på 8 KB-sidor. När data krävs för inmatning/utmatning läses sidan först från disken och lagras i minnet. Det tilldelade området kallas Buffertpoolen. När en sida har laddats in i poolen är all efterföljande åtkomst mycket snabb och effektiv, medan disk I/O är relativt långsam. Så mycket minne som möjligt bör tilldelas buffertpoolen utan att svälta operativsystemet.
Rekommenderad åtgärd:
tilldela den optimala andelen fysiskt RAM till BP, men lämna tillräckligt med RAM för OS-operationer. Ange ett värde i alternativet maximalt serverminne på sidan Serverminnealternativ som lämnar tillräckligt med minne för själva operativsystemet. Vi rekommenderar cirka 4 GB mindre än den totala mängden RAM-minne installerat

möjliga orsaker eller övergående låg Sidlivslängd (PLE)

Index saknad eller korrupt prioritet: hög
saknade index betyder att SQL Server föreslår att din fråga kan köras snabbare med ett index. 99% av tiden är korruption relaterad till disk eller diskdrivrutin/firmware.
Rekommenderad åtgärd:
om ett index saknas, hänvisa till ditt systemdesignteam.
vid skadade index, se ditt lagringshanteringsteam eller våra supportexperter för hjälp. En möjlig lösning i fall där korruptionen upprepas är att klona databasen till en ny hårdvarukonfiguration.

kodningsproblem prioritet: låg
kanske ett resultat av sådana problem som ineffektiva frågeplaner eller felaktiga kodningsstandarder.
Rekommenderad åtgärd:
kontrollera planen som SQL använde för att avgöra om den var optimal.
Undersök databasfrågorna för att se om nödvändiga datafrågor är skadade eller felaktiga.
Undersök kodningen, så se om effektiviteten kan förbättras.

frågor som mättar Buffertpoolen prioritet: låg
dessa orsaker kvarstår inte under långa perioder. Främsta orsakerna är:

  • få stora minnesbidrag
  • förskjuta ett stort antal sidor i minnet med nya
  • ändra många sidor och tvinga dem att spolas till disken
  • många samtidiga (eller några mycket stora) frågor

Rekommenderad åtgärd :
i fall där de återuppstår eller visar en tendens att öka i storlek (lägre PLE), undersök de andra möjliga orsakerna nedan.

DBCC CHECKDB kör prioritet: låg
CHECKDB är mycket resurskrävande – förmodligen en av de mest resurskrävande saker SQL Server utför. Att introducera denna process som en extra Io-belastning ovanpå normal SQL Server-belastning innebär att diskhuvuden kommer att röra sig ständigt.
Rekommenderad åtgärd :
vi föreslår att du kör alla väsentliga CHECKDB-processer vid en tidpunkt med minimal SQL Server-belastning, eller alternativt på säkerhetskopior av databaserna offline.

Index ombyggnader kör prioritet: låg
ett index ombyggnad operation kommer alltid att bygga ett nytt index, vilket innebär extra utrymme krävs för att bygga det nya indexet innan släppa den gamla; en hel del CPU och I/O resurser krävs, vilket kan överbelasta systemet.
Rekommenderad åtgärd :
om det förekommer ofta kan det korrigeras genom förändringar i indexeringsproceduren, till exempel genom att byta till en strategi där fragmentering analyseras varje natt och endast de fragmenterade indexen behandlas. Våra expertsupportskonsulter är tillgängliga för att analysera och hjälpa till.

Bakgrund

Page livslängd metric mäter det genomsnittliga antalet sekunder sidor vistas i buffertpoolen. Det är nära relaterat till sidfilanvändning-se här.
för optimal prestanda bör data läsas från minnet snarare än disk, vilket är mycket långsammare. SQL uppnår detta genom att använda minnessidor som lagrar den senaste åtkomstdata. Ett reserverat minnesområde (buffertpoolen) är tillgängligt för lagring av dessa sidor. När buffertpoolen är full och SQL kräver nytt utrymme byter servern den äldsta sidan ut till sidfilen på disken och läser in de nya data. Ökningar av antalet swappar mellan minne och disk påverkar direkt prestanda.
ihållande låga nivåer av PLE är en pålitlig indikator på SQL Server minnestryck. Detta tryck kan vara ett resultat av hög efterfrågan eller från ineffektiv dataorganisation, både fysisk och logisk
vi rekommenderar att du ställer in tröskelvärdet på 300 sekunder för varje 4 GB Buffertpool (BP) – minne på din server, vilket innebär att servern ska behålla en viss sida i minnet (efter att en process refererar till sidan) i buffertpoolen i minst 5 minuter innan den spolas till disken. Om buffertpoolen spolar sidor på mindre än 300 sekunder är det förmodligen ett problem.
ju mer Minne din server har desto mer cachad disk läser och skriver den kan utföra. Brist på systemminne kan orsaka hög icke-cachad disk läser och skriver. Att lägga till minne på din server kan hjälpa till att sänka fysisk diskåtkomst.

Related Post

Leave A Comment