Aanbevolen procedures voor serverbewerkingen in Azure Database for MySQL - Flexibele server

VAN TOEPASSING OP: Azure Database for MySQL - Enkele server Azure Database for MySQL - Flexibele server

Belangrijk

Azure Database for MySQL enkele server bevindt zich op het buitengebruikstellingspad. We raden u ten zeerste aan een upgrade uit te voeren naar een flexibele Azure Database for MySQL-server. Zie Wat gebeurt er met Azure Database for MySQL Enkele server voor meer informatie over migreren naar Azure Database for MySQL Flexibele server ?

Meer informatie over de aanbevolen procedures voor het werken met een flexibele Azure Database for MySQL-server. Naarmate we nieuwe mogelijkheden aan het platform toevoegen, blijven we ons richten op het verfijnen van de aanbevolen procedures die in deze sectie worden beschreven.

Operationele richtlijnen voor flexibele azure Database for MySQL-servers

Hieronder vindt u operationele richtlijnen die moeten worden gevolgd bij het werken met een flexibele Azure Database for MySQL-server om de prestaties van uw database te verbeteren:

  • Co-locatie: Als u de netwerklatentie wilt verminderen, plaatst u de client en de databaseserver in dezelfde Azure-regio.

  • Bewaak uw geheugen, CPU en opslaggebruik: u kunt waarschuwingen instellen om u op de hoogte te stellen wanneer gebruikspatronen veranderen of wanneer u de capaciteit van uw implementatie nadert, zodat u de systeemprestaties en beschikbaarheid kunt behouden.

  • Uw DB-exemplaar omhoog schalen: u kunt omhoog schalen wanneer u de opslagcapaciteitslimieten nadert. U moet een buffer in opslag en geheugen hebben om onvoorziene toenamen van de vraag van uw toepassingen te kunnen opvangen. U kunt ook de functie voor automatisch vergroten van opslag 'AAN' inschakelen om ervoor te zorgen dat de service de opslag automatisch schaalt wanneer deze de opslaglimieten nadert.

  • Back-ups configureren: lokale of geografisch redundante back-ups inschakelen op basis van de vereiste van het bedrijf. U wijzigt ook de bewaarperiode voor hoe lang de back-ups beschikbaar zijn voor bedrijfscontinuïteit.

  • I/O-capaciteit verhogen: als voor uw databaseworkload meer I/O is vereist dan u hebt ingericht, zijn herstelbewerkingen of andere transactionele bewerkingen voor uw database traag. Als u de I/O-capaciteit van een serverexemplaren wilt verhogen, voert u een of meer van de volgende handelingen uit:

    • Flexibele Azure Database for MySQL-server biedt IOPS-schaalaanpassing met de snelheid van drie IOPS per GB-opslag. Verhoog de ingerichte opslag om de IOPS te schalen voor betere prestaties.

    • Als u al ingerichte IOPS-opslag gebruikt, moet u extra doorvoercapaciteit inrichten.

  • Rekenkracht schalen: de databaseworkload kan ook worden beperkt vanwege CPU of geheugen en dit kan ernstige gevolgen hebben voor de transactieverwerking. Rekenkracht (prijscategorie) kan alleen omhoog of omlaag worden geschaald tussen de lagen Algemeen gebruik of Geoptimaliseerd voor geheugen .

  • Test op failover: test de failover handmatig voor uw serverexemplaren om te begrijpen hoe lang het proces duurt voor uw use-case en om ervoor te zorgen dat de toepassing die toegang heeft tot uw serverexemplaren, automatisch verbinding kan maken met het nieuwe serverexemplaren na een failover.

  • Gebruik de primaire sleutel: zorg ervoor dat uw tabellen een primaire of unieke sleutel hebben terwijl u werkt op het flexibele serverexemplaren van Azure Database for MySQL. Dit helpt bij het maken van back-ups, replica's enzovoort en verbetert de prestaties.

  • TTL-waarde configureren: als uw clienttoepassing de DNS-gegevens (Domain Name Service) van uw serverexemplaren in de cache opstuurt, stelt u een TTL-waarde (Time-to-Live) in van minder dan 30 seconden. Omdat het onderliggende IP-adres van een serverexemplaren kan worden gewijzigd na een failover, kan het opslaan van de DNS-gegevens gedurende een langere periode leiden tot verbindingsfouten als uw toepassing verbinding probeert te maken met een IP-adres dat niet meer in de service is.

  • Gebruik groepsgewijze verbindingen om te voorkomen dat de maximale verbindingslimietenworden bereikt en gebruik logica voor opnieuw proberen om onregelmatige verbindingsproblemen te voorkomen.

  • Als u replica gebruikt, gebruikt u ProxySQL om de belasting tussen de primaire server en de leesbare secundaire replicaserver te verdelen. Bekijk hier de installatiestappen.

  • Zorg er bij het inrichten van de resource voor dat u de automatische groei hebt ingeschakeld voor uw exemplaar van flexibele Azure Database for MySQL-server. Hiermee worden geen extra kosten toegevoegd en worden de database beschermd tegen eventuele knelpunten in de opslag die u kunt tegenkomen.

InnoDB gebruiken met flexibele Azure Database for MySQL-server

  • Als u een functie gebruikt ibdata1 , wat een systeemtabelruimtegegevensbestand is, kan het niet worden verkleind of verwijderd door de gegevens uit de tabel te verwijderen of door de tabel naar bestand per tabel tablespaceste verplaatsen.

  • Voor een database die groter is dan 1 TB, moet u de tabel maken in innodb_file_per_tabletablespace. Voor één tabel die groter is dan 1 TB in grootte, moet u de partitietabel gebruiken.

  • Voor een server met een groot aantal is het opstarten van tablespacede engine erg traag vanwege de sequentiële tabelruimtescan tijdens het opstarten of failover van azure Database for MySQL flexibele server.

  • Stel innodb_file_per_table = AAN in voordat u een tabel maakt, als het totale tabelnummer kleiner is dan 500.

  • Als u meer dan 500 tabellen in een database hebt, controleert u de tabelgrootte voor elke afzonderlijke tabel. Voor een grote tabel moet u nog steeds overwegen om de tabelruimte bestand per tabel te gebruiken om te voorkomen dat het bestandssysteemtabelbestand de maximale opslaglimiet bereikt.

Notitie

Voor tabellen met een grootte van minder dan 5 GB kunt u overwegen de systeemtabelruimte te gebruiken

   CREATE TABLE tbl_name ... *TABLESPACE* = *innodb_system*;
  • Partitioneer de tabel bij het maken van een tabel als u een zeer grote tabel hebt, mogelijk groter dan 1 TB.

  • Gebruik meerdere exemplaren van flexibele Azure Database for MySQL-servers en verspreid de tabellen over deze servers. Vermijd het plaatsen van te veel tabellen op één server als u ongeveer 10000 tabellen of meer hebt.

Volgende stappen