1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
:orphan:
===============================================
ceph-syn -- ceph synthetic workload generator
===============================================
.. program:: ceph-syn
Synopsis
========
| **ceph-syn** [ -m *monaddr*:*port* ] --syn *command* *...*
Description
===========
**ceph-syn** is a simple synthetic workload generator for the Ceph
distributed file system. It uses the userspace client library to
generate simple workloads against a currently running file system. The
file system need not be mounted via ceph-fuse(8) or the kernel client.
One or more ``--syn`` command arguments specify the particular
workload, as documented below.
Options
=======
.. option:: -d
Detach from console and daemonize after startup.
.. option:: -c ceph.conf, --conf=ceph.conf
Use *ceph.conf* configuration file instead of the default
``/etc/ceph/ceph.conf`` to determine monitor addresses during
startup.
.. option:: -m monaddress[:port]
Connect to specified monitor (instead of looking through
``ceph.conf``).
.. option:: --num_client num
Run num different clients, each in a separate thread.
.. option:: --syn workloadspec
Run the given workload. May be specified as many times as
needed. Workloads will normally run sequentially.
Workloads
=========
Each workload should be preceded by ``--syn`` on the command
line. This is not a complete list.
:command:`mknap` *path* *snapname*
Create a snapshot called *snapname* on *path*.
:command:`rmsnap` *path* *snapname*
Delete snapshot called *snapname* on *path*.
:command:`rmfile` *path*
Delete/unlink *path*.
:command:`writefile` *sizeinmb* *blocksize*
Create a file, named after our client id, that is *sizeinmb* MB by
writing *blocksize* chunks.
:command:`readfile` *sizeinmb* *blocksize*
Read file, named after our client id, that is *sizeinmb* MB by
writing *blocksize* chunks.
:command:`rw` *sizeinmb* *blocksize*
Write file, then read it back, as above.
:command:`makedirs` *numsubdirs* *numfiles* *depth*
Create a hierarchy of directories that is *depth* levels deep. Give
each directory *numsubdirs* subdirectories and *numfiles* files.
:command:`walk`
Recursively walk the file system (like find).
Availability
============
**ceph-syn** is part of Ceph, a massively scalable, open-source, distributed storage system. Please refer to
the Ceph documentation at https://docs.ceph.com for more information.
See also
========
:doc:`ceph <ceph>`\(8),
:doc:`ceph-fuse <ceph-fuse>`\(8)
|