Debian 9.8을 실행하는 HP DL380 Gen10 서버(듀얼 Xeon Silver 4110 2.10GHz, 128Gb RAM, qlogic qla2xxx)는 데이터베이스 서버(percona server-5.6.43-84.3) 역할을 합니다.
Mysql 데이터 디렉터리는 FC를 통해 HPE MSA-2050(RAID 10, SAS HDD 900Gb 15K 14개, 디스크 그룹 1개, 풀 1개, 2.5Tb ext4 볼륨 1개)에 16Gbps로 연결됩니다. 하나의 광학 링크를 사용합니다(다중 경로 없음).
다음에 일어나는 일은 다음을 sysbench
사용하여 임의 읽기 및 쓰기 속도를 테스트하는 것입니다. 따라서 mysql I/O도 같은 속도를 낸다.
그러나 순차적 읽기/쓰기 테스트를 사용하면 속도가 800/600M/s로 증가합니다. dd
데이터 쓰기, 복사 작업 또는 순차 파일 작업에 사용할 때 속도는 동일합니다.
HPE MSA에서 다양한 풀 및 볼륨 옵션을 시도했지만 성공하지 못했습니다.
옵션으로 마운트된 SAN 볼륨/dev/sde1 on /mysql-data type ext4 (rw,noatime,stripe=256,data=ordered)
이 테스트를 통과하세요:
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
결과 :
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
시작하면 sysbench --test=fileio --file-total-size=150G --file-test-mode=seqrd --max-time=100 --max-requests=0 run
결과는 다음과 같습니다.
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
무작위 쓰기와 순차 쓰기의 결과는 비슷합니다.
질문이 있으신가요?