Daily del.icio.us for Jul 22, 2007 through Jul 26, 2007

Advertisement

Daily del.icio.us for Jul 21, 2007 through Jul 22, 2007

Daily del.icio.us for Jul 06, 2007

Daily del.icio.us for Jun 27, 2007 through Jul 06, 2007

Daily del.icio.us for May 20, 2007

  • Why hasn’t Tapestry been more widely adopted? – I still think that Tapestry is one of the best platforms to be developing your Web application on. Having said that I think that there are some issues that need to be addressed to help improve Tapestry?s adoption into the Java community
  • Flex Builder without Flex Builder – If your Flex workflow doesn?t include Flex Builder (ie. you work from the command line) you should check out FLEXible. It is a sweet Flex application by John Grden that lets you visually create your MXML for use in your Flex projects
  • Easy Test-Driven GUI Development – code & slides – After a few hours of wrestling with Google Groups, I could finally upload the source code, slides and movies (containing coding examples) for our JavaOne presentation
  • Greg Luck’s WebLog: Comparing Memcached and Ehcache Performance – In-process caching and asynchronous replication are a clear performance winner. Ehcache and other in-process caches are very widely used in the Java world. One thing I see happening is new languages reusing Java infrastructure
  • Enterprise Java Community: Spring is the New Java EE – Last but not least, next generation application servers from BEA, and maybe IBM, will be built on top of Spring. Am I the only one that finds this mind-blowing?

Daily del.icio.us for May 18, 2007 through May 20, 2007

Daily del.icio.us for Apr 03, 2007

PHP Acceleration – Pick Your Poison

As I deployed more applications and web sites on my server, I started running into resource issues. Since most of the applications I write are in Java, I run Tomcat on my Linux server. But I also run Apache as a front-end host for Tomcat as well as several PHP applications like WordPress, Vanilla and a few other PHP applications that I’ve written. I am not an expert PHP developer by any stretch of the imagination but I tinker with enough PHP that I decided to take a look at PHP Acceleration software.

For the uninitiated, PHP is a scripting language that is interpreted and compiled on the server side. PHP Accelerators offer caching of the PHP scripts in their compiled state along with optimization. There are several PHP optimization products out there and I decided to give eAccelerator, XCache and APC a try on my Linux machine. For the record, the box is running CentOS 4.4 which is essentially a distribution that is repackaged Red Hat Enterprise Linux 4.x.

  • eAccelerator – eAccelerator is a free open-source PHP accelerator, optimizer, and dynamic content cache. It increases the performance of PHP scripts by caching them in their compiled state, so that the overhead of compiling is almost completely eliminated. It also optimizes scripts to speed up their execution. eAccelerator typically reduces server load and increases the speed of your PHP code by 1-10 times.
  • XCache – XCache is a fast, stable PHP opcode cacher that has been tested and is now running on production servers under high load.
  • APC – The Alternative PHP Cache (APC) is a free and open opcode cache for PHP. It was conceived of to provide a free, open, and robust framework for caching and optimizing PHP intermediate code.

I compiled and installed these PHP accelerators and found APC worked the best for me. XCache seemed to work well and actually provided a nice admin application that lets you peek inside the cache to see what’s cached, the hit/miss ratio, etc. eAccelerator also seemed to work well and offered a great performance boost but caused segmentation fault and made the Apache web server unusable. It could have been bad PHP code that was causing the segmentation faults but I didn’t really spend any times getting to the root cause. APC just worked, pretty much like XCache but seemed to offer a little better performance. Now I didn’t really perform any empirical testing here – I simply relied on my website monitor GrabPERF as I ran each PHP extension for a few days. Your mileage may vary based on your server architecture, application, lunar phase, etc but PHP APC seemed to work the best for me.