Performance Tuning di Informatica: Tutorial Lengkap
โก Ringkasan Cerdas
Penyetelan performa di Informatica menghilangkan tautan paling lambat dalam sebuah sesi, satu lapisan demi satu, bekerja dari target kembali melalui sumber, yaitu peta.ping, sesi tersebut, dan terakhir sistem operasinya.

Apa itu Performance Tuning di Informatica?
Penyetelan kinerja di Informatica adalah praktik menemukan satu komponen yang membatasi kecepatan berjalan suatu sesi, menghilangkan batasan tersebut, dan kemudian mengulangi proses tersebut pada komponen mana pun yang menjadi paling lambat berikutnya. Kecepatan suatu sesi hanya akan secepat lapisan paling lambatnya, jadi menyetel transformasi yang sebelumnya bukan masalah tidak akan menghasilkan peningkatan yang terukur.
Informatica mengidentifikasi lima tempat di mana hambatan dapat terjadi dan merekomendasikan untuk memeriksanya dalam urutan tetap.
| Memesan | Lapisan | Penyebab umum |
| 1 | Target | Penulisan data yang lambat, interval checkpoint yang kecil, ukuran paket jaringan basis data yang kecil. |
| 2 | sumber | Kueri lambat, indeks hilang, kolom yang tidak perlu dibaca. |
| 3 | Lokasiping | Transformasi yang mahal atau ditempatkan dengan buruk, cache yang terlalu besar. |
| 4 | sesi | Buffer memori, interval komit, partisi, tipe pemuatan |
| 5 | System | Kejenuhan CPU, penundaan I/O, paging pada mesin Layanan Integrasi |
Urutan ini disengaja. Target yang tidak dapat menyerap baris dengan cukup cepat akan membuat setiap lapisan hulu terlihat lambat, jadi target tersebut diperiksa terlebih dahulu. Metode lengkapnya didokumentasikan di Panduan Penyetelan Performa PowerCenter.
Cara Mengidentifikasi Hambatan Kinerja
Menebak lapisan mana yang lambat akan membuang lebih banyak waktu daripada mengukurnya. Empat teknik mencakup lima lapisan yang disebutkan di atas.
- Jalankan sesi pengujian. Konfigurasi salinan dari Sidang untuk menulis ke target file datar. Jika sesi meningkat secara signifikan, target tersebut adalah hambatan utamanya. Kebalikannya, membaca dari sumber file datar, mengisolasi hambatan utama pada sumber.
- Analisis statistik thread. Manajer Transformasi Data menjalankan thread pembaca, satu atau lebih thread transformasi, dan thread penulis. Thread dengan waktu sibuk tertinggi dalam log sesi akan langsung menunjuk ke layer yang akan dikerjakan: pembaca untuk sumber, transformasi untuk peta.ping, penulis untuk target tersebut.
- Analisis detail kinerja. Aktifkan pengumpulan data performa pada sesi dan baca penghitungnya. Baris kesalahan yang tinggi atau sejumlah besar baris dalam cache pencarian menunjukkan adanya masalah pada pemetaan.ping masalah ini lebih berkaitan dengan basis data daripada masalah teknis.
- Pantau sistem tersebut. Operaalat sistem yang menampilkan penggunaan CPU, penundaan I/O, dan paging, bersama dengan Pemantau Alur Kerja Tampilan sumber daya menunjukkan bahwa mesin tersebut sudah kehabisan kapasitas.
Setelah lapisan yang bertanggung jawab diketahui, saran tingkat transformasi di bagian selanjutnya menjadi layak untuk diterapkan. Bagian-bagian tersebut disusun sesuai urutan alur kerja, mulai dari titik masuk data. petaping sampai pada titik di mana data tersebut diagregasi.
Transformasi Kualifikasi Sumber
Setiap baris yang tidak dibaca oleh Source Qualifier adalah baris yang tidak perlu diproses oleh transformasi lain, sehingga menjadikannya tempat termurah di seluruh peta.ping untuk menghemat waktu.
- Bawa hanya kolom yang diperlukan dari sumbernya. Seringkali tidak semua kolom tabel sumber wajib diisi, jadi bawa hanya kolom yang wajib diisi dengan menghapus kolom yang tidak diperlukan.
- Hindari menggunakan klausa order by di dalam Kualifikasi Sumber Penggantian SQL. Klausa ORDER BY memerlukan pemrosesan tambahan dan kinerja dapat ditingkatkan dengan menghindarinya.
Transformasi Filter
Penyaringan mengikuti prinsip yang sama satu langkah kemudian dalam alur kerja: buang baris yang tidak diinginkan pada titik paling awal di mana peta tersebutping memiliki informasi yang cukup untuk mengidentifikasi mereka.
- penggunaan transformasi filter sedini mungkin di dalam petapingJika data yang tidak diinginkan dapat dibuang lebih awal dalam pemetaan.pingHal itu akan meningkatkan kapasitas pemrosesan.
- Gunakan source qualifier untuk memfilter data. Anda juga dapat menggunakan source qualifier SQL override untuk memfilter record, sebagai pengganti transformasi filter.
Transformasi Penggabung
Bergabung adalah operasi pertama yang benar-benar mahal dalam peta pada umumnya.ping, karena sumber utama harus di-cache terlebih dahulu sebelum baris detail dapat dicocokkan dengannya.
- Sebaiknya selalu lakukan join langsung di database jika memungkinkan, karena join di database lebih cepat daripada join yang dibuat di Informatica. transformasi penyambung.
- Urutkan data sebelum bergabung jika memungkinkan, karena akan mengurangi I/O disk yang dilakukan selama bergabung.
- Jadikan tabel dengan jumlah baris lebih sedikit sebagai tabel utama.
Poin ketiga adalah yang paling sering terlewatkan. Integration Service menyimpan sumber utama dalam cache, jadi menunjuk tabel yang lebih kecil sebagai master akan menjaga ukuran cache tetap kecil.
Transformasi Pencarian
Pencarian dapat dilakukan dengan cara meminta data dari setiap baris sekali atau membangun cache di memori, dan kedua cara tersebut menghasilkan sumber pencarian yang lebih kecil dan terindeks dengan lebih baik.
- Buat indeks untuk kolom di tabel pencarian yang digunakan dalam kondisi pencarian. Karena tabel pencarian akan diakses untuk mencari data yang cocok, menambahkan indeks akan meningkatkan kinerja.
- Jika memungkinkan, alih-alih menggunakan transformasi pencarian, gunakan gabungan dalam database. Saat penggabungan database menjadi lebih cepat, performa akan meningkat.
- Hapus kolom yang tidak diperlukan dari tabel pencarian dan pertahankan hanya kolom yang diperlukan. Ini akan menurunkan biaya pengambilan kolom tambahan dari database.
Transformasi Agregator
An Agregator Data disimpan dalam cache saat mengelompokkan baris, jadi apa pun yang mengurangi volume data yang mencapainya akan mengurangi cache yang dibutuhkan.
- Saring data sebelum menggabungkannya. Jika Anda menggunakan transformasi filter dalam mappingKemudian, saring data terlebih dahulu sebelum menggunakan agregator karena hal ini akan mengurangi operasi agregasi yang tidak perlu.
- Batasi jumlah port yang digunakan dalam transformasi agregator. Ini akan mengurangi volume data yang disimpan transformasi agregator di dalam cache.
Penyetelan Tingkat Sesi di Informatica
Saat petaping Jika program itu sendiri bersih, peningkatan kinerja yang tersisa berasal dari properti sesi. Pengaturan ini sebaiknya diubah satu per satu, dengan menjalankan program dalam waktu tertentu setelah setiap perubahan, karena beberapa di antaranya mengorbankan memori demi kecepatan.
| Pengaturan | Apa yang dikendalikannya | Kapan harus mengubahnya? |
| Ukuran buffer DTM | Total memori yang dialokasikan oleh Layanan Integrasi untuk blok data sumber dan target. | Tingkatkan saat sesi menangani banyak partisi, sumber, atau target. |
| Buffer Ukuran blok | Ukuran blok memori individual | Tingkatkan untuk baris yang luar biasa besar; kurangi ketika memori fisik terbatas. |
| Interval komitmen | Berapa banyak baris yang ditulis sebelum perintah commit dikeluarkan? | Angkatlah ketika thread penulis menghabiskan waktunya menunggu checkpoint basis data. |
| Optimasi penekanan ke bawah | Seberapa banyak dari peta tersebutping Logika tersebut diubah menjadi SQL dan dieksekusi oleh basis data. | Gunakan saat sumber dan target berada di basis data yang sama dan andal. |
Buffer Penggunaan memori mengikuti perhitungan yang terdokumentasi, bukan tebakan. Layanan Integrasi mengalokasikan setidaknya dua blok untuk setiap partisi sumber dan target, sehingga jumlah blok buffer sesi adalah (total sumber + total target) dikalikan dua, dan ukuran buffer DTM adalah jumlah blok tersebut dikalikan dengan ukuran blok buffer dan dibagi 0.9.
Optimasi pushdown memerlukan kehati-hatian. Ini hanya membantu jika basis data benar-benar lebih cepat daripada mesin Integration Service dan logika transformasi dapat diekspresikan dalam SQLLogika yang tidak dapat diterjemahkan akan tetap berada dalam sesi, sehingga keuntungannya seringkali lebih kecil dari yang diharapkan. Ukur sebelum dan sesudah, daripada mengaktifkannya sebagai pengaturan default.
