You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -4,7 +4,7 @@ description: Full list of available performance recommendations in Advisor.
4
4
ms.topic: article
5
5
author: mabrahms
6
6
ms.author: v-mabrahms
7
-
ms.date: 3/22/2024
7
+
ms.date: 6/24/2024
8
8
---
9
9
10
10
# Performance recommendations
@@ -440,150 +440,76 @@ With the new Ev5 compute hardware, you can boost workload performance by 30% wit
440
440
441
441
Learn more about [Azure Database for MySQL flexible server - OrcasMeruMySqlComputeSeriesUpgradeEv5 (Boost your workload performance by 30% with the new Ev5 compute hardware)](https://techcommunity.microsoft.com/t5/azure-database-for-mysql-blog/boost-azure-mysql-business-critical-flexible-server-performance/ba-p/3603698).
442
442
443
+
### Increase the storage limit for Hyperscale (Citus) server group
443
444
444
-
### Scale the storage limit for PostgreSQL server
445
-
446
-
Our system shows that the server might be constrained because it is approaching limits for the currently provisioned storage values. Approaching the storage limits might result in degraded performance or in the server being moved to read-only mode. To ensure continued performance, we recommend increasing the provisioned storage amount or turning ON the "Auto-Growth" feature for automatic storage increases
447
-
448
-
Learn more about [PostgreSQL server - OrcasPostgreSqlStorageLimit (Scale the storage limit for PostgreSQL server)](https://aka.ms/postgresqlstoragelimits).
449
-
450
-
### Scale the PostgreSQL server to higher SKU
451
-
452
-
Our system shows that the server might be unable to support the connection requests because of the maximum supported connections for the given SKU, which might result in a large number of failed connections requests adversely affecting performance. To improve performance, we recommend moving to higher memory SKU by increasing vCore or switching to Memory-Optimized SKUs.
453
-
454
-
Learn more about [PostgreSQL server - OrcasPostgreSqlConcurrentConnection (Scale the PostgreSQL server to higher SKU)](https://aka.ms/postgresqlconnectionlimits).
455
-
456
-
### Move your PostgreSQL server to Memory Optimized SKU
457
-
458
-
Our system shows that there is high churn in the buffer pool for this server which can result in slower query performance and increased IOPS. To improve performance, review your workload queries to identify opportunities to minimize memory consumed. If no such opportunity found, then we recommend moving to higher SKU with more memory or increase storage size to get more IOPS.
459
-
460
-
Learn more about [PostgreSQL server - OrcasPostgreSqlMemoryCache (Move your PostgreSQL server to Memory Optimized SKU)](https://aka.ms/postgresqlpricing).
461
-
462
-
### Add a PostgreSQL Read Replica server
463
-
464
-
Our system shows that you might have a read intensive workload running, which results in resource contention for this server. Resource contention can lead to slow query performance for the server. To improve performance, we recommend you add a read replica, and offload some of your read workloads to the replica.
445
+
Our system shows that one or more nodes in the server group might be constrained because they are approaching limits for the currently provisioned storage values. This might result in degraded performance or in the server being moved to read-only mode. To ensure continued performance, we recommend increasing the provisioned disk space.
465
446
466
-
Learn more about [PostgreSQL server - OrcasPostgreSqlReadReplica (Add a PostgreSQL Read Replica server)](https://aka.ms/postgresqlreadreplica).
447
+
Learn more about [PostgreSQL server - OrcasPostgreSqlCitusStorageLimitHyperscaleCitus (Increase the storage limit for Hyperscale (Citus) server group)](/azure/postgresql/howto-hyperscale-scale-grow#increase-storage-on-nodes).
467
448
468
449
### Increase the PostgreSQL server vCores
469
450
470
-
Our system shows that the CPU has been running under high utilization for an extended time period over the last seven days. High CPU utilization might lead to slow query performance. To improve performance, we recommend moving to a larger compute size.
471
-
472
-
Learn more about [PostgreSQL server - OrcasPostgreSqlCpuOverload (Increase the PostgreSQL server vCores)](https://aka.ms/postgresqlpricing).
473
-
474
-
### Improve PostgreSQL connection management
475
-
476
-
Our system shows that your PostgreSQL server might not be managing connections efficiently, which can result in unnecessary resource consumption and overall higher application latency. To improve connection management, we recommend that you reduce the number of short-lived connections and eliminate unnecessary idle connections by configuring a server side connection-pooler, such as PgBouncer.
477
-
478
-
Learn more about [PostgreSQL server - OrcasPostgreSqlConnectionPooling (Improve PostgreSQL connection management)](https://aka.ms/azure_postgresql_connection_pooling).
479
-
480
-
### Improve PostgreSQL log performance
481
-
482
-
Our system shows that your PostgreSQL server has been configured to output VERBOSE error logs. This setting can be useful for troubleshooting your database, but it can also result in reduced database performance. To improve performance, we recommend that you change the log_error_verbosity parameter to the DEFAULT setting.
483
-
484
-
Learn more about [PostgreSQL server - OrcasPostgreSqlLogErrorVerbosity (Improve PostgreSQL log performance)](https://aka.ms/azure_postgresql_log_settings).
485
-
486
-
### Optimize query statistics collection on an Azure Database for PostgreSQL
487
-
488
-
Our system shows that your PostgreSQL server has been configured to track query statistics using the pg_stat_statements module. While useful for troubleshooting, it can also result in reduced server performance. To improve performance, we recommend that you change the pg_stat_statements.track parameter to NONE.
489
-
490
-
Learn more about [PostgreSQL server - OrcasPostgreSqlStatStatementsTrack (Optimize query statistics collection on an Azure Database for PostgreSQL)](https://aka.ms/azure_postgresql_optimize_query_stats).
491
-
492
-
### Optimize query store on an Azure Database for PostgreSQL when not troubleshooting
493
-
494
-
Our system shows that your PostgreSQL database has been configured to track query performance using the pg_qs.query_capture_mode parameter. While troubleshooting, we suggest setting the pg_qs.query_capture_mode parameter to TOP or ALL. When not troubleshooting, we recommend that you set the pg_qs.query_capture_mode parameter to NONE.
495
-
496
-
Learn more about [PostgreSQL server - OrcasPostgreSqlQueryCaptureMode (Optimize query store on an Azure Database for PostgreSQL when not troubleshooting)](https://aka.ms/azure_postgresql_query_store).
497
-
498
-
### Increase the storage limit for PostgreSQL Flexible Server
499
-
500
-
Our system shows that the server might be constrained because it is approaching limits for the currently provisioned storage values. Approaching the storage limits might result in degraded performance or in the server being moved to read-only mode.
451
+
Over 7 days, CPU usage was at least one of the following: Above 90% for 2 or more hours, above 50% for 50% of the time, at max usage for 20% of the time. High CPU utilization can lead to slow query performance. To improve performance, we recommend moving your server to a larger SKU with higher compute.
452
+
Learn more about [Azure Database for PostgreSQL flexible server - Upscale Server SKU for PostgreSQL on Azure Database](/azure/postgresql/flexible-server/concepts-compute).
501
453
502
-
Learn more about [PostgreSQL server - OrcasPostgreSqlFlexibleServerStorageLimit (Increase the storage limit for PostgreSQL Flexible Server)](https://aka.ms/azure_postgresql_flexible_server_limits).
503
-
504
-
#### Optimize logging settings by setting LoggingCollector to -1
505
-
506
-
Optimize logging settings by setting LoggingCollector to -1
507
-
508
-
Learn more [Logs in Azure Database for PostgreSQL - Single Server] (/azurepostgresql/single-server/concepts-server-logs#configure-logging).
509
-
510
-
#### Optimize logging settings by setting LogDuration to OFF
511
-
512
-
Optimize logging settings by setting LogDuration to OFF
513
-
514
-
Learn more [Logs in Azure Database for PostgreSQL - Single Server] (/azurepostgresql/single-server/concepts-server-logs#configure-logging).
515
-
516
-
#### Optimize logging settings by setting LogStatement to NONE
517
-
518
-
Optimize logging settings by setting LogStatement to NONE
519
-
520
-
Learn more [Logs in Azure Database for PostgreSQL - Single Server] (/azurepostgresql/single-server/concepts-server-logs#configure-logging).
521
-
522
-
#### Optimize logging settings by setting ReplaceParameter to OFF
523
-
524
-
Optimize logging settings by setting ReplaceParameter to OFF
525
-
526
-
Learn more [Logs in Azure Database for PostgreSQL - Single Server] (/azurepostgresql/single-server/concepts-server-logs#configure-logging).
527
-
528
-
#### Optimize logging settings by setting LoggingCollector to OFF
454
+
### Optimize log_statement settings for PostgreSQL on Azure Database
529
455
530
-
Optimize logging settings by setting LoggingCollector to OFF
456
+
Our system shows that you have log_statement enabled, for better performance set it to NONE
531
457
532
-
Learn more [Logs in Azure Database for PostgreSQL - Single Server] (/azurepostgresql/single-server/concepts-server-logs#configure-logging).
458
+
Learn more about [Azure Database for PostgreSQL flexible server - Optimize log_statement settings for PostgreSQL on Azure Database](/azure/postgresql/flexible-server/concepts-logging.md).
533
459
534
-
### Increase the storage limit for Hyperscale (Citus) server group
460
+
### Optimize log_duration settings for PostgreSQL on Azure Database
535
461
536
-
Our system shows that one or more nodes in the server group might be constrained because they are approaching limits for the currently provisioned storage values. This might result in degraded performance or in the server being moved to read-only mode. To ensure continued performance, we recommend increasing the provisioned disk space.
462
+
You may experience potential performance degradation due to logging settings. To optimize these settings, set the log_duration server parameter to OFF.
537
463
538
-
Learn more about [PostgreSQL server - OrcasPostgreSqlCitusStorageLimitHyperscaleCitus (Increase the storage limit for Hyperscale (Citus) server group)](/azure/postgresql/howto-hyperscale-scale-grow#increase-storage-on-nodes).
464
+
Learn more about [Learn more about Azure Database for PostgreSQL flexible server - Optimize log_duration settings for PostgreSQL on Azure Database](/azure/postgresql/flexible-server/concepts-logging.md).
539
465
540
-
### Optimize log_statement settings for PostgreSQL on Azure Database
466
+
### Optimize log_min_duration settings for PostgreSQL on Azure Database
541
467
542
-
Our system shows that you have log_statement enabled, for better performance set it to NONE
468
+
Your log_min_duration server parameter is set to less than 60,000 ms (1 minute), which can lead to potential performance degradation. You can optimize logging settings by setting the log_min_duration_statement parameter to -1.
543
469
544
-
Learn more about [Azure Database for PostgreSQL flexible server - OrcasMeruMeruLogStatement (Optimize log_statement settings for PostgreSQL on Azure Database)](../postgresql/flexible-server/concepts-logging.md).
470
+
Learn more about [Azure Database for PostgreSQL flexible server - Optimize log_min_duration settings for PostgreSQL on Azure Database](/azure/postgresql/flexible-server/concepts-logging.md).
545
471
546
-
### Increase the work_mem to avoid excessive disk spilling from sort and hash
472
+
### Optimize log_error_verbosity settings for PostgreSQL on Azure Database
547
473
548
-
Our system shows that the configuration work_mem is too small for your PostgreSQL server, resulting in disk spilling and degraded query performance. We recommend increasing the work_mem limit for the server, which helps to reduce the scenarios when the sort or hash happens on disk and improves the overall query performance.
474
+
Your server has been configured to output VERBOSE error logs. This can be useful for troubleshooting your database, but it can also result in reduced database performance. To improve performance, we recommend changing the log_error_verbosity server parameter to the DEFAULT setting.
549
475
550
-
Learn more about [Azure Database for PostgreSQL flexible server - OrcasMeruMeruWorkMem (Increase the work_mem to avoid excessive disk spilling from sort and hash)](https://aka.ms/runtimeconfiguration).
476
+
Learn more about [Learn more about Azure Database for PostgreSQL flexible server - Optimize log_error_verbosity settings for PostgreSQL on Azure Database](/azure/postgresql/flexible-server/concepts-logging.md).
551
477
552
-
### Improve PostgreSQL - Flexible Server performance by enabling Intelligent tuning
478
+
### Identify if checkpoints are happening too often to improve PostgreSQL - Flexible Server performance
553
479
554
-
Our system suggests that you can improve storage performance by enabling Intelligent tuning
480
+
Your sever is encountering checkpoints frequently. To resolve the issue, we recommend increasing your max_wal_size server parameter.
555
481
556
-
Learn more about [Azure Database for PostgreSQL flexible server - OrcasMeruIntelligentTuning (Improve PostgreSQL - Flexible Server performance by enabling Intelligent tuning)](../postgresql/flexible-server/concepts-intelligent-tuning.md).
482
+
Learn more about [Azure Database for PostgreSQL flexible server – Increase max_wal_size](/azure/postgresql/flexible-server/server-parameters-table-write-ahead-log---checkpoints?pivots=postgresql-16#max_wal_size).
557
483
558
-
### Optimize log_duration settings for PostgreSQL on Azure Database
484
+
### Identify inactive Logical Replication Slots to improve PostgreSQL - Flexible Server performance
559
485
560
-
Our system shows that you have log_duration enabled, for better performance, set it to OFF
486
+
Your server may have inactive logical replication slots which can result in degraded server performance and availability. We recommend deleting inactive replication slots or consuming the changes from the slots so the Log Sequence Number (LSN) advances to closer to the current LSN of the server.
561
487
562
-
Learn more about [Azure Database for PostgreSQL flexible server - OrcasMeruMeruLogDuration (Optimize log_duration settings for PostgreSQL on Azure Database)](../postgresql/flexible-server/concepts-logging.md).
488
+
Learn more about [Azure Database for PostgreSQL flexible server – Unused/inactive Logical Replication Slots](/azure/postgresql/flexible-server/how-to-autovacuum-tuning#unused-replication-slots).
563
489
564
-
### Optimize log_min_duration settings for PostgreSQL on Azure Database
490
+
### Identify long-running transactions to improve PostgreSQL - Flexible Server performance
565
491
566
-
Our system shows that you have log_min_duration enabled, for better performance, set it to -1
492
+
There are transactions running for more than 24 hours. Review the High CPU Usage-> Long Running Transactions section in the troubleshooting guides to identify and mitigate the issue.
567
493
568
-
Learn more about [Azure Database for PostgreSQL flexible server - OrcasMeruMeruLogMinDuration (Optimize log_min_duration settings for PostgreSQL on Azure Database)](../postgresql/flexible-server/concepts-logging.md).
494
+
Learn more about [Azure Database for PostgreSQL flexible server – Long Running transactions using Troubleshooting guides](/azure/postgresql/flexible-server/how-to-troubleshooting-guides).
569
495
570
-
### Optimize pg_qs.query_capture_mode settings for PostgreSQL on Azure Database
496
+
### Identify Orphaned Prepared transactions to improve PostgreSQL - Flexible Server performance
571
497
572
-
Our system shows that you have pg_qs.query_capture_mode enabled, for better performance, set it to NONE
498
+
There are orphaned prepared transactions. Rollback/Commit the prepared transaction. The recommendations are shared in Autovacuum Blockers -> Autovacuum Blockers section in the troubleshooting guides.
573
499
574
-
Learn more about [Azure Database for PostgreSQL flexible server - OrcasMeruMeruQueryCaptureMode (Optimize pg_qs.query_capture_mode settings for PostgreSQL on Azure Database)](../postgresql/flexible-server/concepts-query-store-best-practices.md).
500
+
Learn more about [Azure Database for PostgreSQL flexible server – Orphaned Prepared transactions using Troubleshooting guides](/azure/postgresql/flexible-server/how-to-troubleshooting-guides).
575
501
576
-
### Optimize PostgreSQL performance by enabling PGBouncer
502
+
### Identify Transaction Wraparound to improve PostgreSQL - Flexible Server performance
577
503
578
-
Our system shows that you can improve PostgreSQL performance by enabling PGBouncer
504
+
The server has crossed the 50% wraparound limit, having 1 billion transactions. Refer to the recommendations shared in the Autovacuum Blockers -> Emergency AutoVacuum and Wraparound section of the troubleshooting guides.
579
505
580
-
Learn more about [Azure Database for PostgreSQL flexible server - OrcasMeruOrcasPostgreSQLConnectionPooling (Optimize PostgreSQL performance by enabling PGBouncer)](../postgresql/flexible-server/concepts-pgbouncer.md).
506
+
Learn more about [Azure Database for PostgreSQL flexible server – Transaction Wraparound using Troubleshooting guides](/azure/postgresql/flexible-server/how-to-troubleshooting-guides).
581
507
582
-
### Optimize log_error_verbosity settings for PostgreSQL on Azure Database
508
+
### Identify High Bloat Ratio to improve PostgreSQL - Flexible Server performance
583
509
584
-
Our system shows that you have log_error_verbosity enabled, for better performance, set it to DEFAULT
510
+
The server has a bloat_ratio (dead tuples/ (live tuples + dead tuples) > 80%). Refer to the recommendations shared in the Autovacuum Monitoring section of the troubleshooting guides.
585
511
586
-
Learn more about [Azure Database for PostgreSQL flexible server - OrcasMeruMeruLogErrorVerbosity (Optimize log_error_verbosity settings for PostgreSQL on Azure Database)](../postgresql/flexible-server/concepts-logging.md).
512
+
Learn more about [Azure Database for PostgreSQL flexible server – High Bloat Ratio using Troubleshooting guides](/azure/postgresql/flexible-server/how-to-troubleshooting-guides).
587
513
588
514
### Increase the storage limit for Hyperscale (Citus) server group
589
515
@@ -593,15 +519,9 @@ Learn more about [Hyperscale (Citus) server group - MarlinStorageLimitRecommenda
593
519
594
520
### Migrate your database from SSPG to FSPG
595
521
596
-
Consider our new offering, Azure Database for PostgreSQL Flexible Server, which provides richer capabilities such as zone resilient HA, predictable performance, maximum control, custom maintenance window, cost optimization controls, and simplified developer experience.
597
-
598
-
Learn more about [Azure Database for PostgreSQL flexible server - OrcasPostgreSqlMeruMigration (Migrate your database from SSPG to FSPG)](../postgresql/how-to-upgrade-using-dump-and-restore.md).
599
-
600
-
### Move your PostgreSQL Flexible Server to Memory Optimized SKU
601
-
602
-
Our system shows that there is high churn in the buffer pool for this server, resulting in slower query performance and increased IOPS. To improve performance, review your workload queries to identify opportunities to minimize memory consumed. If no such opportunity found, then we recommend moving to higher SKU with more memory or increase storage size to get more IOPS.
522
+
Consider our new offering, Azure Database for PostgreSQL Flexible Server, which provides richer capabilities such as zone resilient HA, predictable performance, maximum control, custom maintenance window, cost optimization controls, and simplified developer experience.
603
523
604
-
Learn more about [PostgreSQL server - OrcasMeruMemoryUpsell (Move your PostgreSQL Flexible Server to Memory Optimized SKU)](https://aka.ms/azure_postgresql_flexible_server_pricing).
524
+
Learn more about [Azure Database for PostgreSQL flexible server - OrcasPostgreSqlMeruMigration (Migrate your database from SSPG to FSPG)](/azure/postgresql/how-to-upgrade-using-dump-and-restore).
605
525
606
526
### Improve your Cache and application performance when running with high network bandwidth
0 commit comments