ClusterControl adalah alat yang mudah digunakan untuk memantau kinerja TimescaleDB secara real-time. Ini menyediakan lusinan grafik yang telah ditentukan sebelumnya untuk menampilkan berbagai statistik kinerja mengenai pengguna, throughput, tablespace, redo log, buffer, cache dan I/O, misalnya. Ini juga memberikan informasi waktu nyata tentang beban kerja basis data. Rekan saya Sebastian sebelumnya menulis tentang cara menyebarkan TimescaleDB dengan mudah. Di blog ini, kami akan menunjukkan cara memantau berbagai aspek kinerja TimescaleDB dengan ClusterControl. Pertama-tama, izinkan saya untuk memberikan sedikit pengenalan tentang TimescaleDB.
TimescaleDB diimplementasikan sebagai ekstensi pada PostgreSQL, yang berarti bahwa database Timescale berjalan dalam instance PostgreSQL. Model ekstensi memungkinkan database untuk memanfaatkan banyak atribut PostgreSQL seperti keandalan, keamanan, dan konektivitas ke berbagai alat pihak ketiga. Pada saat yang sama, TimescaleDB memanfaatkan tingkat penyesuaian tinggi yang tersedia untuk ekstensi dengan menambahkan kait jauh ke dalam perencana kueri, model data, dan mesin eksekusi PostgreSQL. Ekosistemnya berbicara dalam bahasa asli yang dilakukan PostgreSQL, dan menambahkan fungsi khusus (dan pengoptimalan kueri) untuk bekerja dengan data deret waktu. Salah satu keuntungan yang TimescaleDB tawarkan dibandingkan penyimpanan data khusus lainnya untuk menyimpan IoT atau data deret waktu adalah, Anda dapat menggunakan sintaks SQL yang berarti Anda dapat memanfaatkan GABUNG. Jadi, membuat kueri metadata yang beragam lebih mudah bagi pengembang - menyederhanakan tumpukan mereka dan menghilangkan silo data.
TimescaleDB telah diuji dan di-benchmark dengan ratusan miliar baris, dan skalanya sangat baik – terutama dengan upsert atau insert dibandingkan dengan vanilla PostgreSQL. Jika Anda tertarik dengan alat tolok ukur mereka, Anda dapat mempertimbangkan untuk melihat Time Series Benchmark Suite (TSBS).
Menggunakan TimescaleDB cukup mudah jika Anda terbiasa dengan RDBMS seperti MySQL atau PostgreSQL. Anda harus menentukan database Anda dan membuat ekstensi untuk TimescaleDB. Setelah dibuat, Anda kemudian membuat Hypertable, yang secara virtual menangani semua interaksi pengguna dengan TimescaleDB. Lihat contoh di bawah ini:
nyc_data=# CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
WARNING:
WELCOME TO
_____ _ _ ____________
|_ _(_) | | | _ \ ___ \
| | _ _ __ ___ ___ ___ ___ __ _| | ___| | | | |_/ /
| | | | _ ` _ \ / _ \/ __|/ __/ _` | |/ _ \ | | | ___ \
| | | | | | | | | __/\__ \ (_| (_| | | __/ |/ /| |_/ /
|_| |_|_| |_| |_|\___||___/\___\__,_|_|\___|___/ \____/
Running version 1.2.2
For more information on TimescaleDB, please visit the following links:
1. Getting started: https://docs.timescale.com/getting-started
2. API reference documentation: https://docs.timescale.com/api
3. How TimescaleDB is designed: https://docs.timescale.com/introduction/architecture
Note: TimescaleDB collects anonymous reports to better understand and assist our users.
For more information and how to disable, please see our docs https://docs.timescaledb.com/using-timescaledb/telemetry.
CREATE EXTENSION
nyc_data=# SELECT create_hypertable('rides_count', 'one_hour');
create_hypertable
--------------------------
(1,public,rides_count,t)
(1 row)
Sederhana seperti itu. Namun, begitu data menjadi besar, pertanyaan lanjutan yang mungkin Anda miliki adalah "Bagaimana Anda dapat memantau kinerja TimescaleDB"? Nah, begitulah isi blog kami. Mari kita lihat bagaimana Anda dapat melakukannya dengan ClusterControl.
Memantau Kluster TimescaleDB
Memantau klaster TimescaleDB di ClusterControl hampir sama dengan memantau klaster database PostgreSQL. Kami memiliki grafik tingkat Cluster dan Node, Dasbor, Topologi, Pemantauan Kueri, dan Kinerja. Mari kita bahas masing-masing.
Tab "Ringkasan"
Grafik Ikhtisar dapat ditemukan dengan masuk ke Cluster → Ikhtisar tab.
Pada tampilan ini, Anda dapat melihat beban server, rasio cache hit, atau filter pada metrik lain - klik blok, baca blok, komit, atau jumlah koneksi.
Anda juga dapat membuat pengaturan dasbor kustom Anda di sini seperti contoh saya di bawah ini yang mengambil block-hit dan block-read.
Ini adalah tempat yang baik untuk memulai serta Anda memantau aktivitas jaringan, memeriksa transfer dan menerima paket.
Tab "Node"
Grafik node dapat ditemukan dengan masuk ke Cluster → Nodes tab. Ini berisi pandangan mendalam tentang node Anda, dengan metrik tingkat host dan database. Lihat grafik di bawah ini:
Anda juga dapat memeriksa proses teratas yang berjalan di sistem host jika Anda mengklik "Atas ". Lihat contoh tangkapan layar di bawah ini:
Ada juga beberapa fitur setelah mengklik kanan node di mana Anda dapat mengaktifkan pengarsipan WAL atau memulai ulang daemon PostgreSQL atau mem-boot ulang host. Lihat gambar seperti di bawah ini:
Ini dapat membantu jika Anda ingin menjadwalkan pemeliharaan pada node yang berkinerja buruk.
Tab "Dasbor"
Dasbor baru saja dirilis tahun lalu dan dengan dukungan dasbor PostgreSQL, Anda dapat memanfaatkan grafik ini. Misalnya, saya memasukkan 1 juta baris di database nyc_data. Lihat di bawah bagaimana hal itu tercermin di Dasbor Ikhtisar PostgreSQL:
Setelah memasukkan baris 1.1 M, kita dapat melihat bahwa node 192.168.70.40 masih berkinerja dan tidak ada tanda-tanda CPU yang tinggi dan pemanfaatan disk yang tinggi. Lihat dasbor berikut saat kami memantau kinerjanya:
Selain dari Dasbor Ikhtisar Cluster, Anda juga dapat memiliki tampilan granular tentang kinerja sistem. Lihat gambar di bawah ini:
Tab "Topologi"
Tab ini sederhana tetapi menawarkan tampilan topologi replikasi master-slave Anda. Ini memberi Anda informasi singkat namun ringkas tentang bagaimana kinerja tuan dan budak Anda. Lihat gambar di bawah ini:
Tab "Pemantau Kueri"
Memantau kueri di TimescaleDB sangat penting bagi DBA serta pengembang yang menangani logika aplikasi. Tab ini sangat penting untuk memahami bagaimana kinerja kueri. Anda dapat melihat di sini kueri teratas, kueri yang berjalan, outlier kueri, dan statistik kueri. Misalnya, Anda dapat melihat kueri yang berjalan di semua host, atau Anda dapat memfilter berdasarkan node yang Anda coba pantau. Contoh di bawah ini menunjukkan tampilannya saat dilihat di bawah Monitor Kueri.
Jika Anda ingin mengumpulkan statistik dari potongan/indeks TimescaleDB Anda, Anda dapat memanfaatkannya di sini di bawah Statistik Kueri. Ini menunjukkan daftar indeks Anda yang digunakan oleh TimescaleDB. Lihat gambar di bawah ini:
Anda tidak hanya dapat melihat statistik indeks tertentu, Anda juga dapat memfilternya berdasarkan statistik tabel I/O, statistik indeks I/O, atau kunci tunggu eksklusifnya. Karenanya Anda dapat melihat item lain dalam daftar "Statistik" yang ingin Anda pantau.
Tab "Kinerja"
Di bawah tab ini, di sinilah Anda dapat meninjau variabel yang ditetapkan untuk pengoptimalan dan penyetelan, menyiapkan penasihat, memeriksa pertumbuhan basis data, dan menghasilkan analisis skema untuk mengumpulkan tabel tanpa Kunci Utama.
Misalnya, Anda dapat melihat secara berdampingan node yang tersedia dalam penyiapan dan membandingkan variabel. Lihat tab di bawah ini:
Itu saja untuk saat ini. Akan sangat senang mendengar tanggapan Anda, dan terutama beri tahu kami apa yang kami lewatkan.