Details
-
Task
-
Status: Open (View Workflow)
-
Minor
-
Resolution: Unresolved
-
None
-
None
Description
This ticket tracks the set of MariaDB server options to be tested for performance impact across OLTP workloads (HammerDB TPROC-C).
The goal is to establish a baseline and measure overhead introduced by durability, replication, charset, flushing, and concurrency-related settings.
All tests will be compared to a baseline using:
- MariaDB default/recommended options
- crash-safe configuration
- log-bin=0
- innodb_flush_log_at_trx_commit=1
- large buffer pool so all data fits in memory
Test workload:
- Suite: HammerDB TPROC-C
- Load: Cached
- Threads: 10, 50, 100, 400
- Warmup: 4 minutes
- Duration: 15 minutes
- Iterations: 3
===============================================================
OPTIONS TO TEST (WITH RATIONALE)
===============================================================
1. innodb_doublewrite
WHY: Crash-safety vs performance.
EXPECTED: OFF is faster, ON is safer.
2. character_set_server (latin1 | utf8 | utf8mb4)
WHY: Charset affects CPU and index width.
3. performance_schema (ON | OFF)
WHY: Instrumentation overhead.
4. binlog_row_image (FULL | MINIMAL | NOBLOB) (requires log-bin=1)
WHY: Controls binlog volume.
5. sync_binlog (0 | 1) (requires log-bin=1)
WHY: Binlog durability cost.
6. log-bin (0 | 1)
WHY: Baseline cost of enabling replication/PITR.
7. thread_handling (one-thread-per-connection | pool-of-threads)
WHY: Thread model scalability.
8. innodb_flush_log_at_trx_commit (0 | 1 | 2 )
WHY: Durability vs performance.
9. innodb_adaptive_hash_index (0 | 1)
WHY: Lookup speed vs contention.
10. query_cache_type (ON | OFF)
WHY: QC mutex contention vs repeated SELECT speed.
11. rpl_semi_sync_master_enable (0 | 1)
WHY: Commit latency vs replication safety.
12. rpl_semi_sync_master_wait_point (AFTER_SYNC | AFTER_COMMIT)
WHY: Different semi-sync wait semantics.
13. transaction_isolation (RU | RC | RR | SERIALIZABLE)
WHY: Locking/MVCC overhead.
NOTE: Must test with log-bin=0 and log-bin=1.
===============================================================
Purpose:
Provide a comprehensive performance map of MariaDB under different durability, replication, charset, flushing, and concurrency configurations. Others may add additional options or combinations here.
===============================================================