summaryrefslogtreecommitdiffstats
path: root/doc/man/8/ceph-syn.rst
blob: 888cdb3e150f2ca35f153f1f5d5eb5357393e6f0 (plain)
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)