Login or Register

RSS IconRecent posts in this topic

avatar
ryan.doherty on Feb 5. 2007. 7:19 pm
Considering how many files there are to activeCollab (the less includes the faster) and that it will most likely be used by small to medium companies, how much would something like APC or Zend Optimizer help? That and the most time-intensive tasks are DB and file manipulation.

If making activeCollab faster is a priority, profiling it would be extremely beneficial. Then you will know what you can do to speed it up.

-Ryan
avatar
anianem on Feb 6. 2007. 11:46 am
"eAccelerator has been reported to work with Zend Optimizer's loader. Zend Optimizer must be installed after eAccelerator in php.ini so it's loaded after eAccelerator.

If you don't use scripts encoded with Zend Encoder then we do not recommend installing Zend Optimizer with eAccelerator, and it won't give you any extra performance. "

Bugger - wish I had read this before I bothered installing EAccelerator!
avatar
ryan.doherty on Feb 6. 2007. 3:55 pm
Ilija Studen:
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.


You could have a build script that minifies the CSS and JS files, concatenates them into 1 file and adds them to public/assets/themes/THEME/stylesheets && public/assets/javascript.

You could also set the expires header to sometime far in the future to tell the browser not to download them again. This can cause problems when updating, the way we do it where I work is to rename the file to force an update.

Considering what people are complaining about (long wait times) I think this is not a huge priority.

-Ryan
avatar Staff
Ilija Studen on Feb 6. 2007. 8:56 pm
There are few options here.

1. One you mentioned - build script merge all CSS and JS files into one file. Easy way to keep everything up to date without renaming the file is to append modification time. It looks something like this:

http://www.example.com/style.css?1167819640

2. Use inline styles.. System simply reads stylesheet an prints it into style tag. That way there is only one HTTP request for HTML and CSS (JS can be also included, but that is not a good idea in most cases) and multiple requests for images (if any). This is used by applications like vBulletin and they power some pretty large communities.

Good thing is that there are options.
activeCollab team member | LinkedIn
avatar
ryan.doherty on Feb 7. 2007. 1:32 am
Ilija Studen:
There are few options here.

1. One you mentioned - build script merge all CSS and JS files into one file. Easy way to keep everything up to date without renaming the file is to append modification time. It looks something like this:

http://www.example.com/style.css?1167819640

2. Use inline styles.. System simply reads stylesheet an prints it into style tag. That way there is only one HTTP request for HTML and CSS (JS can be also included, but that is not a good idea in most cases) and multiple requests for images (if any). This is used by applications like vBulletin and they power some pretty large communities.

Good thing is that there are options.


Personally, I like #1 best because it's the what I'm familiar with. #2 isn't that bad, but it does have some overhead, mainly reading in the stylesheet and printing it out. That and increased bandwidth costs. It also doesn't save the user from reading a cached version. #1 has an initial download and extra HTTP request, but after that, it's read from the cache, benefiting the user.

#1 is good for a site that is often used as a homepage (like Yahoo!). When a browser is first loaded and downloads a web page, it requests EVERY file regardless of if it's cached or not. So it's better to do #1. After that, it's better to do #2.

-Ryan

avatar Staff
Ilija Studen on Feb 7. 2007. 1:49 am
I agree :)
activeCollab team member | LinkedIn
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