Prestaties versnellen en afstemmen

Voltooid

Inzicht in uw opties om de prestaties voor Azure SQL te versnellen en af te stemmen, is essentieel voor het verder leveren van consistente prestaties. Dit omvat informatie over het schalen van de CPU-capaciteit, het verhogen van de I/O-prestaties, het configureren van het geheugen en de werkrollen, het verbeteren van de latentie van de toepassing en de beste procedures bij het verfijnen van de standaard SQL Server.

CPU-capaciteit schalen

Mogelijk moet u het aantal CPU's voor uw resourcebehoeften schalen. Voor een on-premises omgeving betekent dit dat u een VM opnieuw configureert, hardware vervangt en zelfs uw database migreert. Met Azure SQL kunt u dit doen zonder migratie aan uw kant. U kunt de portal, T-SQL, de Azure CLI of REST API's gebruiken om het aantal vCores omhoog of omlaag te schalen voor uw implementatie.

Meestal is er sprake van uitvaltijd, maar dit kan van korte duur zijn voor Azure SQL Database zonder migratie. Met Hyperscale-implementaties kunt u omhoog schalen ongeacht de gegevensgrootte en dankzij serverloze implementaties kan automatisch worden geschaald op basis van CPU-vraag.

Notitie

Het schalen van Azure SQL Managed Instance kan veel tijd in beslag nemen, maar vereist geen migratie.

I/O-prestaties

I/O-prestaties kunnen essentieel zijn voor een databasetoepassing. Azure SQL bevat een overzicht van fysieke bestandsplaatsing, maar er zijn methoden die ervoor zorgen dat u beschikt over de I/O-prestaties die u nodig hebt.

Input/output per seconde (IOPS) kan belangrijk zijn voor uw toepassing. Zorg ervoor dat u de juiste servicelaag en vCores hebt gekozen voor uw IOPS-behoeften. Zorg ervoor dat u begrijpt hoe u IOPS voor uw query's on-premises kunt meten als u naar Azure migreert. Als u beperkingen hebt qua IOPS, ziet u mogelijk lange I/O-wachttijden. In het vCore-aankoopmodel kunt u vCores omhoog schalen of overstappen op Bedrijfskritiek of Hyperscale als u onvoldoende IOPS hebt. Voor productieworkloads raden we u aan om bij het gebruik van DTU over te stappen naar de Premium-laag.

I/O-latentie is een ander belangrijk onderdeel voor I/O-prestaties. Voor een snellere I/O-latentie voor Azure SQL Database kunt u Bedrijfskritiek of Hyperscale overwegen. Voor een snellere I/O-latentie voor SQL Managed Instance, gaat u naar Bedrijfskritiek of vergroot u de bestandsgrootte of het aantal bestanden voor de database. Voor het verbeteren van de latentie van transactielogboeken moet u mogelijk multistatementtransacties gebruiken.

Geheugen of werkrollen vergroten

Het kan belangrijk zijn dat uw toepassing en implementatie voldoende geheugen of werkrollen hebben. Voor Azure SQL Database schaalt u vCores omhoog voor een hogere geheugenlimiet of werkrollen. Voor SQL Managed Instance schaalt u vCores omhoog voor een hogere geheugenlimiet. Momenteel biedt SQL Managed Instance ook ondersteuning voor het verhogen van het aantal werkrollen met 'maximaal aantal werkrolthreads'.

Toepassingslatentie verbeteren

Zelfs als u uw implementatie voor al uw resourcebehoeften configureert, kunnen toepassingen problemen met de latentieprestaties veroorzaken. Zorg ervoor dat u deze aanbevolen procedures volgt bij Azure SQL-toepassingen:

  • Gebruik een omleidingsverbinding in plaats van een proxy.
  • Optimaliseer 'intensieve' toepassingen met behulp van opgeslagen procedures of beperk het aantal geretourneerde query's via technieken als batches.
  • Optimaliseer transacties door ze te groeperen in tegenstelling tot singleton-transacties.

Afstemmen zoals SQL Server

Azure SQL is nog steeds SQL Server. Er is bijna nooit een vervanging voor het afstemmen van uw SQL Server-query's, Bekijk het volgende:

  • Correct indexontwerp
  • Werken met batches
  • Werken met opgeslagen procedures
  • Query's parameteriseren om te veel ad-hocquery's in de cache te voorkomen
  • Resultaten in uw toepassing snel en correct verwerken

In de volgende oefening neemt u het prestatieprobleem van de eerste oefening en verbetert u dit door CPU's voor Azure SQL te schalen.