I just wrote a simple overview of PHP accelerators on our wiki. If you have been reading through all of my blog entries, you know that I am a huge fan of them. If you do not have one, I recommend that you get one.
Jacob
I just wrote a simple overview of PHP accelerators on our wiki. If you have been reading through all of my blog entries, you know that I am a huge fan of them. If you do not have one, I recommend that you get one.
Jacob
You missed one Jacob. I added it to the wiki. The Zend Optimizer which is free from zend.
Thanks. I was working on improving our use of External caches at the time that I wrote that (Zend Optimizer does not have one).
For the purpose of PHP op-code caching (resulting in massive speedup) Zend Optimizer is definitely strong.
4.5.0e is adding native support for APC out of process cache. I also added internal and external cache hit ratios at the bottom of the screen (if page resource tracking is turned on).
Jacob
Have you ever looked into memcache? There is a way with Smarty to actually store the cache in a memory cache accross multiple servers to provide a unified memory cache that is valid accross multiple servers. The cache used this way can yeld one huge memory based cache system that can be several hundreds of Gigabytes Not to mention it will drop the oldest cache items if it runs out of memory. but every time you access the cache it is freshened and becomes new again. so heavy hit Items stay in memory and some of the least used will get dropped to cache new Items.
I looked into it a long time ago....it was one of the reasons that we started the migration from XTemplate to Smarty. The external cache API is definately geared towards taking advantage of this kind of round trip memory store. We see huge benefits of storing data in memory cross round trip.
I will have to look into it again. Do you have a current pointer?
Jacob
Hello Jacob,
Yes, memcached is a distributed caching system and can be found at http://www.danga.com/memcached/
this systems is especially usefull for large online servers that have a need to store cache globally. for example multiple servers serving the same content that is loadballanced via round robin method.
There is a php extension at http://php.net/memcache
Last edited by kpit; 2006-10-18 at 04:23 PM.
memcached has a great API. I wish all of the accelerators had the ability to get extended status. One of the weaknesses in the current incarnation of external_cache is that it shuts off all caching when you make a change via studio. The current cache APIs do not have a way to selectively reset some of their content (there may be multiple Sugar installs) and they don't have a way to determine when a record was entered (I know exactly when the studio change was made).
It looks like memcached should work well with the external cache and may provide a more scalable option for large deployments. So far, I have been primarily capturing user agnostic data. With a more robust caching mechanism, I could eaisly see capturing a lot more of the data.
Thanks,
Jacob
Which of these accelerators is best for a Windows platform?
Cheers
David Younger
TSM - The Service Manager
http://www.theservicemanager.com
Operating system type and version: Windows 2003 Server
» Sugar Suite version 4.5.1e Professional
» Webserver type and version Microsoft-IIS/6.0
» PHP version 5.2.6
» MySQL server version 5.0.51a
Zend Optimizer has a windows version and will optimize execution perfomance and has the least compatability problems. Also by adding PECL json version 1.1.1 only, as any other version has compatability issues with SugarCRM.
Zend Optimizer is a safe one on Windows.
Zend Platform has a version for Windows. (what I am using on my Windows box).
APC should work on Windows, but I have recently heard of some people having issues.
eAccelerator works on windows.
Zend Platform and APC are both supported by 4.5.0e for external caching. This gives a huge performance boost.
As of 4.5.0, the JSON module does not help nearly as much as it used to. My caching API and implementation greatly reduced the need for it. For instance, before I started, json_encode used to take over 50% of the CPU (total time for it an all sub functions). After I was done with the cache, the same response was the 20th function in the list (sorted by total time).
Jacob
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks