

# Efisiensi kinerja
<a name="performance-efficiency"></a>

Pilar efisiensi kinerja mencakup kemampuan untuk menggunakan sumber daya cloud secara efisien untuk memenuhi persyaratan-persyaratan kinerja, dan untuk mempertahankan efisiensi tersebut seiring dengan perubahan permintaan dan perkembangan teknologi yang terjadi.

 Pilar efisiensi kinerja memberikan gambaran umum tentang prinsip, praktik terbaik, dan pertanyaan desain. Anda dapat menemukan panduan preskriptif tentang implementasi di [laporan resmi Pilar Efisiensi Kinerja](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/welcome.html?ref=wellarchitected-wp). 

**Topics**
+ [Prinsip desain](perf-dp.md)
+ [Definisi](perf-def.md)
+ [Praktik terbaik](perf-bp.md)
+ [Sumber daya](perf-resources.md)

# Prinsip desain
<a name="perf-dp"></a>

 Ada lima prinsip desain untuk meraih efisiensi kinerja di cloud: 
+  **Buat teknologi canggih dapat diakses oleh lebih banyak orang**: Buat penerapan teknologi canggih lebih mudah dengan mendelegasikan tugas-tugas kompleks kepada penyedia layanan cloud Anda. Daripada bertanya kepada tim IT Anda tentang hosting dan menjalankan teknologi baru, manfaatkan teknologi sebagai layanan. Misalnya, Tidak ada SQL database, transcoding media, dan pembelajaran mesin adalah semua teknologi yang membutuhkan keahlian khusus. Di cloud, teknologi ini menjadi layanan yang dapat digunakan tim Anda, sehingga mereka dapat berfokus pada pengembangan produk, bukan penyediaan dan manajemen sumber daya. 
+  **Menjadi global dalam hitungan menit**: Menyebarkan beban kerja Anda di beberapa AWS Wilayah di seluruh dunia memungkinkan Anda memberikan latensi yang lebih rendah dan pengalaman yang lebih baik bagi pelanggan Anda dengan biaya minimal. 
+  **Gunakan arsitektur nirserver**: Dengan arsitektur nirserver, Anda tidak perlu menjalankan dan memelihara server fisik untuk aktivitas komputasi tradisional. Misalnya, layanan penyimpanan nirserver dapat bertindak sebagai situs web statis (tanpa memerlukan server web) dan layanan peristiwa dapat melakukan hosting kode. Dengan demikian, beban operasional untuk mengelola server fisik tidak lagi ada, dan biaya transaksional berkurang karena layanan terkelola dioperasikan pada skala cloud. 
+  **Bereksperimen lebih sering**: Dengan sumber daya virtual yang dapat diotomatiskan, Anda dapat melakukan pengujian komparatif dengan cepat menggunakan jenis-jenis instans, penyimpanan, atau konfigurasi yang berbeda-beda. 
+  **Pertimbangkan kesesuaian dengan mekanisme kerja (simpati mekanis)**: Pahami bagaimana layanan cloud digunakan dan selalu gunakan pendekatan teknologi yang sesuai dengan tujuan beban kerja Anda. Misalnya, pertimbangkan pola akses data saat Anda memilih pendekatan basis data atau penyimpanan. 

# Definisi
<a name="perf-def"></a>

 Berikut lima area praktik terbaik untuk efisiensi kinerja di cloud: 
+  **Pemilihan arsitektur** 
+  **Komputasi dan perangkat keras** 
+  **Manajemen data** 
+  **Jaringan dan Pengiriman Konten** 
+  **Proses dan budaya** 

 Gunakan pendekatan yang didorong data untuk membangun arsitektur dengan kinerja tinggi. Kumpulkan data tentang semua aspek arsitektur, dari desain tingkat tinggi hingga pemilihan dan konfigurasi jenis sumber daya. 

 Meninjau pilihan Anda secara teratur memvalidasi bahwa Anda memanfaatkan Cloud yang terus berkembang. AWS Pemantauan akan memastikan Anda mengetahui adanya penyimpangan dari kinerja yang diharapkan. Buat kompensasi dalam arsitektur untuk meningkatkan kinerja, seperti menggunakan kompresi atau caching, atau persyaratan konsistensi yang lebih fleksibel. 

# Praktik terbaik
<a name="perf-bp"></a>

**Topics**
+ [Pemilihan arsitektur](perf-arch.md)
+ [Komputasi dan perangkat keras](perf-compute.md)
+ [Manajemen data](perf-data.md)
+ [Jaringan dan Pengiriman Konten](perf-networking.md)
+ [Proses dan budaya](perf-process.md)

# Pemilihan arsitektur
<a name="perf-arch"></a>

 Solusi yang optimal bervariasi untuk beban kerja tertentu, dan solusi sering kali menggabungkan beberapa pendekatan. Beban kerja yang dirancang dengan baik menggunakan beberapa solusi dan memungkinkan berbagai fitur guna meningkatkan kinerja. 

 AWS sumber daya tersedia dalam berbagai jenis dan konfigurasi, yang membuatnya lebih mudah untuk menemukan pendekatan yang sesuai dengan kebutuhan Anda. Anda juga dapat menemukan opsi yang tidak mudah dicapai dengan infrastruktur on-premise. Misalnya, layanan terkelola seperti Amazon DynamoDB menyediakan database SQL No yang dikelola sepenuhnya dengan latensi milidetik satu digit pada skala apa pun. 

 Pertanyaan berikut ini berfokus pada semua pertimbangan untuk efisiensi kinerja. (Untuk melihat daftar pertanyaan dan praktik terbaik mengenai efisiensi kinerja, buka [Lampiran](a-performance-efficiency.md).). 


| PERF1: Bagaimana Anda memilih sumber daya cloud dan pola arsitektur yang sesuai untuk beban kerja Anda? | 
| --- | 
|  Sering kali, beberapa pendekatan diperlukan untuk performa yang lebih efektif di semua beban kerja. Sistem yang Well-Architected menggunakan beberapa solusi dan fitur untuk meningkatkan kinerja.  | 

# Komputasi dan perangkat keras
<a name="perf-compute"></a>

 Pilihan komputasi yang optimal untuk beban kerja tertentu bervariasi berdasarkan desain aplikasi, pola penggunaan, dan pengaturan konfigurasi. Arsitektur dapat menggunakan pilihan komputasi yang berbeda untuk berbagai komponen, dan memungkinkan fitur yang berbeda untuk meningkatkan kinerja. Memilih pilihan komputasi yang salah untuk arsitektur dapat menyebabkan efisiensi kinerja menjadi lebih rendah. 

 Dalam AWS, komputasi tersedia dalam tiga bentuk: instance, wadah, dan fungsi: 
+  **Instans** adalah server virtual, memungkinkan Anda untuk mengubah kemampuan mereka dengan tombol atau panggilan. API Karena keputusan sumber daya di cloud tidaklah tetap, Anda dapat bereksperimen dengan jenis server yang berbeda-beda. Pada AWS, instance server virtual ini datang dalam keluarga dan ukuran yang berbeda, dan mereka menawarkan berbagai kemampuan, termasuk solid-state drive (SSDs) dan unit pemrosesan grafis (). GPUs 
+  **Container** adalah metode virtualisasi sistem operasi yang memungkinkan Anda menjalankan aplikasi dan dependensinya dalam proses yang terisolasi sumber daya. AWS Fargate adalah komputasi tanpa server untuk kontainer atau Amazon EC2 dapat digunakan jika Anda memerlukan kontrol atas penginstalan, konfigurasi, dan pengelolaan lingkungan komputasi Anda. Anda juga dapat memilih dari beberapa platform orkestrasi kontainer: Amazon Elastic Container Service (ECS) atau Amazon Elastic Kubernetes Service (). EKS 
+  **Fungsi** mengabstraksikan lingkungan pelaksanaan dari kode yang ingin Anda jalankan. Misalnya, AWS Lambda memungkinkan Anda untuk menjalankan kode tanpa menjalankan instance. 

 Pertanyaan berikut ini berfokus pada semua pertimbangan untuk efisiensi kinerja. 


| PERF2: Bagaimana Anda memilih dan menggunakan sumber daya komputasi dalam beban kerja Anda? | 
| --- | 
| Solusi komputasi yang lebih efisien untuk sebuah beban kerja bervariasi berdasarkan desain aplikasi, pola penggunaan, dan pengaturan konfigurasi. Arsitektur dapat menggunakan beberapa solusi komputasi untuk beragam komponen, dan mengaktifkan fitur lain untuk meningkatkan performa. Memilih solusi komputasi yang salah untuk arsitektur dapat mengakibatkan efisiensi performa yang lebih rendah. | 

# Manajemen data
<a name="perf-data"></a>

 Solusi manajemen data yang optimal untuk sistem tertentu bervariasi berdasarkan jenis tipe data (blok, file, atau objek), pola akses (acak atau sekuensial), throughput yang diperlukan, frekuensi akses (online, offline, arsip), frekuensi pembaruan (, dinamis)WORM, dan kendala ketersediaan dan daya tahan. Beban kerja Well-Architected menggunakan penyimpanan data yang dibuat khusus yang memungkinkan berbagai fitur untuk meningkatkan kinerja. 

 Dalam AWS, penyimpanan tersedia dalam tiga bentuk: objek, blok, dan file: 
+  **Penyimpanan objek** menyediakan platform yang tahan lama dan dapat diskalakan agar data terkait konten yang dibuat pengguna, arsip aktif, komputasi nirserver, penyimpanan Big Data, atau pencadangan dan pemulihan dapat diakses dari lokasi internet mana pun. Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek yang menawarkan skalabilitas, ketersediaan data, keamanan, dan kinerja terdepan di industri. Amazon S3 dirancang untuk memberikan daya tahan 99,999999999 persen (skenario 11 angka 9) dan menyimpan data jutaan aplikasi untuk perusahaan di seluruh dunia. 
+  **Penyimpanan blok menyediakan penyimpanan blok** latensi rendah yang sangat tersedia, konsisten, untuk setiap host virtual dan analog dengan penyimpanan yang terpasang langsung (DAS) atau Jaringan Area Penyimpanan (). SAN Amazon Elastic Block Store (AmazonEBS) dirancang untuk beban kerja yang memerlukan penyimpanan persisten yang dapat diakses oleh EC2 instans yang membantu Anda menyetel aplikasi dengan kapasitas penyimpanan, kinerja, dan biaya yang tepat. 
+  **Penyimpanan file** menyediakan akses ke sistem file bersama di seluruh sistem. Solusi penyimpanan file seperti Amazon Elastic File System (AmazonEFS) ideal untuk kasus penggunaan seperti repositori konten besar, lingkungan pengembangan, toko media, atau direktori rumah pengguna. Amazon FSx membuatnya efisien dan hemat biaya untuk meluncurkan dan menjalankan sistem file populer sehingga Anda dapat memanfaatkan rangkaian fitur yang kaya dan kinerja cepat dari sistem file open source dan berlisensi komersial yang banyak digunakan. 

 Pertanyaan berikut ini berfokus pada semua pertimbangan untuk efisiensi kinerja. 


| PERF3: Bagaimana Anda menyimpan, mengelola, dan mengakses data dalam beban kerja Anda? | 
| --- | 
|  Solusi penyimpanan yang lebih efisien untuk suatu sistem bervariasi berdasarkan jenis operasi akses (blok, file, atau objek), pola akses (acak atau sekuensial), throughput yang diperlukan, frekuensi akses (online, offline, arsip), frekuensi pembaruan (, dinamis)WORM, dan kendala ketersediaan dan daya tahan. Sistem yang Well-architected menggunakan beberapa solusi penyimpanan dan mengaktifkan fitur berbeda yang meningkatkan performa dan menggunakan sumber daya secara efisien.  | 

# Jaringan dan Pengiriman Konten
<a name="perf-networking"></a>

 Solusi jaringan optimal untuk beban kerja bervariasi berdasarkan latensi, persyaratan throughput, jitter, dan bandwith. Batas fisik, seperti sumber daya on-premise atau pengguna, menentukan opsi lokasi. Batas-batas ini dapat diimbangi dengan penempatan sumber daya atau lokasi edge. 

 Pada AWS, jaringan divirtualisasi dan tersedia dalam sejumlah jenis dan konfigurasi yang berbeda. Ini membuatnya lebih mudah untuk mencocokkan kebutuhan jaringan Anda. AWS menawarkan fitur produk (misalnya, Jaringan yang Ditingkatkan, instans yang dioptimalkan EC2 jaringan Amazon, akselerasi transfer Amazon S3, dan CloudFront Amazon dinamis) untuk mengoptimalkan lalu lintas jaringan. AWS juga menawarkan fitur jaringan (misalnya, perutean latensi Amazon Route 53, VPC titik akhir Amazon AWS Direct Connect, dan AWS Global Accelerator) untuk mengurangi jarak jaringan atau jitter. 

 Pertanyaan berikut ini berfokus pada semua pertimbangan untuk efisiensi kinerja. 


| PERF4: Bagaimana Anda memilih dan mengkonfigurasi sumber daya jaringan dalam beban kerja Anda? | 
| --- | 
|  Pertanyaan ini mencakup panduan dan praktik terbaik untuk merancang, mengonfigurasi, dan mengoperasikan jejaring yang efisien dan solusi penyampaian konten di cloud.  | 

# Proses dan budaya
<a name="perf-process"></a>

 Saat merancang beban kerja, ada prinsip dan praktik yang dapat Anda adopsi untuk membantu Anda menjalankan beban kerja cloud berkinerja tinggi yang efisien dengan lebih baik. Untuk mengadopsi budaya yang mendorong efisiensi kinerja beban kerja cloud, pertimbangkan prinsip dan praktik utama berikut. 

 Pertimbangkan prinsip-prinsip utama berikut untuk membangun budaya ini: 
+  **Infrastruktur sebagai kode:** Tentukan infrastruktur Anda sebagai kode menggunakan pendekatan seperti AWS CloudFormation templat. Penggunaan templat memungkinkan Anda untuk menempatkan infrastruktur di kontrol sumber bersama dengan konfigurasi dan kode aplikasi Anda. Ini memungkinkan Anda untuk menerapkan praktik yang sama yang Anda gunakan untuk mengembangkan perangkat lunak di infrastruktur Anda sehingga Anda dapat mengulang dengan cepat. 
+  **Pipeline deployment:** Gunakan pipeline deployment yang berkelanjutan/terintegrasi terus-menerus (CI/CD) (misalnya, repositori kode sumber, sistem pembangunan, deployment, dan otomatisasi pengujian) untuk melakukan deployment infrastruktur Anda. Ini memungkinkan Anda untuk melakukan deployment dengan cara yang dapat diulang, konsisten, dan murah saat Anda melakukan pengulangan. 
+  **Metrik yang terdefinisi dengan baik:** Siapkan dan pantau metrik untuk menangkap indikator kinerja utama (). KPIs Kami menyarankan Anda menggunakan metrik teknis dan metrik bisnis. Untuk situs web atau aplikasi seluler, metrik utama adalah menangkap time-to-first-byte atau merender. Metrik lain yang umumnya berlaku antara lain, hitungan thread, laju pengumpulan sampah, dan keadaan tunggu. Metrik bisnis, seperti biaya kumulatif agregat per permintaan, dapat memberikan peringatan kepada Anda tentang berbagai cara untuk menghemat biaya. Pertimbangkan dengan hati-hati bagaimana Anda akan menafsirkan metrik. Misalnya, Anda dapat memilih nilai maksimum atau persentil 99 dan bukannya nilai rata-rata. 
+  **Jalankan tes kinerja secara otomatis:** Sebagai bagian dari proses deployment Anda, mulai tes kinerja secara otomatis setelah tes yang lebih cepat berhasil dijalankan. Otomatisasi harus menciptakan lingkungan baru, menyiapkan kondisi awal seperti data uji, kemudian jalankan serangkaian uji beban dan tolok ukur. Hasil dari pengujian-pengujian ini harus dikaitkan kembali dengan pembangunan sehingga Anda dapat melacak perubahan performa seiring waktu. Untuk pengujian yang lama, Anda dapat membuat ini sebagai bagian dari alur yang asinkron dari sisa pembangunan. Atau, Anda dapat menjalankan pengujian kinerja semalaman menggunakan Instans EC2 Spot Amazon. 
+  **simulasi pengujian beban kerja:** Anda harus membuat serangkaian skenario pengujian yang mereplikasi atau merekam perjalanan pengguna yang direkayasa. Skrip ini harus idempoten dan tidak dipasangkan, dan Anda mungkin harus menyertakan skrip *prapemanasan* untuk menghasilkan hasil yang valid. Sejauh dapat dilakukan, skrip pengujian Anda harus mereplikasi perilaku penggunaan dalam produksi. Anda dapat menggunakan perangkat lunak atau solusi software-as-a-service (SaaS) untuk menghasilkan beban. Pertimbangkan untuk menggunakan solusi [AWS Marketplace](https://aws.amazon.com/marketplace/) dan [Instans Spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) — yang merupakan cara yang hemat untuk simulasi pengujian beban kerja. 
+  **Visibilitas kinerja:** Metrik utama harus dapat dilihat oleh tim Anda, khususnya metrik untuk setiap versi yang dibangun. Ini memungkinkan Anda untuk melihat setiap tren positif atau negatif yang signifikan seiring waktu. Anda juga harus menampilkan metrik atas jumlah kesalahan atau pengecualian untuk memastikan Anda menguji sistem yang berfungsi. 
+ **Visualisasi:** Gunakan teknik visualisasi yang membuat jelas di mana terjadi masalah performa, hotspot, keadaan tunggu, atau penggunaan rendah. Lapisi diagram arsitektur dengan metrik performa — kode atau grafik panggilan dapat membantu mengidentifikasi masalah dengan cepat. 
+  **Tinjau proses secara rutin:** Arsitektur dengan performa buruk biasanya merupakan akibat dari tidak adanya proses peninjauan performa, atau proses peninjauan performa yang bermasalah. Jika arsitektur Anda memiliki performa buruk, implementasi proses peninjauan performa memungkinkan Anda untuk mendorong peningkatan berulang. 
+  **Optimalisasi terus-menerus:** Adopsi budaya untuk terus mengoptimalkan efisiensi kinerja beban kerja cloud Anda. 

 Pertanyaan berikut ini berfokus pada semua pertimbangan untuk efisiensi kinerja. 


| PERF5: Proses apa yang Anda gunakan untuk mendukung efisiensi kinerja yang lebih besar untuk beban kerja Anda?  | 
| --- | 
|  Saat merancang beban kerja, ada prinsip dan praktik yang dapat Anda adopsi untuk membantu Anda menjalankan beban kerja cloud berkinerja tinggi yang efisien dengan lebih baik. Untuk mengadopsi budaya yang mendorong efisiensi kinerja beban kerja cloud, pertimbangkan prinsip dan praktik utama berikut.  | 

# Sumber daya
<a name="perf-resources"></a>

 Lihat referensi berikut untuk mempelajari selengkapnya tentang praktik terbaik kami untuk Efisiensi Kinerja. 

## Dokumentasi
<a name="perf-doc"></a>
+  [Optimalisasi Performa Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/PerformanceOptimization.html?ref=wellarchitected-wp) 
+  [Kinerja EBS Volume Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSPerformance.html?ref=wellarchitected-wp) 

## Laporan resmi
<a name="perf-wp"></a>
+  [Pilar Efisiensi Performa](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/welcome.html?ref=wellarchitected-wp) 

## Video
<a name="perf-video"></a>
+  [AWS re: Ciptakan 2019: EC2 Yayasan Amazon (-R2) CMP211](https://www.youtube.com/watch?v=kMMybKqC2Y0&ref=wellarchitected-wp) 
+  [AWS Re:invent 2019: Sesi kepemimpinan: Status penyimpanan serikat pekerja (01-L) STG2](https://www.youtube.com/watch?v=39vAsGi6eEI&ref=wellarchitected-wp) 
+  [AWS Re:invent 2019: Sesi kepemimpinan: database yang dibuat khusus ( AWS 09-L) DAT2](https://www.youtube.com/watch?v=q81TVuV5u28&ref=wellarchitected-wp) 
+  [AWS re:invent 2019: Konektivitas ke AWS dan arsitektur AWS jaringan hybrid (-R1) NET317](https://www.youtube.com/watch?v=eqW6CPb58gs&ref=wellarchitected-wp) 
+  [AWS Re:invent 2019: Memberdayakan EC2 Amazon generasi berikutnya: Menyelam jauh ke dalam sistem Nitro (03-R2) CMP3](https://www.youtube.com/watch?v=rUY-00yFlE4&ref=wellarchitected-wp) 
+  [AWS Re:invent 2019: Menskalakan hingga 10 juta pengguna pertama Anda (-R) ARC211](https://www.youtube.com/watch?v=kKjm4ehYiMs&ref=wellarchitected-wp) 