Difference between revisions of "Pre-defined personalities"

From Filebench
Jump to: navigation, search
(Summary Table)
(Summary Table)
Line 68: Line 68:
 
| <code>webproxy</code>
 
| <code>webproxy</code>
 
| Emulates I/O activity of a simple web proxy server. A mix of create-write-close, open-read-close, and delete operations of multiple files in a directory tree and a file append to simulate proxy log. 100 threads are used by default.
 
| Emulates I/O activity of a simple web proxy server. A mix of create-write-close, open-read-close, and delete operations of multiple files in a directory tree and a file append to simulate proxy log. 100 threads are used by default.
 +
|-
 +
| <code>videoserver</code>
 +
| This workloads emulates a video server. It has two filesets: one contains videos that are actively served, and the second one has videos that are available but currently inactive. One thread is writing new videos to replace no longer viewed videos in the passive set. Meanwhile $nthreads threads are serving up videos from the active video fileset.
 
|-
 
|-
 
!style="background-color:#ffffcc;" colspan="2" | To describe and categorize later
 
!style="background-color:#ffffcc;" colspan="2" | To describe and categorize later

Revision as of 21:13, 2 June 2011

Workload personalities define the workload to apply to the system. Personalities usually include tunables for scaling workloads for specific systems. After loading a personality one can set tunables to appropriate values. Personalities are stored in files with .f extension and can be easily customized from either the Filebench command line interface or by editing the files themselves (or copies of the files). Filebench is shipped with a library of pre-defined workload personalities, which are described in the following sections.

Summary Table

Micro-workload
Personality Description
singlestreamread Sequential read of a large (5GB by default) file. 1MB reads are used by default.
singlestreamreaddirect Same as singlestreamread, but direct I/O is used.
5streamread Sequential read of 5 large (1GB by default) files, each with its own reader thread. 1MB reads are used by default.
5streamreaddirect Same as 5streamread, but direct I/O is used.
singlestreamwrite Sequential write of a file. Writes stop on the end of the benchmark. 1MB writes are used by default.
singlestreamwritedirect Same as singlestreamwrite, but direct I/O is used.
5streamwrite Sequential write of 5 files, each with its own reader thread. Writes stop on the end of the benchmark. 1MB reads are used by default.
5streamwritedirect Same as 5streamwrite, but direct I/O is used.
randomread Random read of a single large (5GB by default) file. Single thread is used by default, although configurable by $nthreads. 8KB reads are used by default. Does not use direct I/O by default but this can be changed by $directio.
randomwrite Random write of a single large (5GB by default) file. File is pre-allocated in the beginning. Single thread is used by default, although configurable by $nthreads. 8KB writes are used by default. Does not use direct I/O by default but this can be changed by $directio.
randomrw Two threads working on a same large (5GB by default) file. One thread does random reads, another random writes. File is pre-allocated in the beginning. Two thread are used by default, although configurable by $nthreads. 8KB I/O size is used by default for both reads and writes. Does not use direct I/O by default but this can be changed by $directio.
createfiles Creates a 50,000 files (by default) in a directory tree. File sizes are chosen according to a gamma distribution with a mean size of 16k (by default). Spans 16 threads by default but this can be tweaked using $nthreads. Finishes whenever all files are created.
copyfiles Copies a directory tree from source to destination. Source directory tree is pre-created (1000 files by default). A single thread is used by default, although this is configurable via $nthreads. Finishes as soon the tree is copied.
Application emulations
Personality Description
webserver Emulates simple web-server I/O activity. Produces a sequence of open-read-close on multiple files in a directory tree plus a log file append. 100 threads are used by default.
fileserver Emulates simple file-server I/O activity. This workload performs a sequence of creates, deletes, appends, reads, writes and attribute operations on a directory tree. 50 threads are used by default. The workload generated is somewhat similar to SPECsfs.
varmail Emulates I/O activity of a simple mail server that stores each e-mail in a separate file (/var/mail/ server). The workload consists of a multi-threaded set of create-append-sync, read-append-sync, read and delete operations in a single directory. 16 threads are used by default. The workload generated is somewhat similar to Postmark but multi-threaded.
oltp A database emulator. This workload performs file system operations using Oracle 9i I/O model. It tests the performance of small random reads and writes, and is sensitive to the latency of moderate size (128k+) synchronous writes to the log file. By default launches 200 reader processes, 10 processes for asynchronous writing, and a log writer. The emulation includes the use of ISM shared memory as per Oracle, Sybase, etc. which is critical to I/O efficiency. (see this BUG Report)
webproxy Emulates I/O activity of a simple web proxy server. A mix of create-write-close, open-read-close, and delete operations of multiple files in a directory tree and a file append to simulate proxy log. 100 threads are used by default.
videoserver This workloads emulates a video server. It has two filesets: one contains videos that are actively served, and the second one has videos that are available but currently inactive. One thread is writing new videos to replace no longer viewed videos in the passive set. Meanwhile $nthreads threads are serving up videos from the active video fileset.
To describe and categorize later
Personality Description
compflow_demo compflow demonstation
filmicro_* a bunch of micro workloads that might duplicate each other
listdirs XXX
makedirs XXX
mongo XXX
netsfs XXX
networkfs XXX
openfiles XXX
randomfileaccess XXX
ratelimcopyfiles XXX
removedirs XXX
tpcso XXX

Extended Table