Re: About Fio backend with ObjectStore API

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi James,

I just looked back at the results you posted, and saw that you were using iodepth=1. Setting this higher should help keep the FileStore busy.

Casey

----- Original Message -----
> From: "James (Fei) Liu-SSI" <james.liu@xxxxxxxxxxxxxxx>
> To: "Casey Bodley" <cbodley@xxxxxxxxxx>
> Cc: "Haomai Wang" <haomaiwang@xxxxxxxxx>, ceph-devel@xxxxxxxxxxxxxxx
> Sent: Friday, September 11, 2015 1:18:31 PM
> Subject: RE: About Fio backend with ObjectStore API
> 
> Hi Casey,
>   You are right. I think the bottleneck is in fio side rather than in
>   filestore side in this case. The fio did not issue the io commands faster
>   enough to saturate the filestore.
>   Here is one of possible solution for it: Create a  async engine which are
>   normally way faster than sync engine in fio.
>    
>    Here is possible framework. This new Objectstore-AIO engine in FIO in
>    theory will be way faster than sync engine. Once we have FIO which can
>    saturate newstore, memstore and filestore, we can investigate them in
>    very details of where the bottleneck in their design.
> 
> .........................
> struct objectstore_aio_data {
> 	struct aio_ctx *q_aio_ctx;
> 	struct aio_completion_data *a_data;
> 	aio_ses_ctx_t *p_ses_ctx;
> 	unsigned int entries;
> };
> ...................................
> /*
>  * Note that the structure is exported, so that fio can get it via
>  * dlsym(..., "ioengine");
>  */
> struct ioengine_ops us_aio_ioengine = {
> 	.name		= "objectstore-aio",
> 	.version	= FIO_IOOPS_VERSION,
> 	.init		= fio_objectstore_aio_init,
> 	.prep		= fio_objectstore_aio_prep,
> 	.queue		= fio_objectstore_aio_queue,
> 	.cancel		= fio_objectstore_aio_cancel,
> 	.getevents	= fio_objectstore_aio_getevents,
> 	.event		= fio_objectstore_aio_event,
> 	.cleanup	= fio_objectstore_aio_cleanup,
> 	.open_file	= fio_objectstore_aio_open,
> 	.close_file	= fio_objectstore_aio_close,
> };
> 
> 
> Let me know what you think.
> 
> Regards,
> James
> ........................
> -----Original Message-----
> From: Casey Bodley [mailto:cbodley@xxxxxxxxxx]
> Sent: Friday, September 11, 2015 7:28 AM
> To: James (Fei) Liu-SSI
> Cc: Haomai Wang; ceph-devel@xxxxxxxxxxxxxxx
> Subject: Re: About Fio backend with ObjectStore API
> 
> Hi James,
> 
> That's great that you were able to get fio-objectstore running! Thanks to you
> and Haomai for all the help with testing.
> 
> In terms of performance, it's possible that we're not handling the
> completions optimally. When profiling with MemStore I remember seeing a
> significant amount of cpu time spent in polling with
> fio_ceph_os_getevents().
> 
> The issue with reads is more of a design issue than a bug. Because the test
> starts with a mkfs(), there are no objects to read from initially. You would
> just have to add a write job to run before the read job, to make sure that
> the objects are initialized. Or perhaps the mkfs() step could be an optional
> part of the configuration.
> 
> Casey
> 
> ----- Original Message -----
> From: "James (Fei) Liu-SSI" <james.liu@xxxxxxxxxxxxxxx>
> To: "Haomai Wang" <haomaiwang@xxxxxxxxx>, "Casey Bodley" <cbodley@xxxxxxxxxx>
> Cc: ceph-devel@xxxxxxxxxxxxxxx
> Sent: Thursday, September 10, 2015 8:08:04 PM
> Subject: RE: About Fio backend with ObjectStore API
> 
> Hi Casey and Haomai,
> 
>   We finally made the fio-objectstore works in our end . Here is fio data
>   against filestore with Samsung 850 Pro. It is sequential write and the
>   performance is very poor which is expected though.
> 
>     Run status group 0 (all jobs):
>   WRITE: io=524288KB, aggrb=9467KB/s, minb=9467KB/s, maxb=9467KB/s,
>   mint=55378msec, maxt=55378msec
>     
>   But anyway, it works even though still some bugs to fix like read and
>   filesytem issues. thanks a lot for your great work.
> 
>   Regards,
>   James
> 
>   jamesliu@jamesliu-OptiPlex-7010:~/WorkSpace/ceph_casey/src$ sudo ./fio/fio
>   ./test/objectstore.fio
> filestore: (g=0): rw=write, bs=128K-128K/128K-128K/128K-128K,
> ioengine=cephobjectstore, iodepth=1 fio-2.2.9-56-g736a Starting 1 process
> test1
> filestore: Laying out IO file(s) (1 file(s) / 512MB)
> 2015-09-10 16:55:40.614494 7f19d34d1840  1 filestore(/home/jamesliu/fio_ceph)
> mkfs in /home/jamesliu/fio_ceph
> 2015-09-10 16:55:40.614924 7f19d34d1840  1 filestore(/home/jamesliu/fio_ceph)
> mkfs generated fsid 5508d58e-dbfc-48a5-9f9c-c639af4fe73a
> 2015-09-10 16:55:40.630326 7f19d34d1840  1 filestore(/home/jamesliu/fio_ceph)
> write_version_stamp 4
> 2015-09-10 16:55:40.673417 7f19d34d1840  0 filestore(/home/jamesliu/fio_ceph)
> backend xfs (magic 0x58465342)
> 2015-09-10 16:55:40.724097 7f19d34d1840  1 filestore(/home/jamesliu/fio_ceph)
> leveldb db exists/created
> 2015-09-10 16:55:40.724218 7f19d34d1840 -1 journal FileJournal::_open:
> disabling aio for non-block journal.  Use journal_force_aio to force use of
> aio anyway
> 2015-09-10 16:55:40.724226 7f19d34d1840  1 journal _open
> /tmp/fio_ceph_filestore1 fd 5: 5368709120 bytes, block size 4096 bytes,
> directio = 1, aio = 0
> 2015-09-10 16:55:40.724468 7f19d34d1840 -1 journal check: ondisk fsid
> 7580401a-6863-4863-9873-3adda08c9150 doesn't match expected
> 5508d58e-dbfc-48a5-9f9c-c639af4fe73a, invalid (someone else's?) journal
> 2015-09-10 16:55:40.724481 7f19d34d1840  1 journal close
> /tmp/fio_ceph_filestore1
> 2015-09-10 16:55:40.724506 7f19d34d1840  1 journal _open
> /tmp/fio_ceph_filestore1 fd 5: 5368709120 bytes, block size 4096 bytes,
> directio = 1, aio = 0
> 2015-09-10 16:55:40.730417 7f19d34d1840  0 filestore(/home/jamesliu/fio_ceph)
> mkjournal created journal on /tmp/fio_ceph_filestore1
> 2015-09-10 16:55:40.730446 7f19d34d1840  1 filestore(/home/jamesliu/fio_ceph)
> mkfs done in /home/jamesliu/fio_ceph
> 2015-09-10 16:55:40.730527 7f19d34d1840  0 filestore(/home/jamesliu/fio_ceph)
> backend xfs (magic 0x58465342)
> 2015-09-10 16:55:40.730773 7f19d34d1840  0
> genericfilestorebackend(/home/jamesliu/fio_ceph) detect_features: FIEMAP
> ioctl is disabled via 'filestore fiemap' config option
> 2015-09-10 16:55:40.730779 7f19d34d1840  0
> genericfilestorebackend(/home/jamesliu/fio_ceph) detect_features:
> SEEK_DATA/SEEK_HOLE is disabled via 'filestore seek data hole' config option
> 2015-09-10 16:55:40.730793 7f19d34d1840  0
> genericfilestorebackend(/home/jamesliu/fio_ceph) detect_features: splice is
> supported
> 2015-09-10 16:55:40.751951 7f19d34d1840  0
> genericfilestorebackend(/home/jamesliu/fio_ceph) detect_features: syncfs(2)
> syscall fully supported (by glibc and kernel)
> 2015-09-10 16:55:40.752102 7f19d34d1840  0
> xfsfilestorebackend(/home/jamesliu/fio_ceph) detect_features: extsize is
> supported and your kernel >= 3.5
> 2015-09-10 16:55:40.794731 7f19d34d1840  0 filestore(/home/jamesliu/fio_ceph)
> mount: enabling WRITEAHEAD journal mode: checkpoint is not enabled
> 2015-09-10 16:55:40.794906 7f19d34d1840 -1 journal FileJournal::_open:
> disabling aio for non-block journal.  Use journal_force_aio to force use of
> aio anyway
> 2015-09-10 16:55:40.794917 7f19d34d1840  1 journal _open
> /tmp/fio_ceph_filestore1 fd 11: 5368709120 bytes, block size 4096 bytes,
> directio = 1, aio = 0
> 2015-09-10 16:55:40.795219 7f19d34d1840  1 journal _open
> /tmp/fio_ceph_filestore1 fd 11: 5368709120 bytes, block size 4096 bytes,
> directio = 1, aio = 0
> 2015-09-10 16:55:40.795533 7f19d34d1840  1 filestore(/home/jamesliu/fio_ceph)
> upgrade
> 2015-09-10 16:56:36.420878 7f19d34d1840  1 journal close
> /tmp/fio_ceph_filestore10s]
> 
> filestore: (groupid=0, jobs=1): err= 0: pid=16515: Thu Sep 10 16:56:36 2015
>   write: io=524288KB, bw=9467.5KB/s, iops=73, runt= 55378msec
>     slat (usec): min=22, max=142, avg=57.93, stdev=11.46
>     clat (msec): min=6, max=148, avg=13.46, stdev=10.61
>      lat (msec): min=6, max=148, avg=13.51, stdev=10.61
>     clat percentiles (msec):
>      |  1.00th=[   10],  5.00th=[   10], 10.00th=[   10], 20.00th=[   10],
>      | 30.00th=[   10], 40.00th=[   10], 50.00th=[   10], 60.00th=[   10],
>      | 70.00th=[   10], 80.00th=[   15], 90.00th=[   25], 95.00th=[   29],
>      | 99.00th=[   43], 99.50th=[   93], 99.90th=[  137], 99.95th=[  143],
>      | 99.99th=[  149]
>     bw (KB  /s): min= 1505, max=13750, per=100.00%, avg=9525.38,
>     stdev=3821.47
>     lat (msec) : 10=71.73%, 20=11.52%, 50=15.87%, 100=0.46%, 250=0.42%
>   cpu          : usr=1.50%, sys=1.87%, ctx=353850, majf=0, minf=48
>   IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%,
>   >=64=0.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.0%,
>      >=64=0.0%
>      issued    : total=r=0/w=4096/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=1
> 
> Run status group 0 (all jobs):
>   WRITE: io=524288KB, aggrb=9467KB/s, minb=9467KB/s, maxb=9467KB/s,
>   mint=55378msec, maxt=55378msec
> 
> Disk stats (read/write):
>   loop0: ios=0/0, merge=0/0, ticks=0/0, in_queue=0, util=0.00%
> 
>    
> ________________________________________
> From: Haomai Wang [haomaiwang@xxxxxxxxx]
> Sent: Friday, September 04, 2015 8:43 PM
> To: James (Fei) Liu-SSI
> Cc: Casey Bodley; ceph-devel@xxxxxxxxxxxxxxx
> Subject: Re: About Fio backend with ObjectStore API
> 
> On Sat, Sep 5, 2015 at 4:29 AM, James (Fei) Liu-SSI
> <james.liu@xxxxxxxxxxxxxxx> wrote:
> > Hi Casey,
> >    Thanks. I even got a compiling error with fio-objectstore branch.
> >
> >     Here is error message:
> >
> >       make[3]: *** No rule to make target `rbd_fuse/rbd-fuse.c', needed by
> >       `rbd_fuse/rbd-fuse.o'.  Stop.
> > make[3]: *** Waiting for unfinished jobs....
> >   CXX      ceph_fuse.o
> 
> This is a old make problem. I nearly forgot the details, but you can run
> "make clean" then try again. Or remove this ceph build directory directly
> and git clone a clean tree
> 
> > make[3]: Leaving directory `/home/jamesliu/WorkSpace/ceph_fio/src'
> > make[2]: *** [all-recursive] Error 1
> > make[2]: Leaving directory `/home/jamesliu/WorkSpace/ceph_fio/src'
> > make[1]: *** [all] Error 2
> > make[1]: Leaving directory `/home/jamesliu/WorkSpace/ceph_fio/src'
> > make: *** [all-recursive] Error 1
> > jamesliu@jamesliu-OptiPlex-7010:~/WorkSpace/ceph_fio$ git branch
> > * fio-objectstore
> >   master
> >
> >
> > Regards,
> > James
> >
> > -----Original Message-----
> > From: Casey Bodley [mailto:cbodley@xxxxxxxxxx]
> > Sent: Thursday, September 03, 2015 10:44 AM
> > To: James (Fei) Liu-SSI
> > Cc: ceph-devel@xxxxxxxxxxxxxxx
> > Subject: Re: About Fio backend with ObjectStore API
> >
> > Hi James,
> >
> > I'm sorry for not following up on that segfault, but I wasn't ever able to
> > reproduce it. I used it recently for memstore testing without any
> > problems. I wonder if there's a problem with the autotools build? I've
> > only tested it with cmake. When I find some time, I'll rebase it on master
> > and do another round of testing.
> >
> > Casey
> >
> > ----- Original Message -----
> >> From: "James (Fei) Liu-SSI" <james.liu@xxxxxxxxxxxxxxx>
> >> To: "Haomai Wang" <haomaiwang@xxxxxxxxx>, "Casey Bodley"
> >> <cbodley@xxxxxxxxxx>
> >> Cc: "Casey Bodley" <cbodley@xxxxxxxxx>, "Matt W. Benjamin"
> >> <matt@xxxxxxxxxxxx>, ceph-devel@xxxxxxxxxxxxxxx
> >> Sent: Wednesday, September 2, 2015 8:06:14 PM
> >> Subject: RE: About Fio backend with ObjectStore API
> >>
> >> Hi Haomai and Case,
> >>      Do you have any fixes for that segfault?
> >>
> >>     Thanks,
> >>     James
> >>
> >> -----Original Message-----
> >> From: Haomai Wang [mailto:haomaiwang@xxxxxxxxx]
> >> Sent: Wednesday, July 22, 2015 6:07 PM
> >> To: Casey Bodley
> >> Cc: Casey Bodley; Matt W. Benjamin; James (Fei) Liu-SSI;
> >> ceph-devel@xxxxxxxxxxxxxxx
> >> Subject: Re: About Fio backend with ObjectStore API
> >>
> >> no special
> >>
> >> [global]
> >> #logging
> >> #write_iops_log=write_iops_log
> >> #write_bw_log=write_bw_log
> >> #write_lat_log=write_lat_log
> >> ioengine=./ceph-int/src/.libs/libfio_ceph_objectstore.so
> >> invalidate=0 # mandatory
> >> rw=write
> >> #bs=4k
> >>
> >> [filestore]
> >> iodepth=1
> >> # create a journaled filestore
> >> objectstore=filestore
> >> directory=./osd/
> >> filestore_journal=./osd/journal
> >>
> >> On Thu, Jul 23, 2015 at 4:56 AM, Casey Bodley <cbodley@xxxxxxxxxx> wrote:
> >> > Hi Haomai,
> >> >
> >> > Sorry for the late response, I was out of the office. I'm afraid I
> >> > haven't run into that segfault. The io_ops should be set at the
> >> > very beginning when it calls get_ioengine(). All I can suggest is
> >> > that you verify that your job file is pointing to the correct
> >> > fio_ceph_objectstore.so. If you've made any other interesting
> >> > changes to the job file, could you share it here?
> >> >
> >> > Casey
> >> >
> >> > ----- Original Message -----
> >> > From: "Haomai Wang" <haomaiwang@xxxxxxxxx>
> >> > To: "Casey Bodley" <cbodley@xxxxxxxxx>
> >> > Cc: "Matt W. Benjamin" <matt@xxxxxxxxxxxx>, "James (Fei) Liu-SSI"
> >> > <james.liu@xxxxxxxxxxxxxxx>, ceph-devel@xxxxxxxxxxxxxxx
> >> > Sent: Tuesday, July 21, 2015 7:50:32 AM
> >> > Subject: Re: About Fio backend with ObjectStore API
> >> >
> >> > Hi Casey,
> >> >
> >> > I check your commits and know what you fixed. I cherry-picked your
> >> > new commits but I still met the same problem.
> >> >
> >> > """
> >> > It's strange that it alwasys hit segment fault when entering
> >> > "_fio_setup_ceph_filestore_data", gdb tells "td->io_ops" is NULL
> >> > but when I up the stack, the "td->io_ops" is not null. Maybe it's
> >> > related to dlopen?
> >> > """
> >> >
> >> > Do you have any hint about this?
> >> >
> >> > On Thu, Jul 16, 2015 at 5:23 AM, Casey Bodley <cbodley@xxxxxxxxx> wrote:
> >> >> Hi Haomai,
> >> >>
> >> >> I was able to run this after a couple changes to the filestore.fio
> >> >> job file. Two of the config options were using the wrong names. I
> >> >> pushed a fix for the job file, as well as a patch that renames
> >> >> everything from filestore to objectstore (thanks James), to
> >> >> https://github.com/linuxbox2/linuxbox-ceph/commits/fio-objectstore.
> >> >>
> >> >> I found that the read support doesn't appear to work anymore, so
> >> >> give "rw=write" a try. And because it does a mkfs(), make sure
> >> >> you're pointing it to an empty xfs directory with the "directory="
> >> >> option.
> >> >>
> >> >> Casey
> >> >>
> >> >> On Tue, Jul 14, 2015 at 2:45 AM, Haomai Wang <haomaiwang@xxxxxxxxx>
> >> >> wrote:
> >> >>> Anyone who have successfully ran the fio with this external io
> >> >>> engine ceph_objectstore?
> >> >>>
> >> >>> It's strange that it alwasys hit segment fault when entering
> >> >>> "_fio_setup_ceph_filestore_data", gdb tells "td->io_ops" is NULL
> >> >>> but when I up the stack, the "td->io_ops" is not null. Maybe it's
> >> >>> related to dlopen?
> >> >>>
> >> >>> On Fri, Jul 10, 2015 at 3:51 PM, Haomai Wang
> >> >>> <haomaiwang@xxxxxxxxx>
> >> >>> wrote:
> >> >>>> I have rebased the branch with master, and push it to ceph
> >> >>>> upstream repo.
> >> >>>> https://github.com/ceph/ceph/compare/fio-objectstore?expand=1
> >> >>>>
> >> >>>> Plz let me know if who is working on this. Otherwise, I would
> >> >>>> like to improve this to be merge ready.
> >> >>>>
> >> >>>> On Fri, Jul 10, 2015 at 4:26 AM, Matt W. Benjamin
> >> >>>> <matt@xxxxxxxxxxxx>
> >> >>>> wrote:
> >> >>>>> That makes sense.
> >> >>>>>
> >> >>>>> Matt
> >> >>>>>
> >> >>>>> ----- "James (Fei) Liu-SSI" <james.liu@xxxxxxxxxxxxxxx> wrote:
> >> >>>>>
> >> >>>>>> Hi Casey,
> >> >>>>>>   Got it. I was directed to the old code base. By the way,
> >> >>>>>> Since the testing case was used to exercise all of object stores.
> >> >>>>>> Strongly recommend to change the name from
> >> >>>>>> fio_ceph_filestore.cc to fio_ceph_objectstore.cc . And the
> >> >>>>>> code in fio_ceph_filestore.cc should be refactored to reflect
> >> >>>>>> that the whole objectstore will be supported by
> >> >>>>>> fio_ceph_objectstore.cc. what you think?
> >> >>>>>>
> >> >>>>>> Let me know if you need any help from my side.
> >> >>>>>>
> >> >>>>>>
> >> >>>>>> Regards,
> >> >>>>>> James
> >> >>>>>>
> >> >>>>>>
> >> >>>>>>
> >> >>>>>> -----Original Message-----
> >> >>>>>> From: Casey Bodley [mailto:cbodley@xxxxxxxxx]
> >> >>>>>> Sent: Thursday, July 09, 2015 12:32 PM
> >> >>>>>> To: James (Fei) Liu-SSI
> >> >>>>>> Cc: Haomai Wang; ceph-devel@xxxxxxxxxxxxxxx
> >> >>>>>> Subject: Re: About Fio backend with ObjectStore API
> >> >>>>>>
> >> >>>>>> Hi James,
> >> >>>>>>
> >> >>>>>> Are you looking at the code from
> >> >>>>>> https://github.com/linuxbox2/linuxbox-ceph/tree/fio-objectstore?
> >> >>>>>> It uses ObjectStore::create() instead of new FileStore(). This
> >> >>>>>> allows us to exercise all of the object stores with the same code.
> >> >>>>>>
> >> >>>>>> Casey
> >> >>>>>>
> >> >>>>>> On Thu, Jul 9, 2015 at 2:01 PM, James (Fei) Liu-SSI
> >> >>>>>> <james.liu@xxxxxxxxxxxxxxx> wrote:
> >> >>>>>> > Hi Casey,
> >> >>>>>> >   Here is the code in the fio_ceph_filestore.cc. Basically,
> >> >>>>>> > it
> >> >>>>>> creates a filestore as backend engine for IO exercises. If we
> >> >>>>>> got to send IO commands to KeyValue Store or Newstore, we got
> >> >>>>>> to change the code accordingly, right?  I did not see any
> >> >>>>>> other files like fio_ceph_keyvaluestore.cc or fio_ceph_newstore.cc.
> >> >>>>>> In my humble opinion, we might need to create other two fio
> >> >>>>>> engines for keyvaluestore and newstore if we want to exercise
> >> >>>>>> these two, right?
> >> >>>>>> >
> >> >>>>>> > Regards,
> >> >>>>>> > James
> >> >>>>>> >
> >> >>>>>> > static int fio_ceph_filestore_init(struct thread_data *td)
> >> >>>>>> > 209 {
> >> >>>>>> > 210     vector<const char*> args;
> >> >>>>>> > 211     struct ceph_filestore_data *ceph_filestore_data = (struct
> >> >>>>>> ceph_filestore_data *) td->io_ops->data;
> >> >>>>>> > 212     ObjectStore::Transaction ft;
> >> >>>>>> > 213
> >> >>>>>> >
> >> >>>>>> > 214     global_init(NULL, args, CEPH_ENTITY_TYPE_OSD,
> >> >>>>>> CODE_ENVIRONMENT_UTILITY, 0);
> >> >>>>>> > 215     //g_conf->journal_dio = false;
> >> >>>>>> > 216     common_init_finish(g_ceph_context);
> >> >>>>>> > 217     //g_ceph_context->_conf->set_val("debug_filestore",
> >> >>>>>> > "20");
> >> >>>>>> > 218     //g_ceph_context->_conf->set_val("debug_throttle", "20");
> >> >>>>>> > 219     g_ceph_context->_conf->apply_changes(NULL);
> >> >>>>>> > 220
> >> >>>>>> >
> >> >>>>>> > 221     ceph_filestore_data->osd_path =
> >> >>>>>> strdup("/mnt/fio_ceph_filestore.XXXXXXX");
> >> >>>>>> > 222     ceph_filestore_data->journal_path =
> >> >>>>>> strdup("/var/lib/ceph/osd/journal-ram/fio_ceph_filestore.XXXXXXX"
> >> >>>>>> );
> >> >>>>>> > 223
> >> >>>>>> >
> >> >>>>>> > 224     if (!mkdtemp(ceph_filestore_data->osd_path)) {
> >> >>>>>> > 225             cout << "mkdtemp failed: " << strerror(errno) <<
> >> >>>>>> std::endl;
> >> >>>>>> > 226             return 1;
> >> >>>>>> > 227     }
> >> >>>>>> > 228     //mktemp(ceph_filestore_data->journal_path); // NOSPC
> >> >>>>>> > issue
> >> >>>>>> > 229
> >> >>>>>> >
> >> >>>>>> > 230     ObjectStore *fs = new
> >> >>>>>> FileStore(ceph_filestore_data->osd_path,
> >> >>>>>> ceph_filestore_data->journal_path);
> >> >>>>>> > 231     ceph_filestore_data->fs = fs;
> >> >>>>>> > 232
> >> >>>>>> >
> >> >>>>>> > 233     if (fs->mkfs() < 0) {
> >> >>>>>> > 234             cout << "mkfs failed" << std::endl;
> >> >>>>>> > 235             goto failed;
> >> >>>>>> > 236     }
> >> >>>>>> > 237
> >> >>>>>> > 238     if (fs->mount() < 0) {
> >> >>>>>> > 239             cout << "mount failed" << std::endl;
> >> >>>>>> > 240             goto failed;
> >> >>>>>> > 241     }
> >> >>>>>> > 242
> >> >>>>>> >
> >> >>>>>> > 243     ft.create_collection(coll_t());
> >> >>>>>> > 244     fs->apply_transaction(ft);
> >> >>>>>> > 245
> >> >>>>>> >
> >> >>>>>> > 246
> >> >>>>>> >
> >> >>>>>> > 247     return 0;
> >> >>>>>> > 248
> >> >>>>>> >
> >> >>>>>> > 249 failed:
> >> >>>>>> > 250     return 1;
> >> >>>>>> > 251
> >> >>>>>> >
> >> >>>>>> > 252 }
> >> >>>>>> > -----Original Message-----
> >> >>>>>> > From: Casey Bodley [mailto:cbodley@xxxxxxxxx]
> >> >>>>>> > Sent: Thursday, July 09, 2015 9:19 AM
> >> >>>>>> > To: James (Fei) Liu-SSI
> >> >>>>>> > Cc: Haomai Wang; ceph-devel@xxxxxxxxxxxxxxx
> >> >>>>>> > Subject: Re: About Fio backend with ObjectStore API
> >> >>>>>> >
> >> >>>>>> > Hi James,
> >> >>>>>> >
> >> >>>>>> > In the job file src/test/filestore.fio, you can modify the
> >> >>>>>> > line "objectstore=filestore" to use any objectstore type
> >> >>>>>> > supported by
> >> >>>>>> the
> >> >>>>>> > ObjectStore::create() factory.
> >> >>>>>> >
> >> >>>>>> > Casey
> >> >>>>>> >
> >> >>>>>> > On Wed, Jul 8, 2015 at 8:02 PM, James (Fei) Liu-SSI
> >> >>>>>> <james.liu@xxxxxxxxxxxxxxx> wrote:
> >> >>>>>> >> Hi Casey,
> >> >>>>>> >>   Quick questions, The code in the trunk only cover the
> >> >>>>>> >> test for
> >> >>>>>> filestore. I was wondering do you have any plan to cover the
> >> >>>>>> test for kvstore and newstore?
> >> >>>>>> >>
> >> >>>>>> >>   Thanks,
> >> >>>>>> >>   James
> >> >>>>>> >>
> >> >>>>>> >> -----Original Message-----
> >> >>>>>> >> From: ceph-devel-owner@xxxxxxxxxxxxxxx
> >> >>>>>> >> [mailto:ceph-devel-owner@xxxxxxxxxxxxxxx] On Behalf Of
> >> >>>>>> >> James
> >> >>>>>> >> (Fei)
> >> >>>>>>
> >> >>>>>> >> Liu-SSI
> >> >>>>>> >> Sent: Tuesday, June 30, 2015 2:19 PM
> >> >>>>>> >> To: Casey Bodley
> >> >>>>>> >> Cc: Haomai Wang; ceph-devel@xxxxxxxxxxxxxxx
> >> >>>>>> >> Subject: RE: About Fio backend with ObjectStore API
> >> >>>>>> >>
> >> >>>>>> >> Hi Casey,
> >> >>>>>> >>
> >> >>>>>> >>   Thanks a lot.
> >> >>>>>> >>
> >> >>>>>> >>   Regards,
> >> >>>>>> >>   James
> >> >>>>>> >>
> >> >>>>>> >> -----Original Message-----
> >> >>>>>> >> From: Casey Bodley [mailto:cbodley@xxxxxxxxx]
> >> >>>>>> >> Sent: Tuesday, June 30, 2015 2:16 PM
> >> >>>>>> >> To: James (Fei) Liu-SSI
> >> >>>>>> >> Cc: Haomai Wang; ceph-devel@xxxxxxxxxxxxxxx
> >> >>>>>> >> Subject: Re: About Fio backend with ObjectStore API
> >> >>>>>> >>
> >> >>>>>> >> Hi,
> >> >>>>>> >>
> >> >>>>>> >> When Danny Al-Gaaf & Daniel Gollub published "Ceph
> >> >>>>>> >> Performance
> >> >>>>>> >> Analysis: fio and RBD" at
> >> >>>>>> >>
> >> >>>>>> https://telekomcloud.github.io/ceph/2014/02/26/ceph-performanc
> >> >>>>>> e
> >> >>>>>> -a
> >> >>>>>> naly
> >> >>>>>> >> s is_fio_rbd.html, they also mentioned a fio engine that
> >> >>>>>> >> linked directly into ceph's FileStore. I was able to find
> >> >>>>>> >> Daniel's branch
> >> >>>>>> on
> >> >>>>>> >> github at
> >> >>>>>> >> https://github.com/gollub/ceph/tree/fio_filestore_v2, and
> >> >>>>>> did some more work on it at the time.
> >> >>>>>> >>
> >> >>>>>> >> I just rebased that work onto the latest ceph master
> >> >>>>>> >> branch, and
> >> >>>>>> pushed to our github at
> >> >>>>>> https://github.com/linuxbox2/linuxbox-ceph/tree/fio-objectstore.
> >> >>>>>> You can find the source in src/test/fio_ceph_filestore.cc, and
> >> >>>>>> run fio with the provided example fio job file in
> >> >>>>>> src/test/filestore.fio.
> >> >>>>>> >>
> >> >>>>>> >> I didn't have a chance to confirm that it builds with
> >> >>>>>> >> automake, but
> >> >>>>>>
> >> >>>>>> >> the cmake version built for me. I'm happy to help if you
> >> >>>>>> >> run into problems, Casey
> >> >>>>>> >>
> >> >>>>>> >> On Tue, Jun 30, 2015 at 2:31 PM, James (Fei) Liu-SSI
> >> >>>>>> <james.liu@xxxxxxxxxxxxxxx> wrote:
> >> >>>>>> >>> Hi Haomai,
> >> >>>>>> >>>   What are you trying to ask is to benchmark local
> >> >>>>>> objectstore(like kvstore/filestore/newstore) locally with
> >> >>>>>> FIO(ObjectStore engine)? You want to purely compare the
> >> >>>>>> performance locally for these objectstores, right?
> >> >>>>>> >>>
> >> >>>>>> >>>   Regards,
> >> >>>>>> >>>   James
> >> >>>>>> >>>
> >> >>>>>> >>> -----Original Message-----
> >> >>>>>> >>> From: ceph-devel-owner@xxxxxxxxxxxxxxx
> >> >>>>>> >>> [mailto:ceph-devel-owner@xxxxxxxxxxxxxxx] On Behalf Of
> >> >>>>>> >>> Haomai
> >> >>>>>> Wang
> >> >>>>>> >>> Sent: Tuesday, June 30, 2015 9:06 AM
> >> >>>>>> >>> To: ceph-devel@xxxxxxxxxxxxxxx
> >> >>>>>> >>> Subject: About Fio backend with ObjectStore API
> >> >>>>>> >>>
> >> >>>>>> >>> Hi all,
> >> >>>>>> >>>
> >> >>>>>> >>> Long long ago, is there someone said about fio backend
> >> >>>>>> >>> with Ceph
> >> >>>>>> ObjectStore API? So we could use the existing mature fio
> >> >>>>>> facility to benchmark ceph objectstore.
> >> >>>>>> >>>
> >> >>>>>> >>> --
> >> >>>>>> >>> Best Regards,
> >> >>>>>> >>>
> >> >>>>>> >>> Wheat
> >> >>>>>> >>> --
> >> >>>>>> >>> To unsubscribe from this list: send the line "unsubscribe
> >> >>>>>> ceph-devel"
> >> >>>>>> >>> in the body of a message to majordomo@xxxxxxxxxxxxxxx More
> >> >>>>>> majordomo
> >> >>>>>> >>> info at  http://vger.kernel.org/majordomo-info.html
> >> >>>>>> >>   {.n +       +%  lzwm  b ?  r  y? ?zX     ?}   ?z &j:+v
> >> >>>>>> >>   zZ+
> >> >>>>>>  +zf   h   ~    i   z   w   ?    & )? f
> >> >>>>>> N     r  y   b X  ?v ^ )?{.n +   z ]z   {ay ?? ,j  f   h   z  w
> >> >>>>>>     j:+v   w j m        zZ+  ?j"
> >> >>>>>
> >> >>>>> --
> >> >>>>> Matt Benjamin
> >> >>>>> CohortFS, LLC.
> >> >>>>> 315 West Huron Street, Suite 140A Ann Arbor, Michigan 48103
> >> >>>>>
> >> >>>>> http://cohortfs.com
> >> >>>>>
> >> >>>>> tel.  734-761-4689
> >> >>>>> fax.  734-769-8938
> >> >>>>> cel.  734-216-5309
> >> >>>>
> >> >>>>
> >> >>>>
> >> >>>> --
> >> >>>> Best Regards,
> >> >>>>
> >> >>>> Wheat
> >> >>>
> >> >>>
> >> >>>
> >> >>> --
> >> >>> Best Regards,
> >> >>>
> >> >>> Wheat
> >> >
> >> >
> >> >
> >> > --
> >> > Best Regards,
> >> >
> >> > Wheat
> >> > --
> >> > To unsubscribe from this list: send the line "unsubscribe ceph-devel"
> >> > in the body of a message to majordomo@xxxxxxxxxxxxxxx More
> >> > majordomo info at  http://vger.kernel.org/majordomo-info.html
> >>
> >>
> >>
> >> --
> >> Best Regards,
> >>
> >> Wheat
> >> N     r  y   b X  ?v ^ )?{.n +   z ]z   {ay ?? ,j  f   h   z  w      j
> >> :+v   w j m        zZ+  ?j"
> 
> 
> 
> --
> Best Regards,
> 
> Wheat
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the
> body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at
> http://vger.kernel.org/majordomo-info.html
> N�����r��y���b�X��ǧv�^�)޺{.n�+���z�]z���{ay�ʇڙ�,j��f���h���z��w������j:+v���w�j�m��������zZ+��ݢj"��
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux