my situation is as follows:
I’m located in Ireland and have a Seafile server running in Germany. Whenever I try to Download something the Download speed is awfully slow. I’m surfing at a 100MBit/s from Home and the server is connected with 1000MBit/s. But still, I can only Download at a maximum of 6Mbit/s. It also doesn’t matter if I’m using the client or the Website.
My Seafile Community 6.2.5 Server is deployed behind Apache2 and the latency between the two locations is 45ms. There is no other stuff hosted on this server. So basically my question is if that is a latency related issue or if this might be caused by my Apache?
If you’ve any ideas what could cause the issue I’d be glad to know. I’m a bit frustrated.
ioload on the server (top, %wa)?
Downloading using the client or Seahub? If Seahub, CPU load?
Have you tried to measure the connection speed between home and server by downloading a static file?
Hi shoeper, Hi shimun,
it’s slow in both scenarios Seahub & Client. The CPU load is idling at around ~ 10% in both cases. The memory usage is at 1.4GB out of 9.7GB.
I’ve tried to measure the download using a static file of 2GB size. That’s where I’ve got the above values from.
I’ll check the IOLoad and come back once I have the data. But since the server is running on a RAID0 of two 1TB disks I don’t think that this is the reason.
Are there any limitations to SQLite which I I’ve used to set up the server? All data combined is ~ 450GB used space.
If possible, I’d give nginx a try instead of apache.
You could also try if it works better using another server (just as a test case, not as a solution, obviously). Just open a test account at https://app.syncwerk.de/accounts/register/ or https://en.yoursecurecloud.de/demo and upload some garbage to see if it performs better. Both hosters are also based in in Germany.
RAID0 on a storage server? I see you like to live dangerously
Just to clarify, you can download with 100mbit via an static fiile directly from apache/nginx?
Sounds like either an i/o problem or congested transit/peerings
Yes! I backup the server every week anyway so I won’t lose that much data. In regards to the speed, that’s a negative. I only get 6 MBit/s when downloading the test file from the Server (Apache) from Ireland, even though I have a 100 MBit/s connection.
I just spun up a VM on a second server, which is also hosted in a German datacenter. I gave it a shot and downloaded my test file of 2GB. It downloaded it with ~43MB/s (MB/s not MBit/s). So I’d guess it’s most likely the Apache which is the limiting factor?
I’ve also created an account on Syncwerk. This did work with ~90MBit/s so nearly at the maximum.
I think I’d give it a shot with nginx after I’ve backed up the stuff next weekend. Is the process as straightforward as removing Apache and installing Nginx with the setup outlined here?:https://manual.seafile.com/deploy/deploy_with_nginx.html
Or am I missing something?
If you can download with only 6 mbit via apache then seafile is not the problem.
Like u said, give nginx a try, but apache should be able to handle that speed without any problems… so its unlikely to be the problem either.
Most likeley there is some network congestion between your server and the client. Ireland and Germany is quite some distance…
You might want to run a traceroute and see if there might be a problem.
Since i never used apache with seafile i cant say if you have to watch out for something special, what i can say is that its pretty straight forward if youre used to nginx.
So I’ve successfully made the switch to nginx. No performance improvement though…
But I’ve played around with my VPN after I made the upgrade and it simply seems to be the distance in my case… When I switch into Norway the connection speed goes down to 5 Mbit. USA 2Mbit and Australia 0.75 Mbit. So I would assume it is caused by the latency. Does anyone of you has an idea if there is any way to improve this?
Edit: Just ran some statistics. Ping is at 40ms. Path should be alright with 11 hops as well.
That was expected. Nginx cant solve bad connection issues
Best performance should be achieved by connecting to a cloose vpn entry. Im also 24/7 via vpn online from germany and i usually connect via NL,CZ,BE,CH…
That’s totally correct, but in the moment I asked for it, it wasn’t clear whether this is a general slow connection issue or one with Seafile. In the past years, I’d say there were more issues with Apache + Seafile, than Nginx + Seafile.
I don’t think there is anything you can do when this is the case. The only solution is to take another provider. But it depends on where the bottleneck is. It can be on the end of your provider (insufficient peerings) but also on the side of your hoster. Insufficient bandwidth or also peerings that do not provide a good connection for your route. It could also be bad route selection or overbooking of peerings.
I’ve just asked a relative in Germany to download a test file. He is stuck at the same speeds as I between 6 and 10 MBit. What just struck my mind: Is it possible that SQLite is slowing down the server? I know that SQLite can be a pain in big databases. Is it possible that this is my bottleneck?
Your previous replies aren’t clear - have you already tried putting a 1GB test file just in apache by itself, outside of Seafile, and try downloading that and see what speeds you get?
There is no big database with Seafile unless professional edition is being used and many audit logs accumulated.
Please have a look at @arjones85 response.