-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Openstack SWIFT storage performance #25947
Comments
Hmmm, in 9.1 we added a stat cache which should have reduced the number of requests with SWIFT as external storage. Are you using the SWIFT external storage or the home object store one ? |
We are using APCu. |
Okay, no home storage in config.php, so you're using the external storage variant. Looks like it needs further optimization. |
Sorry, I misunderstood your question. We were indeed using the external storage variant. The problem seems only related to the external storage variant. |
The external storage variant works completely differently. In the external storage mode, every file is stored using the full path as key. This means OC is simulating a tree structure inside the object store, similar to how some object store file managers do. This is bad for performance because need to filter every time a folder is accessed. As primary storage it's much faster because all OC does is store the data of the file and the key is the file id. There is no path / tree lookup magic happening. |
In 9.1 perf for the SWIFT external storage should already have improved with the introduction of the stat cache: #7897. If that's still not enough, might need to find a way to optimize this further. |
@smadev is it still slow with 9.1.4 or 9.1.5 RC2 ? |
No further feedback. |
hi ,have try one week to install a cluster server of swift,not cool ,since i didn't install openstack ,i just want using openstack swift ,but th website(https://docs.openstack.org/swift/latest/howto_installmultinode.html) show us the install muti swift server was need openstack ,then can install swift ,so i was so confused,it's any doc can help us to install a multi server ,not SAIO. thanks a lot if any one can reply! |
I would really recommend to use Ceph/S3 even in the OpenStack context. Otherwise, as written above, for ownCloud in the future you'll need the S3 layer on top of OpenStack/Swift. |
Thanks ,it's just for using openstack swift cluster server i need ,did anyone can shared about it experience for deploy a cluster server of swift doc/wiki . Thanks a lot ! |
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
cachegrind.out.zip
Hi,
We have difficulties interacting with with our external SWIFT container through ownCloud. All operations are really slow, from listing a directory content to uploading/downloading a file. The container itself is fine, interacting with it through any cli client does not raise any problem, everything is fast.
For example, listing a directory content with the following command takes ~21sec. (the folder contains 6 files, 6MB total).
curl -X PROPFIND -u "XXXX":"XXXX" "https://our.owncloud.instance.com/remote.php/webdav/container/directory" -v
Sharing is totally disabled.
We used webgrind to profile our ownCloud instance in order to track what was going on during file operations, it seems that LOTS of requests are sent by ownCloud to our Openstack instance. The total execution time of these request is almost 20sec for the previous curl command.
Attached you can find the webgrind file generated by the previous command.
Steps to reproduce
Expected behaviour
Everything should be usable.
Actual behaviour
Everything is really slow.
Server configuration
Operating system: Debian 8.5
Web server: nginx/1.8.1
Database: PostgreSQL 9.4.8
PHP version: PHP 5.6.
ownCloud version: ownCloud 9.1
Updated from an older ownCloud or fresh install: fresh install
Where did you install ownCloud from: website
List of activated apps:
The content of config/config.php:
Are you using external storage, if yes which one: SWIFT
Are you using encryption: no
The text was updated successfully, but these errors were encountered: