Re: About Fio backend with ObjectStore API

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

 



I found my problem why segment:

because fio links librbd/librados from my /usr/local/lib but use
ceph/src/.libs/libfio_ceph_objectstore.so. They are different ceph
version.

So maybe we need to add check for abi version?

On Sat, Sep 12, 2015 at 4:08 AM, Casey Bodley <cbodley@xxxxxxxxxx> wrote:
> 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"��



-- 
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



[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