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 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.
Tetap terinformasi tentang tren industri yang paling penting—dan menarik—tentang AI, otomatisasi, data, dan di luarnya dengan buletin Think. Lihat Pernyataan Privasi IBM®.
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.
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.
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 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 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 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 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 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, 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.
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:
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.
Manfaat rekayasa kinerja meliputi peningkatan pengalaman pengguna, infrastruktur TI yang lebih dapat diskalakan, penyelesaian masalah yang lebih efisien, serta perencanaan kapasitas yang lebih baik.
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.
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).
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.
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 mencakup meliputi kompleksitas sistem modern, mengidentifikasi akar penyebab masalah, memperhitungkan masalah “long-tail“, serta membangun perangkat dan keahlian yang diperlukan.
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.
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 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.
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.
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.
Menyediakan infrastruktur yang aman dan siap AI di seluruh lingkungan hybrid cloud
Percepat, amankan, dan optimalkan infrastruktur hybrid cloud dan perusahaan Anda dengan bimbingan pakar dari IBM® Technology Expert Labs.