Re: [RFC] New S3 Benchmark

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

 



On 2019-08-20T08:53:50, Mark Nelson <mnelson@xxxxxxxxxx> wrote:

Hi Mark,

sorry for the slow response. Got sidetracked into business travel ;-)

I looked over https://github.com/markhpc/hsbench features to consider
how it compares to the fio S3/Swift/DAV backend.

fio's so far can only target one bucket (it can only be pointed at one
http_host, but in theory, that could be a variable that could be filled
via variables or different jobs.

That also limits the number of endpoints - it doesn't RR across multiple
endpoints for the same job, but fio would easily support kicking off the
same job for multiple endpoints concurrently via one control file, so
that'd likely achieve something similar?

The whole latency reporting and test parametrization is, I think, an
advantage of fio.

With one exception - it doesn't really currently support mixing object
sizes (block sizes) within one job easily given how I hacked that into
fio. I think it's probably safe, since I assume fio only ever reads
blocks/objects back with the same size it wrote them, but it's kinda
awkward ;-)

What fio also doesn't do is manage the buckets itself; it doesn't
support deletion/creation, it only does PUT/GET/DELETE for objects
within existing buckets. (Given that bucket creation could potentially
require quite a number of options to be passed, that was sort-of
intentional - I expected buckets to be provisioned before benchmarking
the cluster.)

It can however delete all objects (just "trim" everything afterwards -
https://github.com/axboe/fio/blob/master/examples/http-s3.fio

And it doesn't support multipart uploads. But I think that's the same
for hsbench so far.

Of course, hsbench gets to benefit from the aws Go bindings. There
weren't any lightweight S3 libraries for C, so fio ended up with it's
tiny little rewrite of one. (I think swearing might have been involved
around getting the authentication right :-D)

I wonder if you've been able to compare both of them yet; I'd be curious
which one is more lightweight and can get higher per client performance?

Now, my desire for having this all be in the same tool across all
benchmarks if feasible, but seeing the benefits of using a language for
which an Amazon SDK is available ...
https://medium.com/learning-the-go-programming-language/calling-go-functions-from-other-languages-4c7d8bcc69bf
A fio plugin wrapper around hsbench's S3 module ought to be possible?


Regards,
    Lars

-- 
SUSE Linux GmbH, GF: Felix Imendörffer, Mary Higgins, Sri Rasiah, HRB 21284 (AG Nürnberg)
"Architects should open possibilities and not determine everything." (Ueli Zbinden)
_______________________________________________
Dev mailing list -- dev@xxxxxxx
To unsubscribe send an email to dev-leave@xxxxxxx




[Index of Archives]     [CEPH Users]     [Ceph Devel]     [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