Skip to content
This repository has been archived by the owner on Feb 26, 2020. It is now read-only.

Use svfs as backend for an email server #137

Open
marino-mrc opened this issue Jun 20, 2017 · 3 comments
Open

Use svfs as backend for an email server #137

marino-mrc opened this issue Jun 20, 2017 · 3 comments
Labels

Comments

@marino-mrc
Copy link

Hi, I'd like to know if it is a good idea use svfs as backend for an email server. Basically emails are static files and there is no need to open files in append mode. I'm sorry if this is a stupid question but ask is a good idea I think.

@xlucas
Copy link
Contributor

xlucas commented Jun 20, 2017

I guess it will probably perform poorly since essentially requiring to handle many small objects. This means latency will be the tipping point here and adds up.

@xlucas xlucas added the usage label Jun 20, 2017
@marino-mrc
Copy link
Author

Hi xlucas, thank you for your answer.
As mentioned here -> http://www.admin-magazine.com/Archive/2015/26/Scalable-mail-storage-with-Dovecot-and-Amazon-S3 , the idea is not so bad, but probably I need some kind of local cache. This depends a lot on how svfs manages files with an high access frequency. There are 2 way (I think): 1) Integrate a caching filesystem for /mnt/my_openstack_container or 2) use only svfs if it works well also for caching. What do you think about this?

@xlucas
Copy link
Contributor

xlucas commented Jun 21, 2017

From the quick look I took, what I've understood from this mail server is that it manages a local cache with an S3 plugin, configurable in size. And then the article seems to skip the setup with an actual S3 storage, uses a Ceph setup with a gateway instead. My bet is it would really be inefficient with an end-to-end S3 setup and the cache won't be enough to run this smoothly.

In the case of a setup with svfs, a few problems arise:

  • svfs only caches metadata so file content needs to be retrieved every time.
  • when your inbox grows in size, maildir will be slower and slower since swift object list is paginated to 10k entries => need to send multiple requests to get it all.
  • svfs handles mtime at the cost of additional requests. ctime is not handled and could break some features.

Obviously, if you are only planning to host a personal mailbox with limited content it will probably be ok, but as soon as you reach larger volumes that won't be a solution that fits well.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants