ClusterControl е лесен за използване инструмент за наблюдение на производителността на TimescaleDB в реално време. Той предоставя десетки предварително дефинирани диаграми за показване на голямо разнообразие от статистически данни за производителността по отношение на потребители, пропускателна способност, пространства за таблици, повторни регистрационни файлове, буфери, кешове и I/O, например. Той също така предоставя информация в реално време за натоварването на базата данни. Моят колега Себастиан по-рано писа за това как лесно да разположите TimescaleDB. В този блог ще ви покажем как да наблюдавате различни аспекти на производителността на TimescaleDB с ClusterControl. Първо, позволете ми да дам малко въведение относно TimescaleDB.
TimescaleDB се реализира като разширение на PostgreSQL, което означава, че Timescale база данни работи в рамките на PostgreSQL екземпляр. Моделът на разширение позволява на базата данни да се възползва от много от атрибутите на PostgreSQL, като надеждност, сигурност и свързаност с широк спектър от инструменти на трети страни. В същото време TimescaleDB използва високата степен на персонализиране, достъпна за разширенията, като добавя куки дълбоко в планировчика на заявки, модела на данни и машината за изпълнение на PostgreSQL. Нейната екосистема говори на родния език, който прави PostgreSQL, и добавя специализирани функции (и оптимизации на заявки) за работа с данни от времеви серии. Едно от предимствата, които TimescaleDB предлага пред други специализирани хранилища за данни за съхранение на IoT или данни от времеви серии е, че можете да използвате SQL синтаксис, което означава, че можете да се възползвате от JOIN. Така че заявяването на разнообразни метаданни е по-лесно за разработчиците – това опростява стека им и елиминира силозите за данни.
TimescaleDB е тестван и бенчмаркиран със стотици милиарди редове и се мащабира много добре – особено с upserts или вмъквания в сравнение с vanilla PostgreSQL. Ако се интересувате от техните инструменти за сравнителен анализ, може да помислите да разгледате техния пакет за сравнение на времеви серии (TSBS).
Използването на TimescaleDB е доста лесно, ако сте запознати с RDBMS като MySQL или PostgreSQL. Трябва да посочите вашата база данни и да създадете разширение за TimescaleDB. Веднъж създадени, вие създавате хипертаблица, която на практика обработва всички взаимодействия на потребителите с TimescaleDB. Вижте пример по-долу:
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)
Просто толкова. Въпреки това, след като данните станат големи, последващ въпрос, който може да имате, би бил „Как можете да наблюдавате производителността на TimescaleDB“? Е, това е целта на нашия блог. Нека видим как можете да направите това с ClusterControl.
Мониторинг на TimescaleDB клъстери
Наблюдението на клъстер TimescaleDB в ClusterControl е почти същото като наблюдението на клъстер от база данни PostgreSQL. Имаме графики на ниво клъстер и възел, табла за управление, топологии, мониторинг на заявки и производителност. Нека разгледаме всяко от тях.
Разделът „Общ преглед“
Обзорните графики могат да бъдат намерени, като отидете на Клъстер → Общ преглед раздел.
![](http://www.sqldat.com/article/uploadfiles/202205/2022051214393935.jpg)
В този изглед можете да преглеждате натоварването на сървъра, съотношението на попадане в кеша или филтриране на други показатели – блокиране на удари, блокиране на четене, ангажименти или брой връзки.
![](http://www.sqldat.com/article/uploadfiles/202205/2022051214394116.png)
Можете също да създадете персонализирани настройки на таблото за управление тук, точно като примера ми по-долу, който извлича blocks-hit и blocks-read.
![](http://www.sqldat.com/article/uploadfiles/202205/2022051214394166.jpg)
Това е добро място за начало, както и за наблюдение на мрежовата активност, проверка на прехвърлянето и получаване на пакети.
Разделът „Възли“
Графиките на възлите могат да бъдат разположени, като отидете на Клъстер → Възли раздел. Това съдържа задълбочен изглед на вашите възли с показатели на ниво хост и база данни. Вижте графиката по-долу:
![](http://www.sqldat.com/article/uploadfiles/202205/2022051214394256.jpg)
Можете също да проверите водещите процеси, изпълнявани в хост системата, ако щракнете върху „Най-горе " раздел. Вижте примерна екранна снимка по-долу:
![](http://www.sqldat.com/article/uploadfiles/202205/2022051214394256.jpg)
Има и някои функции при щракване с десния бутон върху възела, в които можете да активирате WAL архивиране или да рестартирате PostgreSQL демона или да рестартирате хоста. Вижте изображението, както е показано по-долу:
![](http://www.sqldat.com/article/uploadfiles/202205/2022051214394321.jpg)
Това може да бъде полезно, ако искате да планирате поддръжка на възел с недостатъчна ефективност.
Разделът „Табла за управление“
Dashboards беше пуснат току-що миналата година и с поддръжката на табла за управление на PostgreSQL можете да се възползвате от тези графики. Например, вмъкнах 1M реда в базата данни nyc_data. Вижте по-долу как се отразява в таблото за преглед на PostgreSQL:
![](http://www.sqldat.com/article/uploadfiles/202205/2022051214394349.jpg)
След вмъкване на 1,1 M редове, можем да видим, че възелът 192.168.70.40 все още е производителен и няма признаци за високо използване на процесора и високо използване на диска. Вижте следното табло за управление, докато наблюдаваме ефективността му:
![](http://www.sqldat.com/article/uploadfiles/202205/2022051214394453.jpg)
Освен таблото за преглед на клъстерите, можете също да имате подробен изглед на производителността на системата. Вижте изображението по-долу:
![](http://www.sqldat.com/article/uploadfiles/202205/2022051214394555.jpg)
Разделът „Топология“
Този раздел е прост, но предлага изглед на вашата топология на репликация главен-подчинен. Той ви дава кратка, но кратка информация за това как се представят вашият господар и роби. Вижте изображението по-долу:
![](http://www.sqldat.com/article/uploadfiles/202205/2022051214394624.jpg)
Разделът „Монитор на заявки“
Мониторингът на заявките в TimescaleDB е много важен за DBA, както и за разработчиците, работещи с логиката на приложението. Този раздел е много важен, за да разберете как се изпълняват заявките. Тук можете да видите най-популярните заявки, изпълнявани заявки, отклонения от заявките и статистически данни за заявките. Например, можете да видите заявките, изпълнявани на всички хостове, или можете да филтрирате въз основа на възела, който се опитвате да наблюдавате. Пример по-долу показва как изглежда, когато се гледа под Монитора на заявките.
![](http://www.sqldat.com/article/uploadfiles/202205/2022051214394782.jpg)
Ако искате да събирате статистически данни за вашите TimescaleDB парчета/индекси, можете да се възползвате тук под Статистика на заявките. Той показва списък с вашите индекси, които се използват от TimescaleDB. Вижте изображението по-долу:
![](http://www.sqldat.com/article/uploadfiles/202205/2022051214394871.jpg)
Не само можете да преглеждате статистическите данни на конкретни индекси, можете също да го филтрирате по неговата таблица за I/O статистика, индексна I/O статистика или ексклузивните изчаквания за заключване. Следователно можете да разгледате другите елементи в списъка „Статистика“, които предпочитате да наблюдавате.
Разделът „Ефективност“
В този раздел можете да прегледате променливите, зададени за оптимизация и настройка, да настроите съветници, да проверите растежа на базата данни и да генерирате анализ на схема за събиране на таблици без първични ключове.
Например, можете да видите един до друг наличните възли в настройката и да сравните променливи. Вижте раздела по-долу:
![](http://www.sqldat.com/article/uploadfiles/202205/2022051214394985.png)
Това е всичко за сега. Би било чудесно да чуем отзивите ви и особено да ни уведомите какво пропускаме.