Re: About Fio backend with ObjectStore API

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

 



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