Skip to content
GitLab
Next
Menu
Why GitLab
Pricing
Contact Sales
Explore
Why GitLab
Pricing
Contact Sales
Explore
Sign in
Get free trial
Primary navigation
Search or go to…
Project
GitLab FOSS
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package Registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Privacy statement
Keyboard shortcuts
?
What's new
4
Snippets
Groups
Projects
Show more breadcrumbs
GitLab.org
GitLab FOSS
Commits
0cca346e
Commit
0cca346e
authored
6 years ago
by
Stan Hu
Browse files
Options
Downloads
Patches
Plain Diff
Include benchmarking with fio
parent
4d16acb2
No related branches found
No related tags found
Loading
Pipeline
#46629094
passed
6 years ago
Stage: test
Stage: post-test
Stage: post-cleanup
Pipeline: GitLab Docs DEPRECATED
#46629392
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/administration/operations/filesystem_benchmarking.md
+61
-7
61 additions, 7 deletions
doc/administration/operations/filesystem_benchmarking.md
with
61 additions
and
7 deletions
doc/administration/operations/filesystem_benchmarking.md
+
61
−
7
View file @
0cca346e
...
...
@@ -7,10 +7,69 @@ systems.
Normally when talking about filesystem performance the biggest concern is
with Network Filesystems (NFS). However, even some local disks can have slow
IO. The information on this page can be used for either scenario.
I
/
O. The information on this page can be used for either scenario.
## Executing benchmarks
### Benchmarking with `fio`
We recommend using
[
fio
](
https://fio.readthedocs.io/en/latest/fio_doc.html
)
to test I/O
performance. This test should be run both on the NFS server and on the
application nodes that talk to the NFS server.
To install:
-
On Ubuntu:
`apt install fio`
.
-
On
`yum`
-managed environments:
`yum install fio`
Then run the following:
```
sh
fio
--randrepeat
=
1
--ioengine
=
libaio
--direct
=
1
--gtod_reduce
=
1
--name
=
test
--filename
=
/path/to/git-data/testfile
--bs
=
4k
--iodepth
=
64
--size
=
4G
--readwrite
=
randrw
--rwmixread
=
75
```
This will create a 4GB file in
`/path/to/git-data/testfile`
. It performs
4KB reads and writes using a 75%/25% split within the file, with 64
operations running at a time. Be sure to delete the file after the test
completes.
The output will vary depending on what version of
`fio`
installed. The following
is an example output from
`fio`
v2.2.10 on a networked solid-state drive (SSD):
```
test: (g=0): rw=randrw, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=64
fio-2.2.10
Starting 1 process
test: Laying out IO file(s) (1 file(s) / 1024MB)
Jobs: 1 (f=1): [m(1)] [100.0% done] [131.4MB/44868KB/0KB /s] [33.7K/11.3K/0 iops] [eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=10287: Sat Feb 2 17:40:10 2019
read : io=784996KB, bw=133662KB/s, iops=33415, runt= 5873msec
write: io=263580KB, bw=44880KB/s, iops=11219, runt= 5873msec
cpu : usr=6.56%, sys=23.11%, ctx=266267, majf=0, minf=8
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
issued : total=r=196249/w=65895/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0
latency : target=0, window=0, percentile=100.00%, depth=64
Run status group 0 (all jobs):
READ: io=784996KB, aggrb=133661KB/s, minb=133661KB/s, maxb=133661KB/s, mint=5873msec, maxt=5873msec
WRITE: io=263580KB, aggrb=44879KB/s, minb=44879KB/s, maxb=44879KB/s, mint=5873msec, maxt=5873msec
```
Notice the
`iops`
values in this output. In this example, the SSD
performed 33,415 read operations per second and 11,219 write operations
per second. A spinning disk might yield 2,000 and 700 read and write
operations per second.
### Simple benchmarking
NOTE:
**Note:**
This test is naive but may be useful if
`fio`
is not
available on the system. It's possible to receive good results on this
test but still have poor performance due to read speed and various other
factors.
The following one-line commands provide a quick benchmark for filesystem write and read
performance. This will write 1,000 small files to the directory in which it is
executed, and then read the same 1,000 files.
...
...
@@ -56,9 +115,4 @@ sys 0m1.663s
```
From experience with multiple customers, this task should take under 10
seconds to indicate good filesystem performance.
NOTE:
**Note:**
This test is naive and only evaluates write performance. It's possible to
receive good results on this test but still have poor performance due to read
speed and various other factors.
\ No newline at end of file
seconds to indicate good filesystem performance.
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment