Menguji dan menyesuaikan performa skema dan aplikasi
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Penyesuaian performa adalah proses berulang yang memungkinkan Anda mengevaluasi metrik seperti pemakaian CPU dan latensi, menyesuaikan skema dan aplikasi untuk meningkatkan performa, lalu menguji lagi.
Misalnya, dalam skema, Anda dapat menambahkan atau mengubah indeks, atau mengubah
kunci utama. Dalam aplikasi, Anda dapat melakukan penulisan batch, atau menggabungkan atau
mengubah kueri.
Khusus untuk traffic produksi, penyesuaian performa penting untuk membantu
menghindari hal-hal yang tidak terduga. Penyesuaian performa akan lebih efektif jika penyiapan lebih mendekati throughput traffic produksi aktif dan ukuran data.
Untuk menguji dan mengoptimalkan performa skema dan aplikasi Anda, ikuti langkah-langkah berikut:
Verifikasi konsistensi database dengan memeriksa alur dasar.
Verifikasi bahwa performa memenuhi harapan Anda dengan melakukan pengujian beban
pada aplikasi Anda. Untuk mendapatkan bantuan dalam mengidentifikasi dan mengoptimalkan kueri yang paling mahal, lihat Mendeteksi masalah performa kueri dengan insight kueri.
Secara khusus, faktor berikut dapat menyebabkan performa kueri yang tidak optimal:
Kueri yang tidak efisien: Untuk mengetahui informasi tentang cara menulis kueri SQL yang efisien, lihat Praktik terbaik SQL.
Desain skema yang tidak efisien: Jika skema tidak didesain dengan baik, pengoptimalan kueri tidak akan terlalu berguna. Untuk mengetahui informasi selengkapnya tentang mendesain skema yang baik, lihat Praktik terbaik desain skema.
Hotspot: Hotspot di Spanner membatasi throughput penulisan, terutama untuk aplikasi dengan QPS tinggi. Untuk mengidentifikasi hotspot atau masalah desain skema, periksa statistik Key Visualizer dari konsol Google Cloud . Untuk mengetahui informasi selengkapnya tentang cara menghindari hotspot, lihat Memilih kunci utama untuk mencegah hotspot.
Jika Anda mengubah skema atau indeks, ulangi pengujian konsistensi dan performa database hingga Anda mendapatkan hasil yang memuaskan.
Untuk mengetahui informasi selengkapnya tentang cara mengoptimalkan performa database, hubungi
dukungan Spanner.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-17 UTC."],[],[],null,["# Test and tune your schema and application performance\n\nPerformance tuning is an iterative process in which you evaluate metrics like\nCPU utilization and latency, adjust your schema\nand application to improve performance, and test again.\n\nFor example, in your schema, you might add or change an index, or change a\nprimary key. In your application, you might batch writes, or you might merge or\nmodify your queries.\n\nFor production traffic in particular, performance tuning is important to help\navoid surprises. Performance tuning is more effective the closer the setup is to\nlive production traffic throughput and data sizes.\n\nTo test and tune your schema and application performance, follow these steps:\n\n1. Upload a subset of your data into a Spanner database. You can use the [BigQuery reverse ETL workflow](/bigquery/docs/export-to-spanner) to load the sample data. For more information, see [Load sample data](/spanner/docs/load-sample-data).\n2. Point the application to Spanner.\n3. Verify the database consistency by checking for basic flows.\n4. Verify that performance meets your expectations by performing load tests on your application. For help identifying and optimizing your most expensive queries, see [Detect query performance issues with query insights](/spanner/docs/using-query-insights). In particular, the following factors can contribute to suboptimal query performance:\n 1. **Inefficient queries** : For information about writing efficient SQL queries, see [SQL best practices](/spanner/docs/sql-best-practices).\n 2. **High CPU utilization** : For more information, see [Investigate high CPU utilization](/spanner/docs/introspection/investigate-cpu-utilization).\n 3. **Locking** : To reduce bottlenecks caused by transaction locking, see [Identify transactions that might cause high latencies](/spanner/docs/use-lock-and-transaction-insights).\n 4. **Inefficient schema design** : If the schema isn't designed well, query optimization isn't very useful. For more information about designing good schemas, see [Schema design best practices](/spanner/docs/schema-design).\n 5. **Hotspots** : Hotspots in Spanner limit write throughput, especially for high-QPS applications. To identify hotspots or schema design issues, check the [Key\n Visualizer](/spanner/docs/key-visualizer) statistics from the Google Cloud console. For more information about avoiding hotspots, see [Choose a primary key to prevent hotspots](/spanner/docs/schema-design#primary-key-prevent-hotspots).\n5. If you modify schema or indexes, repeat database consistency and performance testing until you achieve satisfactory results.\n\nFor more information about fine-tuning your database performance, contact\n[Spanner support](/spanner/docs/getting-support)."]]