Closed
Bug 1001482
Opened 11 years ago
Closed 10 years ago
run performance benchmarks on OS X SSD machine
Categories
(Infrastructure & Operations :: RelOps: General, task)
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: arich, Assigned: dividehex)
References
Details
We want to run some performance benchmarks on the OS X windows machine with an SSD to make sure that performance is stable and as expected. Taras suggested using http://freecode.com/projects/fio since it's cross platform.
Assignee | ||
Comment 1•11 years ago
|
||
Fio seems like a nice tool for benchmarking but request is not well defined. Fio is a framework for building benchmarking tests. We will need far more detail as to the benchmarks you are looking for here. Could you provide a defined job file for this?
http://git.kernel.dk/?p=fio.git;a=blob_plain;f=HOWTO;hb=HEAD
Reporter | ||
Comment 2•11 years ago
|
||
Based on info from bug 1001481 I set up a 70/30 profile to run:
; write speed at 70/30
[8k7030test]
; OS X doesn't support mutexes, so we use threading
thread
directory=/tmp/fio
direct=1
rw=randrw
refill_buffers
norandommap
randrepeat=0
ioengine=posixaio
bs=8k
rwmixread=70
iodepth=16
numjobs=16
runtime=60
group_reporting
size=512m
Unfortunately it looks like the posixaio engine is non-functional on OSX (and the windows and linuxaio engines obviously don't work since it's the wrong type of system):
# fio 8k7030test.fio
8k7030test: (g=0): rw=randrw, bs=8K-8K/8K-8K/8K-8K, ioengine=posixaio, iodepth=16
...
fio-2.1.7
Starting 16 threads
8k7030test: Laying out IO file(s) (1 file(s) / 512MB)
8k7030test: Laying out IO file(s) (1 file(s) / 512MB)
8k7030test: Laying out IO file(s) (1 file(s) / 512MB)
8k7030test: Laying out IO file(s) (1 file(s) / 512MB)
8k7030test: Laying out IO file(s) (1 file(s) / 512MB)
8k7030test: Laying out IO file(s) (1 file(s) / 512MB)
8k7030test: Laying out IO file(s) (1 file(s) / 512MB)
8k7030test: Laying out IO file(s) (1 file(s) / 512MB)
8k7030test: Laying out IO file(s) (1 file(s) / 512MB)
8k7030test: Laying out IO file(s) (1 file(s) / 512MB)
8k7030test: Laying out IO file(s) (1 file(s) / 512MB)
8k7030test: Laying out IO file(s) (1 file(s) / 512MB)
8k7030test: Laying out IO file(s) (1 file(s) / 512MB)
8k7030test: Laying out IO file(s) (1 file(s) / 512MB)
8k7030test: Laying out IO file(s) (1 file(s) / 512MB)
8k7030test: Laying out IO file(s) (1 file(s) / 512MB)
fio: pid=7683, err=-1/file:engines/posixaio.c:213, func=xfer, error=Unknown error: -1
fio: pid=8451, err=-1/file:engines/posixaio.c:213, func=xfer, error=Unknown error: -1
fio: pid=8707, err=-1/file:engines/posixaio.c:213, func=xfer, error=Unknown error: -1
fio: pid=6403, err=-1/file:engines/posixaio.c:213, func=xfer, error=Unknown error: -1
fio: pid=8195, err=-1/file:engines/posixaio.c:213, func=xfer, error=Unknown error: -1
fio: pid=6659, err=-1/file:engines/posixaio.c:213, func=xfer, error=Unknown error: -1
fio: pid=4867, err=-1/file:engines/posixaio.c:213, func=xfer, error=Unknown error: -1
fio: pid=6915, err=-1/file:engines/posixaio.c:213, func=xfer, error=Unknown error: -1
fio: pid=5635, err=-1/file:engines/posixaio.c:213, func=xfer, error=Unknown error: -1
fio: pid=7427, err=-1/file:engines/posixaio.c:213, func=xfer, error=Unknown error: -1
fio: pid=6147, err=-1/file:engines/posixaio.c:213, func=xfer, error=Unknown error: -1
fio: pid=5891, err=-1/file:engines/posixaio.c:213, func=xfer, error=Unknown error: -1
fio: pid=7171, err=-1/file:engines/posixaio.c:213, func=xfer, error=Unknown error: -1
fio: pid=5123, err=-1/file:engines/posixaio.c:213, func=xfer, error=Unknown error: -1
fio: pid=7939, err=-1/file:engines/posixaio.c:213, func=xfer, error=Unknown error: -1
fio: pid=5379, err=-1/file:engines/posixaio.c:213, func=xfer, error=Unknown error: -1
Assertion failed: (pool), function sfree, file smalloc.c, line 347.
fio(653,0x10eb1d000) malloc: *** error for object 0x7f9081402920: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap: 6
And interestingly, if you try to run the job multiple times in a row, you start getting the error:
error: maximum number of jobs (4) reached.
When it ran 16 just fine the first time. Rebooting the system lets you run 16 jobs again, so I suspect something some resource is being tied up with the failure.
Depends on: 992364
Reporter | ||
Comment 3•11 years ago
|
||
I tried running this on my personal laptop (mavericks, not lion) just to check and see if it was something weird with the mini, and I got the same errors.
Oh, and an added note on the mini, if you run it again with 4 jobs (by bumping down the number in the config), it again fails and then will only let you run with ONE job. Definitely issues with the code.
Reporter | ||
Comment 4•10 years ago
|
||
This machine is getting put back into the production pool with its original disk.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•