Programming

Tips Menjadi Perfomance Engineering Yang Handal

Avatar photo
Written by Techfor Id

Membahas tentang Performance Engineering (rekayasa kinerja), mengingatkan kita pada pernyataan CEO Amazon Jeff Bezos, “Berfokus pada pelanggan membuat perusahaan lebih tangguh.”

Setiap perusahaan yang mengikuti pendekatan yang berfokus pada konsumen ini memiliki domain rekayasa kinerja di dalamnya, meskipun dalam berbagai kapasitas dan bentuk.

Hubungannya sederhana. Semakin banyak bisnis menjadi berbasis web, sehingga mereka berinteraksi dengan pelanggan mereka secara digital.

Dalam skenario seperti itu, jika mereka harus memberikan pengalaman pelanggan yang menyenangkan, mereka harus membangun sistem web dan aplikasi yang tangguh, stabil, berpusat pada pengguna, dan berkinerja tinggi. Dan untuk melakukan itu, mereka membutuhkan seorang perfomance engineering.

Apa itu Perfomance Engineering ?

Misalkan, tim kamu sedang membangun portal belanja online. Pengembang akan membangun sistem yang memungkinkan orang mengakses produk dan membelinya. Mereka akan memastikan bahwa seluruh transaksi berjalan lancar, tidak rumit bagi pengguna, dan dapat dilakukan dengan cepat.

Sekarang bayangkan untuk mempromosikan portal, kamu melakukan flash sale, dan 1000 pengguna datang ke platform tersebut dan mulai melakukan transaksi secara bersamaan.

Dan sistem kamu, di bawah beban ini, mulai bekerja lebih lambat, banyak transaksi gagal, dan pengguna kamu kecewa. Ini secara langsung akan memengaruhi citra merek kamu, loyalitas pelanggan, dan pendapatan toko.

Namun bagaimana kalau kita memperbaikinya sebelum situasi seperti itu terjadi ?

Itulah tepatnya yang dibutuhkan oleh rekayasa kinerja. Seorang insinyur kinerja pada dasarnya akan mempertimbangkan skenario tersebut dan melakukan uji beban dan memeriksa kinerja sistem dalam fase pengembangan itu sendiri.

Tes beban memeriksa perilaku sistem kamu dalam situasi tertentu. Sebuah ‘beban’ adalah skenario yang mungkin dapat mempengaruhi sistem, misalnya, penawaran penjualan atau waktu puncak (Waktu dimana banyak transaksi terjadi secara bersamaan).

Jika sistem mampu menangani beban, ia akan memeriksa apakah itu dapat diskalakan. Jika sistem tidak dapat menanganinya, mereka akan menganalisis hasilnya, menemukan kemungkinan kemacetan dengan memeriksa kode dan mencoba memperbaikinya.

Jadi, untuk contoh di atas, seorang insinyur kinerja akan menguji sistem untuk 100 transaksi pada satu waktu, lalu 500, dan kemudian 1000 dan bahkan akan naik hingga seratus ribu.

Oleh karena itu, Perfomance Engineering atau teknisi kelayakan perfoma memastikan pengoperasian sistem, perangkat lunak, atau aplikasi yang bebas gangguan.

Dengan menggunakan proses dan teknik sistematis, praktik, dan aktivitas, seorang insinyur kinerja memastikan bahwa persyaratan kinerja dipenuhi selama siklus pengembangan.

Perbandingan Perfomance Tester Vs Perfomance Engineer

Perfomance tester (Penguji kinerja)  akan memiliki pengetahuan pengujian dan akan tahu tentang analisis kinerja dan konsep pemantauan kinerja di berbagai aplikasi.

Mereka pada dasarnya akan melakukan “uji beban” untuk memeriksa kinerja, stabilitas, dan skalabilitas sistem, dan membuat laporan untuk dibagikan dengan pengembang untuk dikerjakan. Pekerjaan mereka berakhir di sini. Tetapi ini tidak terjadi pada seorang Perfomance Engineering.

Seorang Perfomance Engineering (insinyur / teknisi  kinerja) akan mencari akar penyebab masalah kinerja, bekerja untuk menemukan solusi yang mungkin untuk itu dan kemudian menyesuaikan dan mengoptimalkan sistem untuk mengurutkan masalah tersebut sampai parameter kinerja terpenuhi.

Sederhananya, Perfomance tester  dapat dianggap sebagai bagian dari Perfomance Engineering  tetapi tidak sebagai hal yang sama.

Tanggung Jawab Seorang Perfomance Engineering

Mendesain Uji Coba yang efektif

Sebagai teknisi kelayakan, tugas mereka harus membuat desain yang efektif untuk menguji coba sistem. Misalnya saja seperti :

  • Identifikasi tujuan, persyaratan yang dibutuhkan, model kerja, hingga pemangku kepentingan
  • Memahamicara menguji konkurensi, tingkat kedatangan, dan penjadwalan.
  • Memahami peran skalabilitas, kapasitas, dan keandalan sebagai atribut dan persyaratan kualitas.
  • Memahami cara menyiapkan / membuat data pengujian dan pengelolaan data.

Scripting, Menjalankan Tes dan Menafsirkan Hasil

Ada beberapa alat pengujian kinerja yang tersedia di internet. Tetapi kamu harus bekerja dengan bahasa pemrograman yang berbeda berdasarkan alat yang kamu gunakan.

Misalnya, kamu harus membuat pengujian dalam C dan Javascript saat bekerja dengan Microfocus Loadrunner. Demikian pula, kamu akan membuat skrip di Java dan Javascript untuk Apache JMeter.

Setelah pengujian kamu siap, kamu akan menjalankan pengujian tersebut di sistem kamu. Pastikan kamu menggunakan metrik yang konsisten saat menjalankan pengujian ini atau hasilnya tidak akan akurat.

Dan Akhirnya, kamu akan menafsirkan hasil tersebut. Dalam hal ini, kamu harus mencari tahu apa penyebabnya dan di mana kemunculannya. Untuk itu, seorang Perfomance Engineering  harus membaca hasil dan menganalisis grafik yang telah dibuat oleh alat pengujian kinerja dan menarik kesimpulan.

Fine Tuning Dan Optimasi Performa Sistem

Setelah kamu mengetahui apa itu akar permasalahan dan di mana hal itu terjadi, kamu harus menemukan solusi untuk mengatasinya untuk meningkatkan kinerja sistem yang kamu uji.

Tugasmu adalah adalah memastikan bahwa sistem / aplikasi dioptimalkan ke tingkat di mana ia bekerja secara optimal pada beban semaksimal mungkin. Tentu saja, kamu dapat mencari bantuan dari pengembang (backend, frontend atau full-stack) yang mengerjakan proyek untuk mengetahuinya.

Namun sebagai teknisi kinerja, kamu harus terlibat secara aktif dalam proses penyempurnaan dan pengoptimalan ini.

Membuktikan bahwa hasil pemuatannya dapat diskalakan

Jika kamu seorang insinyur kinerja yang baik, kamu tidak akan menyajikan makanan setengah matang. Pertama-tama, pertimbangkan semua kemungkinan.

Misalnya, ambil contoh portal belanja online yang sama. Jika kamu mempertimbangkan uji beban untuk 1000 transaksi simultan, pertimbangkan untuk kedua skenario di mana transaksi terjadi untuk produk yang berbeda atau saat itu terjadi untuk produk yang sama.

Jika portal kamu melakukan penjualan suatu produk eksklusif yang tersedia untuk periode terbatas, kamu mungkin memiliki terlalu banyak orang yang mencoba membelinya pada saat yang sama. Tanyakan pada diri sendiri  apakah sistem kamu dapat menahan beban itu?

Tidak hanya itu, kamu juga harus mempertimbangkan apakah hasil tersebut berkelanjutan selama jangka waktu tertentu. Sistem harus beroperasi tanpa crash.

Seringkali disarankan agar uji beban dijalankan selama 30 menit.

Meskipun tiga puluh menit sudah cukup untuk mendeteksi sebagian besar perubahan performa baru saat diperkenalkan, untuk membuat pengujian ini sah, kamu perlu membuktikan bahwa mereka dapat berjalan setidaknya selama dua jam pada beban yang sama.

Jangka waktu ini dapat bervariasi untuk program / sistem / aplikasi yang berbeda.

Sumber : https://hub.packtpub.com/how-to-become-an-exceptional-performance-engineer/

About the author

Avatar photo

Techfor Id

Leave a Comment

Click to ask
Hai, Tanya-Tanya Aja
Hi ini Windy, dari techfor

Windy bisa membantu kamu memahami layanan Techfor
Seperti

1. Kursus Online By Expert
2. Partnership Event dan Konten
3. Layanan liputan multimedia
4. Dan hal lain yg ingin kamu tau

Kirim saja pesan ini serta berikan salah satu nomor diatas atau beritahukan windy lebih jelas agar dapat membantu Kamu