Firebird Performance Newsletter: Issue 1
Одлучили смо да покренемо мање-више редовни „Firebird билтен о перформансама“, посвећен тестовима перформанси, саветима, триковима, побољшањима конфигурације итд.
У првом издању имамо следеће:
- Поређење Firebird 4 и Firebird 3 перформанси уписивања,
- Избор најбоље AWS EC2 инстанце за максималне Firebird перформансе уписивања,
- Недавни резултати INSERT/UPDATE/DELETE теста
Firebird 4 против Firebird 3: Добре вести, свима!
Од 2019. године, када смо објавили прву колекцију резултата једноставног INSERT/UPDATE/DELETE теста, многи људи су нам послали резултате са својих Firebird сервера, а ми смо их додали у табелу и одговарајући графикон.
Тест је једноставан, али моћан алат за мерење и поређење перформанси различитих хардвер+Firebird конфигурација, који омогућава брзу потврду или оповргавање проблема са хардвером или конфигурацијом.
Недавно смо користили овај тест за поређење INSERT/UPDATE/DELETE перформанси Firebird 4.0 (верзија 4.0.0.2394, неколико билдова пре издања) и 3.0 (верзија 3.0.8.33426, снимак, пре-издање предстојећег 3.0.8, стабилан је као мање издање, према Firebird аутоматским тестовима).
Тестирање је обављено на Intel i3-10100F 3.60GHz са SSD Samsung SSD 870QVO и RAM диском (qSoft), са различитим величинама RAM-а (16, 32, 64) и Page Buffers-а.
Испод је графикон, а овде је XLS табела са резултатима.

Као што можете видети, у истим условима и са истом конфигурацијом, Firebird 4 је приближно 10% бржи од 3.0.8 у операцијама уписивања. Ово је дефинитивно добра вест и још један знак да је време да се ближе погледа предстојеће издање и започну припреме за миграцију.
Наравно, најбољи приступ ће бити да покренете исти тест на свом серверу и сами видите стварно побољшање.
Погледајте како то урадити »
Избор најбоље AWS EC2 инстанце за максималне Firebird перформансе уписивања
Све више компанија размишља о „преласку у облак“, а Amazon Web Service Elastic Cloud је једна од омиљених „облачних дестинација“.
Међутим, AWS нуди много различитих типова инстанци, како изабрати најбољу? Наравно, урадите тестове!
Урадили смо једноставне INSERT/UPDATE/DELETE тестове за 20 типова инстанци и пронашли неколико заиста добрих опција за Firebird.
Имајте на уму - све цене у прорачунима и графиконима испод су за Франкфурт регион AWS EC2, преузете су као такве са aws.amazon.com, без икаквих попуста, могу бити подложне додатним порезима и могу се променити током времена - зато немојте сматрати цене испод коначним или као тачан водич за куповину.
Ево укупног графикона и XLS табеле са резултатима:

Ради једноставности, креирали смо колону Operations, која је у суштини збир Inserts+Updates+Deletes, и користили је као јединствену метрику перформанси уписивања:

Као што можете видети, следећа 3 типа инстанци су лидери у перформансама (са становишта Firebird операција уписивања):
| Инстанца | Сатна цена за Linux | Операције/по секунди |
|---|
| z1d.xlarge | USD$0.45 | 45834 | | m5dn.2xlarge | USD$0.648 | 45198 | | m5d.2xlarge | USD$0.544 | 44150 |
Занимљиво је да лидери нису најскупљи типови инстанци! Наравно, морамо имати на уму да је тест једнонитни (и не користи број језгара) и да не захтева велику количину RAM-а (јер је база података само 3.6Gb), али за апликације које захтевају брзу обраду вршних операција уписивања, ове инстанце изгледају заиста оптимално.
Упркос чињеници да ови типови инстанци нису најскупљи (међу тестиранима), и даље су довољно скупи да се двапут размисли о буџету, а пошто је једна од рекламираних предности облака флексибилност, има смисла почети са јефтинијим типовима VM инстанци, који би могли бити довољно добри за сервисирање наше Firebird базе података, зар не?
Да бисмо пронашли оптималне типове инстанци по односу цена/перформансе, креирали смо још једну колону у нашој табели: „Операције по 1 USD“.
То значи тачно оно што значи - колико операција уписивања можете купити за 1 USD.
Формула је следећа:
Operations_Per_Second * 3600 секунди у сату / Цена по сату

Као што можете видети, са ове тачке гледишта, лидери су другачији:
| Инстанца | Linux сатна цена | Операције по 1 USD | Операције по секунди |
|---|---|---|---|
| c5d.xlarge | USD$0,222 | 579062087 | 35709 |
| c5ad.xlarge | USD$0,2 | 565024995 | 31390 |
| m5dn.xlarge | USD$0,324 | 446037216 | 40143 |
Веома је занимљив #3, m5dn.xlarge са вршним перформансама ~40K/по секунди - прилично је близу лидера у перформансама z1d.xlarge са 45834 операција/по секунди, али значајно јефтинији.
Уопштено, наше искуство са AWS EC2 показује да је то стабилно зрело окружење, са многим добрим функцијама безбедности/резервних копија/високе доступности итд., али, као и свака сложена платформа, захтева искуство (или спољну стручност) да би се направио прави избор и да се не плаћају превелики рачуни за апликације са не-фантастичним оптерећењем.
Недавни резултати INSERT/UPDATE/DELETE теста
Дакле, као што можете видети, једноставан тест може бити користан не само као поређење између хардвера и Firebird-а, већ вам може уштедети и који долар.
Објавили смо графикон са недавно прикупљеним резултатима и XLS табелу за игру са њима, па можете сами проверити овде.
Испод су 3 очигледна закључка:
- NVME дискови заиста руле, па ако вам је потребан моћан Firebird сервер, купите NVME за базе података.
- Висока CPU фреквенција је веома важна за високе перформансе Firebird база података. Често вас продавци гурају ка куповини мулти-језгарних процесора са нижом фреквенцијом (<3Ghz), али то можда није најбоља опција за Firebird, а мање језгара са вишом фреквенцијом може дати бољи резултат.
- Ако је профил оптерећења ваше базе података јако оријентисан ка уписивању, покушајте да смањите Page Buffers: експериментишите са DefaultDbCachePages као што су 50K, 100K, 250K итд. Било би супер ако поделите резултате са нама!
Слободно истражујте резултате тестова и постављајте питања или шаљите предлоге.
У наредним издањима „Firebird билтена о перформансама“
У 2. издању показаћемо како конфигурисати неколико SuperClassic инстанци за сервисирање једне базе података (између осталог, то може бити корисно за поделу оптерећења између неколико мрежних портова). Планови за наредна издања су велики: грешке у конфигурацији, тестови шифрованих база података, напредно поређење Firebird 4 перформанси са Firebird 3, оптимизација индекса итд.
Ако сте заинтересовани и желите да примате обавештења о новим издањима, придружите нам се на FirebirdSQL Telegram каналу.
Контактирајте нас
Молимо вас да нас контактирате са било каквим питањима и предлозима: Alexey Kovyazin: [email protected].