Task #54990
closedEpic #55070: Workpackages
Epic #55065: WP: Overall System Performance (Backend and Frontend)
Story #55073: review autoloader and language cache
ClassLoader cache ist too slow, no matter which CF Backend is used
0%
Description
while Profiling a 6.2 installation with XHProf I found that the most expensive part of the request is always the classloader cache - no matter which CF backend is used for it.
the attached callgraphs both show the delivery of a cached page, one with the default configuration (simple file backend) and one with the classloader cache Backend set to memcached.
In both cases we see that either file_get_contents() or Memcach::get() is the most expensive function.
the request times (mesured with the adminPanel) are almost the same in both cases: ~155ms with simple file backend and 150 ms with memcache
Since memcache should be way faster than the filesystem I think there's a lot of room for optimizing in the classloader.
Files
Updated by Helmut Hummel almost 11 years ago
Hi Rupi,
Rupert Germann wrote:
Since memcache should be way faster than the filesystem I think there's a lot of room for optimizing in the classloader.
I'm looking at the graph and the code and really asking myself where the room is for optimizing. Given the cache is populated, the code is pretty straightforward and only does 3 things:
- lookup the cache entry
- get the cache entry
- require the class file
Can you elaborate how this could be optimized?
Updated by Helmut Hummel almost 11 years ago
Rupert Germann wrote:
In both cases we see that either file_get_contents() or Memcach::get() is the most expensive function.
The memcache backend is also not optimal here. Can you check the performance with an APC backend?
Updated by Helmut Hummel almost 11 years ago
Numbers from my Server for incl wall time of loadClass
- SimpleFileBackend: 61,557
- ApcBackend: 23,505
APC is roughly 3 times faster
Updated by Helmut Hummel almost 11 years ago
- Status changed from New to Needs Feedback
Updated by Helmut Hummel almost 11 years ago
- Status changed from Needs Feedback to New
Updated by Ingo Schmitt almost 11 years ago
- Parent task changed from #52949 to #55073
Updated by Rupert Germann almost 11 years ago
Yes, indeed APC is way faster here.
But the point is: I don't want to use accelerators just to make a site usable.
In case I really need an accelerator because my site has a huge load than I'm already out of options.
Updated by Mathias Schreiber almost 10 years ago
- Status changed from New to Resolved
composer classloader solves this
Updated by Riccardo De Contardi about 7 years ago
- Status changed from Resolved to Closed