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