There's HP DL380 Gen10 server (dual Xeon Silver 4110 2.10GHz, 128Gb RAM, qlogic qla2xxx ) running debian 9.8, acting as database sever (percona server-5.6.43-84.3).
Mysql data directory is connected over FC to HPE MSA-2050 (raid 10 of 14 SAS HDD 900Gb 15K, one disk group, one pool, one volume of 2.5 Tb of ext4) on speed 16Gbps. One optical link is used (no muptipath).
Next things happen: when testing random read/write speed, using
sysbench
, the speed is about 10/8 M/s which is extremely slow. So, mysql I/O is also on same speed.
But with sequential read/write tests speed grows to 800/600 M/s. Same speed is when using dd
to write data, when doing copy operation or any sequentional file operations.
Tried different options of pool and volumes in HPE MSA - no luck.
SAN volume is mounted with options /dev/sde1 on /mysql-data type ext4 (rw,noatime,stripe=256,data=ordered)
With this test:
`sysbench --test=fileio --file-total-size=150G prepare
sysbench --test=fileio --file-total-size=150G --file-test-mode=rndrd --max-time=100 --max-requests=0 run`
result is:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 1.1719GiB each
150GiB total file size
Block size 16KiB
Number of IO requests: 0
Read/Write ratio for combined random IO test: 1.50
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing random read test
Initializing worker threads...
Threads started!
File operations:
reads/s: 561.86
writes/s: 0.00
fsyncs/s: 0.00
Throughput:
read, MiB/s: 8.78
written, MiB/s: 0.00
General statistics:
total time: 100.0053s
total number of events: 56191
Latency (ms):
min: 0.01
avg: 1.78
max: 111.23
95th percentile: 11.65
sum: 99924.80
Threads fairness:
events (avg/stddev): 56191.0000/0.00
execution time (avg/stddev): 99.9248/0.00
When startng with sysbench --test=fileio --file-total-size=150G --file-test-mode=seqrd --max-time=100 --max-requests=0 run
result is:
Running the test with following options:
Number of threads: 1
Initializing random number generator from current time
Extra file open flags: (none)
128 files, 1.1719GiB each
150GiB total file size
Block size 16KiB
Periodic FSYNC enabled, calling fsync() each 100 requests.
Calling fsync() at the end of test, Enabled.
Using synchronous I/O mode
Doing sequential read test
Initializing worker threads...
Threads started!
File operations:
reads/s: 31642.04
writes/s: 0.00
fsyncs/s: 0.00
Throughput:
read, MiB/s: 494.41
written, MiB/s: 0.00
General statistics:
total time: 100.0008s
total number of events: 3164351
Latency (ms):
min: 0.00
avg: 0.03
max: 32.77
95th percentile: 0.06
sum: 98523.42
Threads fairness:
events (avg/stddev): 3164351.0000/0.00
execution time (avg/stddev): 98.5234/0.00
The similar results with random write and sequentional write.
What can be wrong?
Asked by Someone
(303 rep)
May 22, 2019, 02:02 PM