[rabbitmq-discuss] if stop RabbitMq Server Service, the Server try to create 'queues' folder ?

Tim Watson tim at rabbitmq.com
Thu Oct 17 22:32:34 BST 2013


On 17 Oct 2013, at 13:34, Ceri Storey wrote:
>> Is the creation of folders in the internal database causing you a problem? 
> 
> I'd infer that he's maybe referring to the fact that traditionally,
> having lots of entires in a single directory will cause accesses to
> items in that directory to perform very poorly (even to the point of
> causing significant performance problems for the machine overall). If
> you fancy seeing this in practice, try creating ~10,000,000-100,000,000
> entries in a directory on ext4 (ideally on a sacraficial machine).
> 

I see what you're saying. That wasn't what is causing slowness during shutdown in this case though - I can replicate the slow shutdown with only 5k durable queues, and its looks like it's down to an fsync. We've filed a bug and will be investigating.

> The usual solution (usually found in mail transport agents like Exim/
> Postfix) to this is to use "hashed" directories, where instead of having
> directories named as follows:
> 
> /somewhere/queues/0123456789ABCDEF/
> 
> You have:
> 
> /somewhere/queues/0/01/012/0124/0123456789ABCDEF/
> 
> So that the scan of each directory encounters far fewer items, making
> the performance more logarithmic than linear.
> 

Yeah, I've come across that before, but as you said, only in the context of having hundreds of thousands (or more) directories. Still, it's worth bearing that in mind too, so I'll add this point to bugzilla where it can hopefully engender further discussion.

Thanks for bringing this up!

Cheers,
Tim


More information about the rabbitmq-discuss mailing list