Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upHuge performance problems (OOM + Execution time) when listing large folders #13434
Comments
LukasReschke
added
bug
app:files
performance
labels
Jan 17, 2015
LukasReschke
changed the title
Out-of-memoy with a lot of files in a single folder
Huge performance problems (OOM + Execution time) when listing large folders
Jan 17, 2015
This comment has been minimized.
This comment has been minimized.
Ewww, Punic is actually really really slow… Let me see if I can find some quick wins in their code base… |
LukasReschke
referenced this issue
Jan 17, 2015
Merged
Cache results of `getTimezoneNameNoLocationSpecific` #30
This comment has been minimized.
This comment has been minimized.
Got a simple patch that gives us on average 20% performance win on time-manipulation related actions by using a simple array cache for the timezone. This gives us a 2 second performance gain here in this simple example and a lot of other gains in other cases. PR is upstream: punic/punic#30 Still not perfectly happy with the duration of all Punic related stuff … mhm… |
added a commit
that referenced
this issue
Jan 18, 2015
This comment has been minimized.
This comment has been minimized.
Some patches for the mimetype icon problem: #13438 |
LukasReschke
referenced this issue
Jan 18, 2015
Closed
Tags are broken in folder with many files in it (General error: 1 too many SQL variables ) #13440
This comment has been minimized.
This comment has been minimized.
Is that formatting the date for the web UI ? I think we can probably drop that completely in favor of timestamps. |
This comment has been minimized.
This comment has been minimized.
It is. But those 10 seconds on dates are negligible when considering the 30 seconds on sorting stuff :( – Also using more than 50MB here just for JSON encoding is pretty … much … :) |
This comment has been minimized.
This comment has been minimized.
Some ideas to optimize the web UI workflow:
Ideally we should resort to pagination, but that will cause trouble with WebDAV... |
PVince81
referenced this issue
Jan 19, 2015
Closed
Consider using custom iterators to reduce memory usage #13473
This comment has been minimized.
This comment has been minimized.
Another 4 seconds are saved by optimizing NaturalSort, thanks @Xenopathic: #13511 |
Xenopathic
referenced this issue
Feb 13, 2015
Merged
Update naturalsort_defaultcollator.php. Fixes #13982 #14213
LukasReschke
closed this
Mar 26, 2015
This comment has been minimized.
This comment has been minimized.
@LukasReschke Closed? Is this no longer a significant issue? |
This comment has been minimized.
This comment has been minimized.
@Xenopathic the assumption is that the issue is mostly fixed by the two referenced pull requests |
This comment has been minimized.
This comment has been minimized.
(and also the referenced issue at #13473 is quite good) |
LukasReschke commentedJan 17, 2015
While debugging #12785 I had to create a lot of files in the user's data folder with the following script, to be precise I created 22559 files.
When now going to the file overview as the user where I created the files the Apache log gets sometimes filled with the following fatal errors such as:
Thus it is effectively not possible to use ownCloud at all… Sometimes it works but then the AJAX request gathering the file list is very slow (
apps/files/ajax/list.php
requires more than 50 seconds) and requires way too much memory (more than 150MB for just getting the file list!) than it actually should, just take a look at the following profiling overview:https://blackfire.io/profiles/e2ddd96d-08c1-4afc-8a2e-414b5a4cb5b4/graph
Memory
OC_Helper::mimetypeIcon
OC_JSON::encode
PDOStatement::fetchAll
CPU
This is on current master on my local development machine (SQLite) but behaves identically as the 7.0.3 Ubuntu machine (MySQL) where I debug the config.php problem (big fun)
@DeepDiver1975 @karlitschek FYI – major performance problem.