Seorang insinyur melihat monitor atau terminal.

Apa itu rekayasa kinerja?

Rekayasa kinerja, didefinisikan

Rekayasa kinerja adalah praktik mengoptimalkan sistem TI agar memenuhi tolok ukur yang telah ditetapkan terkait kecepatan, efisiensi, dan kinerja secara keseluruhan.

Rekayasa kinerja bukan sekadar satu aktivitas, melainkan sebuah metodologi DevOps dan shift-left yang memungkinkan organisasi memantau dan mengoptimalkan kinerja pada setiap tahap siklus hidup pengembangan perangkat lunak (SDLC). Tujuannya adalah memastikan bahwa sistem memenuhi metrik kinerja yang telah ditetapkan untuk berbagai aspek seperti kecepatan, keandalan, efisiensi, dan waktu respons.

Tim rekayasa kinerja terlebih dahulu menetapkan baseline kinerja sistem melalui pengujian beban. Baseline tersebut kemudian digunakan untuk mengidentifikasi masalah jaringan serta peluang perbaikan. Setelah tolok ukur kinerja ditetapkan, para insinyur dapat mulai mengonfigurasi ulang jaringan, menerapkan optimasi yang diperlukan, dan terus memantau sistem untuk mendeteksi masalah kinerja serta mendukung perencanaan kapasitas di masa mendatang.

Observabilitas merupakan fondasi rekayasa kinerja. Alat observabilitas mengumpulkan data mentah (seperti log, metrik, dan trace) yang menggambarkan kinerja sistem, dan tim rekayasa kinerja menggunakan data tersebut untuk memantau serta mengukur dampak dari perbaikan yang mereka lakukan. Selain itu, insinyur kinerja juga memanfaatkan berbagai alat lain untuk manajemen dan pemantauan kinerja aplikasi, stress testing, audit browser, serta benchmarking guna memperoleh gambaran yang paling lengkap dan akurat mengenai kondisi sistem mereka.

Rekayasa kinerja vs. manajemen kinerja aplikasi dan pengujian kinerja 

Rekayasa kinerja adalah disiplin yang lebih luas dan menyeluruh yang bertujuan mengoptimalkan sistem TI agar memenuhi tolok ukur kinerja yang telah ditetapkan. Manajemen kinerja aplikasi (APM) dan pengujian kinerja merupakan dua aktivitas yang termasuk dalam keseluruhan proses rekayasa kinerja tersebut.

Pengelolaan kinerja aplikasi (APM) adalah praktik yang memanfaatkan alat perangkat lunak, analisis data, dan proses manajemen aplikasi untuk membantu organisasi mengoptimalkan kinerja, ketersediaan, dan pengalaman pengguna pada aplikasi bisnis. Sementara rekayasa kinerja mencakup seluruh siklus pengembangan dan operasional sistem, APM lebih berfokus pada pendeteksian dan penyelesaian masalah pada aplikasi yang sedang berjalan di lingkungan produksi.

Demikian pula, pengujian kinerja merupakan aktivitas khusus yang berfokus pada evaluasi kinerja jaringan atau aplikasi dalam berbagai kondisi melalui metode seperti pengujian beban, pengujian tekanan, pengujian ketahanan, dan jenis pengujian lainnya. Seperti halnya APM, pengujian kinerja hanyalah salah satu komponen dalam praktik rekayasa kinerja yang lebih luas.

Bagaimana cara kerja rekayasa kinerja?

Rekayasa kinerja dilakukan melalui serangkaian langkah yang fleksibel namun komprehensif, yang mencakup penetapan tolok ukur, pengujian dan penentuan prioritas, optimasi, perencanaan kapasitas, serta pemantauan kinerja secara berkelanjutan.

Tolok ukur

Pertama, organisasi menentukan tingkat kinerja yang diperlukan agar sistem dan aplikasi dapat memenuhi tujuan bisnis. Selanjutnya, insinyur kinerja menguji kinerja saat ini untuk menetapkan baseline dan mengidentifikasi langkah-langkah yang diperlukan guna mencapai tolok ukur yang telah ditetapkan.

Metrik tolok ukur yang umum digunakan meliputi latensi, throughput, pemanfaatan sumber daya, dan tingkat kesalahan. Tim pengembangan dapat mengukur metrik-metrik ini pada tingkat mikro (seperti pada satu server atau layanan tertentu) maupun pada skala yang lebih luas di seluruh aplikasi atau jaringan.

Penolokukuran sering kali melibatkan pertanyaan yang spesifik mengenai persyaratan kinerja dan kondisi lingkungan pengembangan. Misalnya, alih-alih menetapkan ambang batas umum untuk pemanfaatan CPU, insinyur dapat mengevaluasi apakah penggunaan CPU tetap berada di bawah 60% ketika 5.000 pengguna menggunakan aplikasi secara bersamaan.

Pengujian dan penentuan prioritas

Dengan menggunakan alat pengujian kinerja, para insinyur kinerja memvalidasi data pengujian terhadap tolok ukur yang telah ditetapkan untuk mengidentifikasi di mana, dan perubahan apa, yang harus dilakukan untuk memenuhi tingkat layanan yang dibutuhkan.

Bentuk umum pengujian kinerja meliputi:

Pengujian beban

Pengujian beban menunjukkan bagaimana kinerja sistem saat beroperasi dengan beban yang diharapkan. Tujuan pengujian beban adalah untuk menunjukkan perilaku sistem ketika menghadapi beban kerja berukuran rutin dalam kondisi kerja normal dengan jumlah rata-rata pengguna yang bersamaan beban kerja .

Pengujian skalabilitas

Pengujian skalabilitas mengevaluasi kemampuan sistem untuk berkembang dengan meningkatkan volume data atau jumlah pengguna yang harus ditangani. Ini menunjukkan apakah suatu sistem dapat memenuhi kecepatan yang meningkat dan masih memberikan.

Pengujian stres

Pengujian tekanan mendorong sistem hingga mencapai batas operasional yang telah diketahui—dan bahkan melampauinya—untuk menentukan secara tepat seberapa besar beban yang dapat ditangani sistem sebelum mencapai titik kegagalannya.

Pengujian lonjakan

Pengujian lonjakan beban mengamati bagaimana sistem merespons ketika lalu lintas pengguna atau volume data tiba-tiba mengalami lonjakan yang tajam dan signifikan. Sistem diharapkan mampu menyerap perubahan tersebut sambil tetap mempertahankan operasi normal tanpa gangguan yang berarti.

Pengujian volume

Pengujian volume mengevaluasi bagaimana sistem menangani sejumlah besar data, khususnya untuk memastikan bahwa sistem dapat memproses seluruh data tersebut dan menyimpannya ke dalam penyimpanan data tanpa mengalami degradasi kinerja.

Pengujian daya tahan

Pengujian daya tahan, atau pengujian ketahahan, adalah metode di mana para insinyur mengamati sistem dalam jangka waktu yang lama untuk mengidentifikasi masalah seperti degradasi kinerja secara bertahap, penurunan kualitas data, atau kebocoran memori.

Optimisasi

Setelah batasan dan kelemahan sistem berhasil diidentifikasi, proses optimasi dapat dimulai.

Bergantung pada sifat hambatan atau masalah kinerja yang ditemukan, para insinyur kinerja dapat menerapkan berbagai strategi optimasi, seperti:

  • Optimasi algoritma, di mana algoritma yang mendukung fungsi sistem dimodifikasi atau disempurnakan untuk meningkatkan efisiensi kinerja.

  • Optimasi basis data, di mana masalah mendasar pada data dan akses data dalam sistem diperbaiki melalui teknik seperti optimasi kueri (proses menentukan cara paling efisien bagi basis data untuk menjalankan kueri) atau optimasi indeks, yang bertujuan memastikan bahwa sistem menggunakan jalur pengambilan data yang secepat dan seefisien mungkin.

  • Caching, yaitu teknik yang menyimpan hasil dari operasi komputasi yang intensif sehingga hasil tersebut dapat direproduksi dan diambil kembali dengan lebih cepat.

  • Optimasi memori, di mana para insinyur mengurangi kebocoran memori dan meningkatkan efisiensi pengumpulan sampah dengan menggunakan kembali objek dalam memori, mengatur ulang struktur data, atau menyimpan sebagian data di lokasi eksternal.

  • Optimasi jaringan, yang mencakup kompresi bandwidth, penyeimbangan beban, penggunaan kembali koneksi HTTP, serta berbagai metode lain untuk meningkatkan dan mempercepat kinerja jaringan.

Perencanaan dan pemantauan

Setelah sistem dioptimalkan, insinyur kinerja terus memantau setiap penyimpangan dari baseline yang baru serta merencanakan kebutuhan pertumbuhan dan aktivitas di masa mendatang.

Observabilitas memungkinkan insinyur kinerja untuk menentukan apakah sistem mereka beroperasi sesuai dengan yang direncanakan. Dengan mengumpulkan dan menganalisis log, metrik, serta jejak, alat observabilitas membantu tim TI mengotomatiskan identifikasi dan penyelesaian masalah secara real-time. Semakin tinggi tingkat observabilitas suatu sistem, semakin cepat dan akurat tim TI dapat menelusuri masalah kinerja hingga ke akar penyebabnya, tanpa memerlukan pengujian atau pengodean tambahan.

Perencanaan kapasitas memungkinkan insinyur kinerja untuk tetap selangkah lebih maju dalam memenuhi kebutuhan bisnis dengan mengantisipasi kebutuhan infrastruktur TI di masa depan. Proses ini mencakup analisis terhadap permintaan saat ini dan kapasitas yang tersedia, lalu membandingkannya dengan kemampuan serta sumber daya yang dimiliki organisasi. Berdasarkan hasil analisis tersebut, organisasi dapat mengembangkan strategi yang fleksibel dan mudah disesuaikan untuk meningkatkan kapasitas sumber daya dan produksi secara efisien sesuai kebutuhan.

AI Academy

Mencapai kesiapan AI dengan hybrid cloud

Dipandu oleh pemimpin terkemuka IBM, kurikulumnya dirancang untuk membantu pemimpin bisnis dalam mendapatkan pengetahuan yang diperlukan untuk memprioritaskan investasi AI yang dapat mendorong pertumbuhan.

Manfaat rekayasa kinerja

Manfaat rekayasa kinerja meliputi peningkatan pengalaman pengguna, infrastruktur TI yang lebih dapat diskalakan, penyelesaian masalah yang lebih efisien, serta perencanaan kapasitas yang lebih baik.

Peningkatan pengalaman pengguna

Rekayasa kinerja meningkatkan pengalaman pengguna dengan mengatasi masalah kinerja, seperti latensi yang tinggi, yang dapat membuat pengguna meninggalkan suatu layanan. Dengan mengoptimalkan proses rekayasa perangkat lunak serta output yang dihasilkannya, rekayasa kinerja membantu membangun kepercayaan pengguna dan mendorong penggunaan kembali serta loyalitas pelanggan.

Peningkatan skalabilitas

Rekayasa kinerja memberikan gambaran yang jelas mengenai berbagai masalah dalam suatu sistem. Pemahaman ini memudahkan tim untuk menghindari hambatan saat melakukan perluasan sistem (baik secara horizontal dengan menambahkan layanan baru maupun secara vertikal dengan meningkatkan kapasitas jaringan yang ada).

Penyelesaian masalah yang efisien

Rekayasa kinerja membantu memastikan bahwa para insinyur memiliki alat dan pengetahuan yang diperlukan untuk membangun sistem yang memenuhi tolok ukur kinerja yang telah ditetapkan. Dengan pendekatan ini, insinyur dapat mengidentifikasi dan menyelesaikan masalah kinerja dengan lebih cepat, mengurangi rata-rata waktu perbaikan (MTTR), serta menekan biaya penanganan karena masalah dapat dideteksi sebelum sempat mengganggu kinerja jaringan secara signifikan.

Perencanaan kapasitas yang efisien

Rekayasa kinerja dapat membantu meningkatkan efektivitas perencanaan kapasitas dengan memperdalam pemahaman insinyur tentang perilaku sistem. Melalui proses benchmarking dan praktik observabilitas yang berkelanjutan, para insinyur memperoleh insight yang lebih baik mengenai kebutuhan jaringan mereka. Insight ini membantu mereka membuat keputusan yang lebih tepat terkait kapasitas, sehingga mengurangi risiko pengeluaran berlebihan maupun kekurangan investasi pada kapasitas server.

Tantangan rekayasa kinerja

Tantangan rekayasa kinerja mencakup meliputi kompleksitas sistem modern, mengidentifikasi akar penyebab masalah, memperhitungkan masalah “long-tail“, serta membangun perangkat dan keahlian yang diperlukan.

Kompleksitas

Lingkungan TI modern didominasi oleh layanan mikro yang jumlahnya dapat mencapai ribuan, dan sering kali di-hosting dalam lingkungan hybrid cloud yang kompleks. Mengumpulkan, menganalisis, dan menindaklanjuti insight dari sistem-sistem terdistribusi tersebut dapat menjadi proses yang sangat menguras sumber daya, dengan alur kerja yang terkadang sulit diprediksi.

Menemukan akar masalah

Kompleksitas juga membuat proses identifikasi akar masalah jaringan menjadi lebih sulit. Jika sebuah API merespons dengan lambat, penyebabnya bisa bermacam-macam, seperti basis data yang diindeks dengan buruk, kebocoran memori, atau kesalahan konfigurasi. Dalam situasi seperti ini, insinyur kinerja mungkin perlu melakukan analisis akar penyebab untuk menemukan sumber masalah yang sebenarnya dan mengidentifikasi peluang optimasi yang tepat.

Masalah long-tail

Masalah long-tail adalah gangguan atau kondisi jaringan yang kurang optimal yang memengaruhi minoritas pengguna, meskipun sebagian besar pengguna tidak mengalaminya. Masalah ini sering kali disebabkan oleh kondisi khusus yang sulit dideteksi dan kerap luput dari praktik observabilitas standar. Dalam konteks rekayasa kinerja, masalah long tail menjadi tantangan karena dapat memengaruhi kualitas layanan secara keseluruhan, sementara akar penyebabnya sulit diidentifikasi melalui pengujian kinerja konvensional.

Membangun infrastruktur

Praktik rekayasa kinerja memerlukan keahlian staf yang tinggi serta kemampuan platform yang canggih. Pengujian kinerja sering kali membutuhkan simulasi kondisi jaringan berskala besar yang mahal untuk dilakukan. Tim juga harus memahami sistem secara mendalam agar dapat mengubah sejumlah besar data telemetri menjadi insight yang dapat ditindaklanjuti. Selain itu, sifat rekayasa kinerja yang adaptif dan berulang menuntut adanya struktur organisasi yang mampu mendukung dan mengelola perubahan secara cepat.

Penyusun

Derek Robertson

Staff Writer

IBM Think

Matthew Kosinski

Staff Editor

IBM Think

Solusi terkait
IBM Cloud Infrastructure Center

IBM® Cloud Infrastructure Center adalah platform perangkat lunak yang kompatibel dengan OpenStack yang dirancang untuk mengelola infrastruktur cloud pribadi yang berjalan di IBM® zSistem dan IBM® LinuxONE.

Jelajahi Cloud Infrastructure Center
Infrastruktur IT

Menyediakan infrastruktur yang aman dan siap AI di seluruh lingkungan hybrid cloud

Jelajahi solusi infrastruktur TI
Layanan infrastruktur

Percepat, amankan, dan optimalkan infrastruktur hybrid cloud dan perusahaan Anda dengan bimbingan pakar dari IBM® Technology Expert Labs.

Jelajahi layanan infrastruktur
Ambil langkah selanjutnya

Ubah infrastruktur perusahaan Anda dengan solusi hybrid cloud dan siap untuk AI dari IBM®. Jelajahi server, penyimpanan, dan perangkat lunak yang dirancang untuk melindungi, menskalakan, dan memodernisasi bisnis Anda—atau dapatkan insight pakar untuk memperkuat strategi AI generatif Anda.

  1. Menjelajahi solusi Infrastruktur TI
  2. Jelajahi IBM Cloud