Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Perkirakan ukuran mesin Amazon RDS untuk database Oracle dengan menggunakan laporan AWR
Abhishek Verma dan Eduardo Valentim, Amazon Web Services
Ringkasan
Saat Anda memigrasikan database Oracle ke Amazon Relational Database Service (Amazon RDS) atau Amazon Aurora, menghitung CPU, memori, dan disk I/O untuk database target adalah persyaratan utama. Anda dapat memperkirakan kapasitas database target yang diperlukan dengan menganalisis laporan Oracle Automatic Workload Repository (AWR). Pola ini menjelaskan cara menggunakan laporan AWR untuk memperkirakan nilai-nilai ini.
Basis data Oracle sumber dapat berada di lokasi atau di-host di instans Amazon Elastic Compute Cloud EC2 (Amazon), atau bisa juga berupa Amazon RDS for Oracle DB instans. Basis data target bisa berupa database Amazon RDS atau Aurora.
catatan
Perkiraan kapasitas akan lebih tepat jika mesin database target Anda adalah Oracle. Untuk database Amazon RDS lainnya, ukuran mesin dapat bervariasi karena perbedaan arsitektur database.
Kami menyarankan Anda menjalankan uji kinerja sebelum memigrasikan database Oracle Anda.
Prasyarat dan batasan
Prasyarat
Lisensi Oracle Database Enterprise Edition dan lisensi Oracle Diagnostics Pack untuk mengunduh laporan AWR.
Versi produk
Semua edisi Oracle Database untuk versi 11g (versi 11.2.0.3.v1 dan yang lebih baru) dan hingga 12.2, dan 18c, 19c.
Pola ini tidak mencakup Oracle Engineered Systems atau Oracle Cloud Infrastructure (OCI).
Arsitektur
Tumpukan teknologi sumber
Salah satu dari yang berikut:
Database Oracle lokal
Database Oracle pada sebuah instance EC2
Instans Amazon RDS for Oracle DB
Tumpukan teknologi target
Basis data Amazon RDS atau Amazon Aurora apa pun
Arsitektur target
Untuk informasi tentang proses migrasi lengkap, lihat pola Memigrasikan database Oracle ke Aurora PostgreSQL menggunakan AWS DMS dan AWS SCT.
Otomatisasi dan skala
Jika Anda memiliki beberapa database Oracle untuk dimigrasi dan Anda ingin menggunakan metrik kinerja tambahan, Anda dapat mengotomatiskan proses dengan mengikuti langkah-langkah yang dijelaskan dalam posting blog Instans Amazon RDS
Alat
Oracle Automatic Workload Repository (AWR)
adalah repositori yang dibangun ke dalam database Oracle. Ini secara berkala mengumpulkan dan menyimpan aktivitas sistem dan data beban kerja, yang kemudian dianalisis oleh Automatic Database Diagnostic Monitor (ADDM). AWR mengambil snapshot data kinerja sistem secara berkala (secara default, setiap 60 menit) dan menyimpan informasi (secara default, hingga 8 hari). Anda dapat menggunakan tampilan dan laporan AWR untuk menganalisis data ini.
Praktik terbaik
Untuk menghitung persyaratan sumber daya untuk database target, Anda dapat menggunakan satu laporan AWR, beberapa laporan AWR, atau tampilan AWR dinamis. Kami menyarankan Anda menggunakan beberapa laporan AWR selama periode beban puncak untuk memperkirakan sumber daya yang diperlukan untuk menangani beban puncak tersebut. Selain itu, tampilan dinamis memberikan lebih banyak titik data yang membantu Anda menghitung kebutuhan sumber daya dengan lebih tepat.
Anda harus memperkirakan IOPS hanya untuk database yang Anda rencanakan untuk dimigrasi, bukan untuk database dan proses lain yang menggunakan disk.
Untuk menghitung berapa banyak yang I/O digunakan oleh database, jangan gunakan informasi di bagian Load Profile pada laporan AWR. Gunakan bagian I/O Profil sebagai gantinya, jika tersedia, atau lewati ke bagian Statistik Aktivitas Instance dan lihat nilai total untuk operasi baca dan tulis fisik.
Saat Anda memperkirakan pemanfaatan CPU, sebaiknya gunakan metode metrik basis data alih-alih statistik sistem operasi (OS), karena didasarkan pada CPU yang hanya digunakan oleh database. (Statistik OS juga mencakup penggunaan CPU oleh proses lain.) Anda juga harus memeriksa rekomendasi terkait CPU dalam laporan ADDM untuk meningkatkan kinerja setelah migrasi.
Pertimbangkan batas I/O throughput―Amazon Elastic Block Store (Amazon EBS) throughput dan throughput jaringan―untuk ukuran instans tertentu saat Anda menentukan jenis instans yang tepat.
Jalankan uji kinerja sebelum migrasi untuk memvalidasi ukuran mesin.
Epik
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Aktifkan laporan AWR. | Untuk mengaktifkan laporan, ikuti instruksi dalam dokumentasi Oracle | DBA |
Periksa periode retensi. | Untuk memeriksa periode retensi laporan AWR, gunakan kueri berikut.
| DBA |
Hasilkan snapshot. | Jika interval snapshot AWR tidak cukup terperinci untuk menangkap lonjakan beban kerja puncak, Anda dapat membuat laporan AWR secara manual. Untuk menghasilkan snapshot AWR manual, gunakan kueri berikut.
| DBA |
Periksa snapshot terbaru. | Untuk memeriksa snapshot AWR terbaru, gunakan kueri berikut.
| DBA |
Tugas | Deskripsi | Keterampilan yang dibutuhkan | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Pilih metode. | IOPS adalah ukuran standar operasi input dan output per detik pada perangkat penyimpanan, dan mencakup operasi baca dan tulis. Jika Anda memigrasikan database lokal ke AWS, Anda perlu menentukan disk puncak yang I/O digunakan oleh database. Anda dapat menggunakan metode berikut untuk memperkirakan disk I/O untuk database target Anda:
Langkah-langkah berikut menjelaskan keempat metode ini. | DBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Opsi 1: Gunakan profil beban. | Tabel berikut menunjukkan contoh bagian Load Profile dari laporan AWR. pentingUntuk informasi yang lebih akurat, kami sarankan Anda menggunakan opsi 2 (profil I/O) atau opsi 3 (statistik aktivitas instance) alih-alih profil pemuatan.
Berdasarkan informasi ini, Anda dapat menghitung IOPs dan throughput sebagai berikut: IOPS = Baca I/O permintaan: + I/O Permintaan tulis = 3,586,8 + 574,7 = 4134,5 Throughput = Bacaan fisik (blok) +Tulis fisik (blok) = 13,575,1 + 3,467,3 = 17,042,4 Karena ukuran blok di Oracle adalah 8 KB, Anda dapat menghitung total throughput sebagai berikut: Total throughput dalam MB adalah 17042.4 * 8 * 1024/1024/1024 = 133,2 MB AwasJangan gunakan profil pemuatan untuk memperkirakan ukuran instans. Ini tidak setepat statistik aktivitas instance atau I/O profil. | DBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Opsi 2: Gunakan statistik aktivitas instance. | Jika Anda menggunakan versi Oracle Database sebelum 12c, Anda dapat menggunakan bagian Statistik Aktivitas Instance dari laporan AWR untuk memperkirakan IOPS dan throughput. Tabel berikut menunjukkan contoh bagian ini.
Berdasarkan informasi ini, Anda dapat menghitung total IOPS dan throughput sebagai berikut: Total IOPS = 3,610.28 + 757.11 = 4367 Total Mbps = 114,482,426.26 + 36,165,631.84 = 150648058.1/1024/1024 = 143 Mbps | DBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Opsi 3: Gunakan I/O profil. | Dalam Oracle Database 12c, laporan AWR mencakup bagian I/O Profil yang menyajikan semua informasi dalam satu tabel dan memberikan data yang lebih akurat tentang kinerja database. Tabel berikut menunjukkan contoh bagian ini.
Tabel ini memberikan nilai-nilai berikut untuk throughput dan total IOPS: Throughput = 143 MBPS (dari baris kelima, berlabel Total, kolom kedua) IOPS = 4.367.4 (dari baris pertama, berlabel Total Permintaan, kolom kedua) | DBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Opsi 4: Gunakan tampilan AWR. | Anda dapat melihat IOPS dan informasi throughput yang sama dengan menggunakan tampilan AWR. Untuk mendapatkan informasi ini, gunakan kueri berikut:
| DBA |
Tugas | Deskripsi | Keterampilan yang dibutuhkan | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Pilih metode. | Anda dapat memperkirakan CPU yang diperlukan untuk database target dengan tiga cara:
Jika Anda melihat inti yang digunakan, kami sarankan Anda menggunakan metode metrik database alih-alih statistik OS, karena didasarkan pada CPU yang hanya digunakan oleh database yang Anda rencanakan untuk dimigrasikan. (Statistik OS juga mencakup penggunaan CPU oleh proses lain.) Anda juga harus memeriksa rekomendasi terkait CPU dalam laporan ADDM untuk meningkatkan kinerja setelah migrasi. Anda juga dapat memperkirakan persyaratan berdasarkan generasi CPU. Jika Anda menggunakan generasi CPU yang berbeda, Anda dapat memperkirakan CPU yang diperlukan dari database target dengan mengikuti instruksi di whitepaper Mengungkap Jumlah v CPUs untuk Kinerja Beban Kerja Optimal | DBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Opsi 1: Perkirakan persyaratan berdasarkan inti yang tersedia. | Dalam laporan AWR:
Anda dapat memperkirakan core yang tersedia dengan dua cara:
Untuk memperkirakan core yang tersedia dengan menggunakan perintah OS Gunakan perintah berikut untuk menghitung inti dalam prosesor.
Gunakan perintah berikut untuk menghitung soket di prosesor.
catatanKami tidak menyarankan menggunakan perintah OS seperti nmon dan sar untuk mengekstrak pemanfaatan CPU. Ini karena perhitungan tersebut mencakup pemanfaatan CPU oleh proses lain dan mungkin tidak mencerminkan CPU aktual yang digunakan oleh database. Untuk memperkirakan core yang tersedia dengan menggunakan laporan AWR Anda juga dapat memperoleh pemanfaatan CPU dari bagian pertama laporan AWR. Berikut kutipan dari laporan tersebut.
Dalam contoh ini, CPUs hitungannya adalah 80, yang menunjukkan bahwa ini logis (virtual) CPUs. Anda juga dapat melihat bahwa konfigurasi ini memiliki dua soket, satu prosesor fisik pada setiap soket (untuk total dua prosesor fisik), dan 40 core untuk setiap prosesor fisik atau soket. | DBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Opsi 2: Perkirakan pemanfaatan CPU dengan menggunakan statistik OS. | Anda dapat memeriksa statistik penggunaan CPU OS baik secara langsung di OS (menggunakan sar atau utilitas OS host lain) atau dengan meninjau nilai IDLE/ (IDLE+BUSY) dari bagian Statistik Sistem Operasi dari laporan AWR. Anda dapat melihat detik-detik CPU yang dikonsumsi langsung dari v$osstat. Laporan AWR dan Statspack juga menunjukkan data ini di bagian Statistik Sistem Operasi. Jika ada beberapa database pada kotak yang sama, semuanya memiliki nilai v$osstat yang sama untuk BUSY_TIME.
Jika tidak ada konsumen CPU utama lainnya dalam sistem, gunakan rumus berikut untuk menghitung persentase pemanfaatan CPU: Pemanfaatan = Waktu sibuk/Total waktu Waktu sibuk = persyaratan = v$osstat.Busy_time C = Total waktu (Sibuk+Menganggur) C = kapasitas = v$ostat.Busy_time + v$ostat.idle_time Pemanfaatan = BUSY_TIME/(BUSY_TIME + IDLE_TIME) = -1,305,569,937/(1,305,569,937 + 4,312,718,839) = 23% digunakan | DBA | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Opsi 3: Perkirakan pemanfaatan CPU dengan menggunakan metrik database. | Jika beberapa database berjalan di sistem, Anda dapat menggunakan metrik database yang muncul di awal laporan.
Untuk mendapatkan metrik pemanfaatan CPU, gunakan rumus ini: Penggunaan CPU basis data (% dari daya CPU yang tersedia) = Waktu CPU/NUM_CPUS/waktu berlalu di mana penggunaan CPU dijelaskan oleh waktu CPU dan mewakili waktu yang dihabiskan untuk CPU, bukan waktu menunggu CPU. Perhitungan ini menghasilkan: = 312.625.40/ 11,759.64/80 = 33% CPU sedang digunakan Jumlah core (33%) * 80 = 26,4 core Total inti = 26,4 * (120%) = 31,68 inti Anda dapat menggunakan yang lebih besar dari dua nilai ini untuk menghitung pemanfaatan CPU dari instans Amazon RDS atau Aurora DB. catatanDi IBM AIX, pemanfaatan yang dihitung tidak sesuai dengan nilai dari sistem operasi atau database. Nilai-nilai ini memang cocok pada sistem operasi lain. | DBA |
Tugas | Deskripsi | Keterampilan yang dibutuhkan | ||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Perkirakan kebutuhan memori dengan menggunakan statistik memori. | Anda dapat menggunakan laporan AWR untuk menghitung memori database sumber dan mencocokkannya di database target. Anda juga harus memeriksa kinerja database yang ada dan mengurangi kebutuhan memori Anda untuk menghemat biaya, atau meningkatkan kebutuhan Anda untuk meningkatkan kinerja. Itu membutuhkan analisis rinci tentang waktu respons AWR dan perjanjian tingkat layanan (SLA) aplikasi. Gunakan jumlah penggunaan Oracle system global area (SGA) dan program global area (PGA) sebagai estimasi pemanfaatan memori untuk Oracle. Tambahkan tambahan 20 persen untuk OS untuk menentukan persyaratan ukuran memori target. Untuk Oracle RAC, gunakan jumlah estimasi pemanfaatan memori pada semua node RAC dan kurangi total memori, karena disimpan di blok umum.
Total memori instance yang digunakan = SGA+PGA = 220 GB+45 GB = 265 GB Tambahkan 20 persen buffer: Total memori instance = 1,2 * 265 GB = 318 GB Karena SGA dan PGA menyumbang 70 persen dari memori host, kebutuhan memori total adalah: Total memori host = 318/0,7 = 464 GB catatanSaat Anda bermigrasi ke Amazon RDS for Oracle, PGA dan SGA dihitung sebelumnya berdasarkan rumus yang telah ditentukan sebelumnya. Pastikan nilai yang telah dihitung sebelumnya mendekati perkiraan Anda. | DBA |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Tentukan jenis instans DB berdasarkan disk I/O, CPU, dan estimasi memori. | Berdasarkan perkiraan pada langkah sebelumnya, kapasitas target Amazon RDS atau database Aurora harus:
Dalam database Amazon RDS atau Aurora target, Anda dapat memetakan nilai-nilai ini ke tipe instans db.r5.16xlarge, yang memiliki kapasitas 32 core, 512 GB RAM, dan 13.600 Mbps throughput. Untuk informasi selengkapnya, lihat posting blog AWS Instans Amazon RDS ukuran kanan pada skala berdasarkan metrik kinerja Oracle | DBA |
Sumber daya terkait
Kelas instans Aurora DB (dokumentasi Amazon Aurora)
Penyimpanan instans Amazon RDS DB (dokumentasi Amazon RDS)
Alat AWS Miner
(GitHub repositori)