sql >> Databáze >  >> RDS >> MariaDB

Napište optimalizace pro Qualcomm Centriq 2400 v MariaDB 10.3.5 Release Candidate

MariaDB spolupracuje s Qualcomm Datacenter Technologies na prosazování výkonové obálky využitím inovativní hardwarové architektury založené na ARM s jedinečnou databázovou architekturou MariaDB. V rámci uvedení produktu Qualcomm Centriq™ 2400 zpět v listopadu 2017 jsme prokázali silnou škálovatelnost čtení MariaDB na tomto čipu. Od té doby MariaDB a inženýrství Qualcomm pracují na zlepšení škálovatelnosti operací zápisu, o které bychom se dnes rádi podělili s vývojářskou komunitou.

S potěšením oznamujeme řadu vylepšení výkonu, která jsou k dispozici v nedávno dodaném kandidátovi na vydání 10.3 10.3.4. Využitím vysoce paralelizovaného 48jádrového procesoru Qualcomm Centriq 2400 běžícího na frekvenci 2,6 GHz se 6 paměťovými kanály v plně koherentní kruhové architektuře je naším zájmem získat optimalizaci výkonu zápisu v jediném řádku použití pro aplikaci s vysokým počtem vláken.

MariaDB používá k měření výkonu benchmarkový software sysbench. V tomto blogu prozkoumáme následující 2 benchmarky pomocí sysbench 1.0:

  • Oltp_update_index :Simuluje aktualizaci hodnoty jednoho řádku podle indexu primárního klíče, přičemž sekundární index musí být v důsledku aktualizace aktualizován.
  • Oltp_update_nonindex:Toto simuluje aktualizaci hodnoty jednoho řádku podle indexu primárního klíče tam, kde není žádný sekundární index. To samozřejmě vyžaduje méně práce než oltp_update_index.

Vidíme, že s rostoucím počtem souběžných vláken je výkon až o 48 % rychlejší v 10.3 než 10.2 na Centriq™ 2400:

Vylepšení odstranila sporné body a optimalizovala pro čipovou sadu ARM64, konkrétně:

  • MDEV-15090 :Snižte režii zápisu záznamů protokolu zpět
  • MDEV-15132 :Vyhněte se přístupu na stránku TRX_SYS
  • MDEV-15019 :InnoDB:uložit ReadView na trx
  • MDEV-14756 :Odebrat trx_sys_t::rw_trx_list
  • MDEV-14482 :Mezipaměť řádku sporu na ut_rnd_ulint_counter()
  • MDEV-15158 :Při potvrzení nezapisujte na stránku TRX_SYS
  • MDEV-15104 :Odebrat trx_sys_t::rw_trx_ids a trx_sys_t::serialisation_list
  • MDEV-14638 :Nahraďte trx_sys_t::rw_trx_set za LF_HASH
  • MDEV-14529 :InnoDB rw-locks:optimalizace paměťových bariér
  • MDEV-14374 :UT_DELAY kód :Odstranění hardwarové bariéry pro arm64bitovou platformu
  • MDEV-14505:Threads_running se stává úzkým hrdlem škálovatelnosti

V souhrnu to znamená, že MariaDB bude fungovat výrazně lépe při vysokých úrovních souběžných aktualizací, čímž se zlepší doba odezvy vašich aplikací při špičkové zátěži.

Vylepšení také přinesou výhody jiným architekturám čipů, ale mnohem větší zisk je vidět u Centriq™ 2400 díky jeho konstrukci schopné podporovat mnohem vysoký počet vláken. Využitím fyzických jader oproti hyper-threadingu s nižším počtem jader vykazuje  Centriq™ 2400 další 13% zisk oproti srovnatelné referenční platformě Broadwell.

S příchodem systémů Centriq™ 2400 na trh v tomto roce jsme nadšeni z toho, že pracovní zátěže zákazníků využívají výhod škálovatelnosti v kombinaci s nižší spotřebou energie pro provozování databázových úloh ve velkém měřítku.


  1. Porovnání poskytovatelů kompatibilních s Entity Framework pro Oracle?

  2. Opravdu musím použít SET XACT_ABORT ON?

  3. NoSQL:život bez schématu

  4. Spojte 3 tabulky v SQL