Web server performance is a major hurdle in any web application performance. Apache web server is a great web server to serve static and dynamic pages. Combined with PHP, it becomes a winning combination, powering millions of websites around the globe.
As PHP pages are compiled than executed for each and every request, it consumes a significant amount of processor time for busy websites, thus creating a bottleneck. If processor is busy it will reduce server’s capacity to server more web requests per second.
Removing bottleneck
The solution to the issue is to use OPCode caching on web server. This saves the parsing, compilation time and a lot of I/O on each and every request. Read the rest of this entry »
June 18th, 2010 | Posted in Web Application Performance | No Comments
eAccelerator is a free, open source PHP accelerator, optimizer, and dynamic content cache, used to improve web server performance. It is a great tool which does not require change is existing php code. It stores PHP files in compiled state in shared memory and on next request it serves the request from compiled state cache. This saves a lot of parsing, compilation and I/O time.
Performance Impact on Web Server
eAccelerator can increase web application performance 1 – 10 times. It reduces the processor load and fasten the execution of php scripts. Read the rest of this entry »
June 18th, 2010 | Posted in Web Application Performance | No Comments

Business Intelligence practice is now becoming a crucial need for any growing business. Many vendors have jumped and released their Flagged Products for implementing Fast Business Intelligence like IBM Cognos, SAP Business Objects, Microsoft SQL Server Analysis Services, Pentaho etc. Here I would like to give a very short but very useful tutorial for developing Cube, Dimensions, Measures using Microsoft Business Intelligence Development Studio. Read the rest of this entry »
June 17th, 2010 | Posted in Business Intelligence | 1 Comment
Apache 2.2 has been out in year 2008, and just recently, 2.2.13 was released, enhancements and bug fixes introduced. Happily, 2.0 users are migrating to 2.2 due to the excellent performance on static pages.
Here, More exciting innovations found in 2.2 and perhaps peek at one or two of the more esoteric ones. These changes will surprise you.
SNI
SNI is the new feature in Apache 2.2.12, and you can now serve multiple SSL hosts off of one IP address. So there is issue with its documentation but it will resolve soon.
Till now the best documentation is available at http://wiki.apache.org/httpd/NameBasedSSLVHostsWithSNI.
Graceful Stop
There is an issue with old apache server, when stopped it will kill the all existing connection, but now there is an option for graceful restart. It is used to change the server setting without restarting the server. I will serve the current users, and new connections will come with new config Read the rest of this entry »
June 17th, 2010 | Posted in Web Application Performance | No Comments
To test performance of your web application there are several free sites available. Here are few you can try
- WebPageTest.org: My personal favorite, and used by me. Gives multiple locations, waterfall view of requests and good optimization tips to improve web application performance.
- PingDom.com: Gives basic tests for free, I don’t like is personally because it can’t handle images which have space in its name, shows these as not found,
- BrowserMob.com: Provides testing from multiple locations in US and Europe, provides stats for load time, object type breakup etc.
My favorite is webpagetest because its give multiple location in US, China, Europe and tests provides detailed analysis. I includes waterfall requests view, connection view, CPU usage and rendering time etc. Also equipped with forum where you can discuss test results and tips to improve and discuss web application performance.
June 16th, 2010 | Posted in Web Application Performance | No Comments
Magento provides a really handy options to scale well. The feature which i am going to talk about is very little know. Magento allows to add mysql slave server to put load of “read” queries on different server.
The mysql server has to do a lot of things like adding and updating records at high frequency, manage locks, conflicts etc etc. If we can get our server free from read only queries it can perform updates and other operations at fast pace. MySQL provides feature of Master Slave replication for this purpose. Read the rest of this entry »
June 16th, 2010 | Posted in Magento | No Comments
For large manufacturing and marketing companies getting ranked higher in natural searches can prove very cost effective and beneficial. Due to huge number of large and small site competing for the same, can make this very difficult to achieve, attaining and maintaining significant positions on thousands of keywords is a tough ask.

To maintain position a large amount of data needs to be processed and analyzed, like market search trends, competitor analysis etc etc. Lucky from time to time enterprise level tools keep popping up to help. Read the rest of this entry »
June 15th, 2010 | Posted in SEO | No Comments
A cache is a temporary collection of data where the original data is expensive to compute or read as compared to reading from the cache. In other words, a cache is a temporary storage area where frequently accessed data can be stored for rapid access.
Cache give two great advantages
- Significantly reduces the number of retrieval requests to database
- Cuts down the I/O access (hard disk)
Cache is widely used to improve web application performance. Following methods of caching are famous
- Flat file caching
- MySQL 4.x query caching
- Caching data in the database
- RAM disk
- Shared memory (APC)
- memcached
In this post will discuss about Memcache Read the rest of this entry »
June 15th, 2010 | Posted in Web Application Performance | No Comments
Most of us are aware of the famous rel=nofollow, which tells not follow the link. Actually this tells to the relationship between your page and the link to search engine. There are many other relation ships which can be used to tell search engine more about different pages and relationship in between.
I am listing few relationships which can be used to establish relationship with pages.
Putting “external” tells that link points to external site, and not part of the site Read the rest of this entry »
June 15th, 2010 | Posted in SEO | No Comments

Detecting Memory Leak in Java
Simple reason is for memory leaks in Java is due to poor application designs where garbage collector is unable to remove object references as they are referenced by static variables.
If you are getting java.lang.OutOfMemoryError that means either your Java heap does not have enough memory to create objects or there is a memory leak and there is not enough memory left to create more objects. Read the rest of this entry »
June 14th, 2010 | Posted in Java, Performance | No Comments