Login or Register

RSS IconRecent posts in this topic

avatar Staff
Ilija Studen on Nov 5. 2006. 7:15 am
J Lane brought up a performance issue in comments on Wrapping up 0.7. My answer got a bit long so I decided to start a new discussion about performance where I'll explain how things are working and what we'll do in the future.

Interesting things about PHP performance is that a simple thing such is enabling opcode cache can bring such performance improvements that any code intervention can't. We can spend 60 hours on performance improvements, change stuff and get 20% faster code (with some application design tradeoffs), but it will never beet 100 - 400% performance improvements that opcode caching or good memory cache can bring.

Please, don't get me wrong, I do care about performance but I'm not the performance freak. activeCollab is made to ease the development by using best development practices (OOP, abstraction layers etc), not to be the fastest thing around. That is how things are now and how they will be in the future.

Good thing is that new code is designed to take all advantages that system can give to make execution faster (opcode caching, output caching, query caching, caching on database abstraction level...) Next version of activeCollab will be faster, but you'll never be able to compete with WordPress or TextPattern in the shared environment. Level of complexity and design approaches are different.

Web services (J Lane mentioned Basecamp) are fast because they are hosted on specially designed platforms (load balancers, application servers, database server, caching...). Check out Complex hosting on Tilted (don't overlook the pricing). activeCollab on shared hosting will never be able to compete with any application ran on such a platform.

If you are interested in the topic you should read A HOWTO on Optimizing PHP. There you can find more than enough info about the matter.
activeCollab team member | LinkedIn
avatar
anianem on Nov 7. 2006. 3:31 pm
Thanks Ilija. I've actually been quite impressed by the speed of my install. Starts to struggle at 200+ users but up till then all is good.

I'll give the Optimizing article a read.
avatar
bloom on Nov 8. 2006. 10:58 am
I'm running aC 07 rc2 on dreamhost and seeing VERY slow responses. I've only got a dozen or so users and 20-ish projects. There are a lot of milestones and tasks though.

Is anyone else having problems with Dreamhost? It's taking 30 seconds or more to get to the next screen.
avatar
tjsingleton on Jan 5. 2007. 9:13 am
Ilija Studen:
If you are interested in the topic you should read A HOWTO on Optimizing PHP.


Just wanted to encourage people to read that article as it is really informative.

Have you done any load testing? I'm just curious.
avatar Staff
Ilija Studen on Jan 5. 2007. 11:02 am
tjsingleton:
Have you done any load testing? I'm just curious.


No, I haven't. Its still something that requires a fully working system and I'm not there yet with 0.7.5...
activeCollab team member | LinkedIn
avatar
ryan.doherty on Feb 1. 2007. 11:08 pm
Another aspect to consider for performance is *perceived* performance. I've noticed that activeCollab has a lot of CSS and JS files. Combining all of them into 1 file would probably speed up rendering.

Example, to view the dashboard, it took 282ms to download index.php. It then took another full second to download the CSS files. Then another second to download the JS. Then some more time to download all the images. (I realize part of this depends on connection speed, latency, etc)

Collapsing all the JS files into 1 file and the CSS files into 1 file would probably shave off a second. You could also take all the 'file', 'message' and 'milestone' gifs and put them in 1 gif and use CSS to display only the part you want.

And yeah, opcode caching is the way to go for server side performance increases. Where I work it's mandatory.

Check these out if you want more info:
http://yuiblog.com/blog/2006/11/28/performance-research-part-1/
http://yuiblog.com/blog/2007/01/04/performance-research-part-2/

BTW, I'm hoping to start working on activeCollab, it's a great app already!
avatar Staff
Ilija Studen on Feb 2. 2007. 9:18 am
Hi Ryan,

You are 100% right about that. One of the greatest performance killers are separate HTTP requests - inclusion of large number of HTML or CSS files. I'll look for a solution to this problem.
activeCollab team member | LinkedIn
avatar
anianem on Feb 5. 2007. 12:35 pm
Is zend optimizer an opcode cache?
avatar Staff
Ilija Studen on Feb 5. 2007. 12:43 pm
Now this is interesting :) http://www.ipersec.com/index.php?q=en/bench_ea_vs_apc

One of the comments from that page.

>> Zend Optimizer only optimizes opcodes (and does it great).
>> It does not cache opcodes. Performance is much better with
>> an opcode cache (apc/eA/Zend Platform) than with Zend
>> Optimiser alone.
activeCollab team member | LinkedIn
avatar Pro
adamld on Feb 5. 2007. 7:08 pm
This is pretty interesting. My priority 1 is stability, 2 is performance.
Topic is locked. If you have something important to say about issues discussed on this page please write at hi@a51dev.com.

RSS IconRecent posts in this topic