Panduan Penskalaan Selari Amazon Redshift dan Keputusan Ujian

Panduan Penskalaan Selari Amazon Redshift dan Keputusan Ujian

Di Skyeng kami menggunakan Amazon Redshift, termasuk penskalaan selari, jadi kami mendapati artikel ini oleh Stefan Gromoll, pengasas dotgo.com, untuk intermix.io menarik. Selepas terjemahan, sedikit pengalaman kami daripada jurutera data Daniyar Belkhodzhaev.

Seni Bina Amazon Redshift membenarkan penskalaan dengan menambahkan nod baharu pada kluster. Keperluan untuk menangani bilangan permintaan puncak boleh menyebabkan penyediaan nod yang berlebihan. Penskalaan Concurrency, berbanding dengan menambah nod baharu, meningkatkan kuasa pengkomputeran mengikut keperluan.

Penskalaan selari Amazon Redshift memberikan kluster Redshift kapasiti tambahan untuk mengendalikan volum permintaan puncak. Ia berfungsi dengan mengalihkan permintaan ke kelompok "selari" baharu di latar belakang. Permintaan dihalakan berdasarkan konfigurasi dan peraturan WLM.

Harga penskalaan selari adalah berdasarkan model kredit dengan peringkat percuma. Di atas kredit percuma, pembayaran adalah berdasarkan masa Kluster Skala Selari memproses permintaan.

Penulis menguji penskalaan selari pada salah satu kluster dalaman. Dalam siaran ini, dia akan bercakap tentang keputusan ujian dan memberi petua tentang cara untuk bermula.

Keperluan kluster

Untuk menggunakan penskalaan selari, kluster Amazon Redshift anda mesti memenuhi keperluan berikut:

- platform: EC2-VPC;
β€” jenis nod: dc2.8xlarge, ds2.8xlarge, dc2.large atau ds2.xlarge;
β€” bilangan nod: dari 2 hingga 32 (kelompok nod tunggal tidak disokong).

Jenis permintaan yang boleh diterima

Penskalaan selari tidak sesuai untuk semua jenis pertanyaan. Dalam versi pertama, ia hanya memproses permintaan baca yang memenuhi tiga syarat:

β€” Pertanyaan PILIH adalah baca sahaja (walaupun lebih banyak jenis dirancang);
β€” pertanyaan tidak merujuk jadual dengan gaya isihan INTERLEAVED;
- Pertanyaan tidak menggunakan Amazon Redshift Spectrum untuk merujuk jadual luaran.

Untuk dihalakan ke Kluster Skala Selari, permintaan mesti dibariskan. Selain itu, pertanyaan yang layak untuk baris gilir SQA (Pecutan Pertanyaan Ringkas), tidak akan berjalan pada kelompok skala selari.

Baris gilir dan SQA memerlukan konfigurasi yang betul Pengurusan Beban Kerja Anjakan Merah (WLM). Kami mengesyorkan agar anda mengoptimumkan WLM anda terlebih dahulu - ini akan mengurangkan keperluan untuk penskalaan selari. Dan ini penting kerana penskalaan selari hanya percuma untuk beberapa jam tertentu. AWS mendakwa bahawa penskalaan selari akan menjadi percuma untuk 97% pelanggan, yang membawa kami kepada isu harga.

Kos penskalaan selari

AWS menawarkan model kredit untuk penskalaan selari. Setiap kluster aktif Pergeseran Merah Amazon Mengumpul kredit setiap jam, sehingga satu jam kredit penskalaan selari percuma setiap hari.

Anda hanya membayar apabila penggunaan Kluster Skala Selari anda melebihi jumlah kredit yang anda terima.

Kos dikira pada kadar atas permintaan sesaat untuk kelompok selari yang digunakan melebihi kadar percuma. Anda hanya dicaj untuk tempoh permintaan anda, dengan caj minimum satu minit setiap kali Kluster Skala Selari diaktifkan. Kadar atas permintaan sesaat dikira berdasarkan prinsip harga umum Pergeseran Merah Amazon, iaitu, ia bergantung pada jenis nod dan bilangan nod dalam kelompok anda.

Melancarkan Penskalaan Selari

Penskalaan selari dicetuskan untuk setiap baris gilir WLM. Pergi ke konsol AWS Redshift dan pilih Pengurusan Beban Kerja daripada menu navigasi kiri. Pilih kumpulan parameter WLM kluster anda daripada menu lungsur berikut.

Anda akan melihat lajur baharu yang dipanggil "Mod Penskalaan Concurrency" di sebelah setiap baris gilir. Lalai ialah "Dilumpuhkan". Klik "Edit" dan anda boleh menukar tetapan untuk setiap baris gilir.

Panduan Penskalaan Selari Amazon Redshift dan Keputusan Ujian

Konfigurasi

Penskalaan selari berfungsi dengan memajukan permintaan yang sesuai kepada kelompok khusus baharu. Kluster baharu mempunyai saiz yang sama (jenis dan bilangan nod) sebagai kluster utama.

Bilangan lalai kluster yang digunakan untuk penskalaan selari ialah satu (1), dengan keupayaan untuk mengkonfigurasi sehingga jumlah sepuluh (10) kluster.
Jumlah bilangan kelompok untuk penskalaan selari boleh ditetapkan oleh parameter max_concurrency_scaling_clusters. Meningkatkan nilai parameter ini menyediakan kelompok berlebihan tambahan.

Panduan Penskalaan Selari Amazon Redshift dan Keputusan Ujian

Pemantauan

Terdapat beberapa graf tambahan yang tersedia dalam konsol AWS Redshift. Carta Kluster Penskalaan Concurrency Konfigurasi Maks memaparkan nilai kluster_scaling_concurrency_maks dari semasa ke semasa.

Panduan Penskalaan Selari Amazon Redshift dan Keputusan Ujian

Bilangan kelompok penskalaan aktif dipaparkan dalam antara muka pengguna dalam bahagian "Aktiviti Penskalaan Concurrency":

Panduan Penskalaan Selari Amazon Redshift dan Keputusan Ujian

Dalam tab Pertanyaan, terdapat lajur yang menunjukkan sama ada pertanyaan telah dilaksanakan dalam kelompok utama atau dalam kelompok skala selari:

Panduan Penskalaan Selari Amazon Redshift dan Keputusan Ujian

Tidak kira sama ada pertanyaan tertentu telah dilaksanakan dalam kluster utama atau melalui kluster penskalaan selari, ia disimpan dalam stl_query.concurrency_scaling_status.

Panduan Penskalaan Selari Amazon Redshift dan Keputusan Ujian

Nilai 1 menunjukkan bahawa pertanyaan telah dilaksanakan dalam kelompok skala selari, manakala nilai lain menunjukkan bahawa ia telah dilaksanakan dalam kelompok utama.

Contoh:

Panduan Penskalaan Selari Amazon Redshift dan Keputusan Ujian

Maklumat penskalaan serentak juga disimpan dalam beberapa jadual dan paparan lain, seperti SVCS_CONCURRENCY_SCALING_USAGE. Selain itu, terdapat beberapa jadual katalog yang menyimpan maklumat tentang penskalaan selari.

Penemuan

Penulis memulakan penskalaan selari untuk satu baris gilir dalam kelompok dalaman pada kira-kira 18:30:00 GMT pada 29.03.2019/3/20. Menukar parameter max_concurrency_scaling_clusters kepada 30 pada kira-kira 00:29.03.2019:XNUMX pada XNUMX/XNUMX/XNUMX.

Untuk mensimulasikan baris gilir permintaan, kami mengurangkan bilangan slot untuk baris gilir ini daripada 15 kepada 5.

Di bawah ialah carta papan pemuka intermix.io yang menunjukkan bilangan permintaan berjalan dan beratur selepas mengurangkan bilangan slot.

Panduan Penskalaan Selari Amazon Redshift dan Keputusan Ujian

Kami melihat bahawa masa menunggu untuk permintaan dalam baris gilir telah meningkat, dengan masa maksimum adalah lebih daripada 5 minit.

Panduan Penskalaan Selari Amazon Redshift dan Keputusan Ujian

Berikut ialah maklumat yang berkaitan daripada konsol AWS tentang perkara yang berlaku pada masa ini:

Panduan Penskalaan Selari Amazon Redshift dan Keputusan Ujian

Redshift melancarkan tiga (3) kluster penskalaan selari seperti yang dikonfigurasikan. Nampaknya kluster ini kurang digunakan, walaupun banyak permintaan dalam kluster kami dibariskan.

Graf penggunaan berkorelasi dengan graf aktiviti penskalaan:

Panduan Penskalaan Selari Amazon Redshift dan Keputusan Ujian

Selepas beberapa jam, pengarang menyemak baris gilir dan kelihatan seperti 6 permintaan sedang berjalan pada skala selari. Kami juga menguji dua permintaan secara rawak melalui antara muka pengguna. Kami belum menyemak cara menggunakan nilai ini apabila beberapa kluster selari aktif serentak.

Panduan Penskalaan Selari Amazon Redshift dan Keputusan Ujian

Penemuan

Skala selari boleh mengurangkan permintaan masa yang dibelanjakan dalam baris gilir semasa beban puncak.

Berdasarkan keputusan ujian asas, ternyata keadaan dengan permintaan pemuatan telah bertambah baik sebahagiannya. Walau bagaimanapun, penskalaan selari sahaja tidak menyelesaikan semua masalah konkurensi.

Ini disebabkan oleh sekatan pada jenis pertanyaan yang boleh menggunakan penskalaan selari. Sebagai contoh, pengarang mempunyai banyak jadual dengan kekunci isihan bersilang, dan kebanyakan beban kerja kami adalah menulis.

Walaupun penskalaan selari bukan penyelesaian universal untuk menyediakan WLM, menggunakan ciri ini adalah mudah dan mudah.

Oleh itu, penulis mengesyorkan menggunakannya untuk baris gilir WLM anda. Mulakan dengan satu kluster selari dan pantau beban puncak melalui konsol untuk menentukan sama ada kluster baharu sedang digunakan sepenuhnya.

Memandangkan AWS menambah sokongan untuk jenis pertanyaan dan jadual tambahan, penskalaan selari akan beransur-ansur menjadi lebih cekap.

Komen daripada Daniyar Belkhodzhaev, Jurutera Data Skyeng

Kami di Skyeng juga segera menyedari kemungkinan munculnya penskalaan selari.
Fungsi ini sangat menarik, terutamanya memandangkan AWS menganggarkan bahawa kebanyakan pengguna tidak perlu membayar tambahan untuknya.

Kebetulan pada pertengahan April kami mempunyai permintaan yang luar biasa kepada kelompok Redshift. Dalam tempoh ini, kami sering menggunakan Concurrency Scaling; kadangkala kluster tambahan berfungsi 24 jam sehari tanpa henti.

Ini memungkinkan, jika tidak menyelesaikan masalah dengan baris gilir sepenuhnya, maka sekurang-kurangnya untuk menjadikan keadaan itu boleh diterima.

Pemerhatian kami sebahagian besarnya bertepatan dengan tanggapan lelaki dari intermix.io.

Kami juga mendapati bahawa walaupun terdapat permintaan menunggu dalam baris gilir, tidak semua permintaan telah dimajukan segera ke gugusan selari. Nampaknya ini berlaku kerana kelompok selari masih mengambil masa untuk bermula. Akibatnya, semasa beban puncak jangka pendek kami masih mempunyai baris gilir kecil, dan penggera yang sepadan mempunyai masa untuk dicetuskan.

Setelah menyingkirkan beban tidak normal pada bulan April, kami, seperti yang dijangkakan oleh AWS, memasuki mod penggunaan sekali-sekala - dalam norma bebas.
Anda boleh menjejaki kos penskalaan selari anda dalam AWS Cost Explorer. Anda perlu memilih Perkhidmatan - Redshift, Jenis Penggunaan - CS, contohnya USW2-CS:dc2.large.

Anda boleh membaca lebih lanjut mengenai harga dalam bahasa Rusia здСсь.

Sumber: www.habr.com

Tambah komen