0

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?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.