SQL Server-prestaties zijn van cruciaal belang voor de stabiliteit van applicaties en het behoud van gebruikers. Databases kunnen een knelpunt vormen in elke applicatie, dus realtime analytics en prestatiemonitoring zijn nodig voor een productieomgeving. Met monitoring en continue optimalisatie blijven uw applicaties concurrerend met prestaties en zal uw SQL Server-database efficiënter draaien.
Hoe SQL Server Performance werkt
SQL Server-prestaties meten de snelheid waarmee een database data uit een query ontvangt, verwerkt en retourneert. SQL Servers met goede prestaties kunnen grote datasets in milliseconden retourneren. Het is van cruciaal belang dat databasebeheerders de prestaties bewaken om ervoor te zorgen dat de front-end applicatie geen knelpunten ondervindt als gevolg van slechte serverhardware, configuraties of opslagcapaciteit.
Aan de oppervlakte zijn de SQL Server-prestaties afhankelijk van de hardware. Hardware speelt een rol in de prestaties, maar slechte configuraties of query-ontwikkeling kunnen ook de serversnelheid beïnvloeden. Het monitoren van hardwareprestaties helpt een database op topprestaties te laten draaien. Beheerders moeten ook vragen beoordelen om ervoor te zorgen dat ze geoptimaliseerd zijn voor topprestaties.
Belangrijkste factoren die de prestaties van SQL Server beïnvloeden
Databaseconfiguraties zijn vaak het belangrijkste probleem voor slechte SQL Server-prestaties. Meer in het bijzonder is indexering vaak slecht geconfigureerd en veroorzaakt het een vermindering van de prestaties. Tabel indexeert orderdata op een manier die het voor de database-engine sneller maakt om data te vinden en terug te sturen op basis van de query. Kleine databases voelen misschien niet de gevolgen van slechte indexering, maar databases met terabytes aan data en miljoenen records in één dataset zullen problemen met de prestaties ondervinden.
Hardware, inclusief opslagapparaten, is ook een belangrijke factor. Opslag moet snel genoeg zijn om input- en outputgegevens op te halen, en de CPU moet snel genoeg zijn om dataverzoeken te verwerken. Caching en programma-uitvoering worden in het geheugen uitgevoerd, dus servers moeten voldoende geheugen hebben om de database te ondersteunen. Beheerders kunnen deze factoren ook volgen om hardware te upgraden wanneer deze verouderd raakt.
De juiste infrastructuur kiezen voor SQL Server-prestaties
Piekprestaties kunnen afkomstig zijn van on-premises of cloudinfrastructuur. Hybride omgevingen zijn ook gebruikelijk bij bedrijfsdatabases. U kunt bijvoorbeeld archieven en warme back-ups opslaan in de cloud, terwijl een on-premise database met een hoogwaardige infrastructuur productiequery's ondersteunt. Een ander voorbeeld is een bedrijfsomgeving waarin openbare zoekopdrachten in de cloud worden verwerkt en interne zoekopdrachten op locatie worden verwerkt.
De opslagvereisten voor groeiende bedrijven nemen vaak toe. Het is absoluut noodzakelijk dat ze voldoende opslagruimte en toekomstige groei vrijmaken om applicaties te ondersteunen. Organisaties kunnen gebruikmaken van FlashArray™, dat prestatie- en latency-afhankelijke applicaties zoals databases ondersteunt. Pure Cloud Block Store™ is het cloudalternatief voor on-prem infrastructuur. Bedrijven die vanuit VMware porteren, hebben de optie van Portworx®-integratie.
Veelvoorkomende prestatieproblemen
Onvoldoende serverresources zijn het eerste veelvoorkomende SQL Server-prestatieprobleem. Als een server traag is, moeten beheerders eerst het gebruik van resources controleren. Controleer op pieken in CPU-gebruik, RAM-gebruiksverzadiging of schijf-I/O-fouten. Zowel cloud- als lokale besturingssystemen hebben gebruikstools om het gebruik van middelen te identificeren.
Indexeren is een ander veelvoorkomend probleem. Alle tabellen moeten primaire sleutels en indexen hebben op tabelkolommen die vaak worden gebruikt in query WHERE-clausules. De juiste index op een veelgebruikte tabelkolom kan querytijden van minuten naar milliseconden laten vallen.
Technieken voor het optimaliseren van SQL Server-prestaties
Elke query die naar een SQL Server-productiedatabase wordt gestuurd, moet worden beoordeeld op optimalisatie en prestaties. SQL Server heeft zijn eigen tools voor het identificeren van trage query's, maar query's moeten alleen de kolommen opleveren die nodig zijn voor front-end functionaliteit, JOIN-statements op de juiste manier gebruiken en indextabelkolommen die vaak worden gebruikt in JOIN- en WHERE-statements. CURSOR-query's moeten spaarzaam worden gebruikt en alleen wanneer dat nodig is. Vermijd dynamische query's en gebruik opgeslagen procedures die in SQL zijn geschreven in plaats van strings.
Beheerders moeten de prestaties van SQL Server monitoren met behulp van de SQL Server-tools van Microsoft of hun voorkeurstools. Hardware moet worden gecontroleerd om ervoor te zorgen dat de server voldoende geheugen en CPU-vermogen heeft om query's te verwerken, en opslagruimte moet voldoende zijn voor extra data om een groeiend bedrijf te ondersteunen. Cloudproviders hebben hun eigen tools om beheerders te helpen de infrastructuur te monitoren.
Tools voor prestatiebewaking en infrastructuur
Microsoft verzendt SQL Server met verschillende monitoringtools. In SQL Server Management Studio kunnen beheerders een prestatiedashboard zien. De Database Engine Tuning Advisor helpt beheerders bij het optimaliseren van opgeslagen procedures. System Monitor kan worden gebruikt op een lokale server of een externe server om het gebruik en de activiteit van hardware te controleren.
Externe cloudproviders hebben hun eigen monitoringtools. Pure Storage heeft bijvoorbeeld zijn eigen monitoringtools en SQL Server-ondersteuning. De cloudtools die u besluit te gebruiken, zijn afhankelijk van de diensten waarmee u werkt. Cloudtools sturen waarschuwingen naar beheerders wanneer de infrastructuurbronnen laag zijn, maar beheerders kunnen ervoor kiezen om Microsoft SQL Server-monitoringtools te gebruiken voor optimalisatie. De beste strategie is om tools uit te proberen om de beste oplossing te vinden voor uw bedrijfsbehoeften.
Conclusie
Om uw applicaties optimaal te laten presteren, zorgt het monitoren van de database op eventuele knelpunten ervoor dat beheerders proactieve stappen kunnen ondernemen voor optimalisatie. De databasetabellen en query's moeten niet alleen worden gecontroleerd, maar ook hardware moet worden gecontroleerd om systeemcrashes door infrastructuurstoringen te voorkomen. Hoewel Microsoft tools biedt voor SQL Server-monitoring, helpt Pure Storage beheerders ook hun technologiestack bij te houden.