MariaDB har samarbejdet med Qualcomm Datacenter Technologies om at skubbe ydeevnen ved at udnytte innovativ ARM-baseret hardwarearkitektur med MariaDBs unikke databasearkitektur. Som en del af Qualcomm Centriq™ 2400-produktlanceringen tilbage i november 2017 demonstrerede vi den stærke læseskalerbarhed af MariaDB på denne chip. Siden da har MariaDB og Qualcomm engineering arbejdet på at forbedre skalerbarheden af skriveoperationer, som vi gerne vil dele med udviklerfællesskabet i dag.
Vi er glade for at kunne annoncere en række præstationsforbedringer, der bliver gjort tilgængelige i den nyligt afsendte 10.3-udgivelseskandidat 10.3.4. Ved at udnytte den meget paralleliserede 48-core Qualcomm Centriq 2400-processor, der kører ved 2,6 GHz med 6 hukommelseskanaler i en fuldt sammenhængende ringarkitektur, er vores interesse at udtrække skriveydeevneoptimering i en enkelt række skrivebrugstilfælde til en applikation med højt gevind.
MariaDB bruger sysbench benchmark software til at måle ydeevne. I denne blog vil vi undersøge følgende 2 benchmarks ved hjælp af sysbench 1.0:
- Oltp_update_index :Dette simulerer opdatering af en enkelt rækkeværdi efter primærnøgleindeks, hvor et sekundært indeks skal opdateres som et resultat af opdateringen.
- Oltp_update_nonindex:Dette simulerer opdatering af en enkelt rækkeværdi efter primærnøgleindeks, hvor der ikke er noget sekundært indeks. Dette kræver naturligvis mindre arbejde end oltp_update_index.
Det, vi ser, er, at når antallet af samtidige tråde stiger, er ydeevnen op til 48 % hurtigere i 10,3 end 10,2 på Centriq™ 2400:
Forbedringerne fjerner stridspunkter og optimerer til ARM64-chipsættet, specifikt:
- MDEV-15090 :Reducer omkostningerne ved at skrive fortryd-logposter
- MDEV-15132 :Undgå at få adgang til TRX_SYS-siden
- MDEV-15019 :InnoDB:gem ReadView på trx
- MDEV-14756 :Fjern trx_sys_t::rw_trx_list
- MDEV-14482 :Cachelinjekonflikt på ut_rnd_ulint_counter()
- MDEV-15158 :Ved commit skal du ikke skrive til TRX_SYS-siden
- MDEV-15104 :Fjern trx_sys_t::rw_trx_ids og trx_sys_t::serialisation_list
- MDEV-14638 :Erstat trx_sys_t::rw_trx_set med LF_HASH
- MDEV-14529 :InnoDB rw-locks:optimer hukommelsesbarrierer
- MDEV-14374 :UT_DELAY kode :Fjernelse af hardwarebarriere for arm64 bit platform
- MDEV-14505:Threads_running bliver skalerbarhedsflaskehals
Sammenfattende betyder det, at MariaDB vil præstere væsentligt bedre under høje niveauer af samtidige opdateringer, hvilket forbedrer svartider i dine applikationer ved spidsbelastning.
Forbedringerne vil også give fordele til andre chiparkitekturer, men der ses en meget større gevinst på Centriq™ 2400 på grund af dets design, der er i stand til at understøtte et meget højt trådantal. Ved at bruge fysiske kerner i forhold til hyper-threading af et lavere antal kerner demonstrerer Centriq™ 2400 en yderligere 13 % gevinst i forhold til en sammenlignelig reference Broadwell-platform.
Efterhånden som Centriq™ 2400-systemer kommer på markedet i år, er vi glade for at se, at kundernes arbejdsbelastninger drager fordel af skalerbarheden kombineret med lavere strømforbrug til at køre databaser i høj skala.