Some time ago I wrote a post about using jMeter to benchmark performance of a web application. Apache jMeter is a great piece of software and I strongly recommend it but it’s not everything. You also need a high capacity bandwidth and a reliable hosts to run a test from. You often need more than a one testing server because it’s impossible to generate real concurrent connections from a single computer. The reason for that is a network interface can physically send only one packet at the time. People from BlazeMeter recognised this problem and created a web based service which makes the load testing very simple.
Continue reading “Load testing with BlazeMeter”
In my previous post I showed how to integrate Varnish Cache with a PHP application. The example can solve various simple problems but it might not be enough for a complex software. A good example is a multilingual application. One URL can have multiple caches. You might also need to know more about a user (is he logged in? has he received a notification? etc) to make some additional caching decisions.
Continue reading “Reading PHP session from Varnish Cache”
Varnish Cache is a web application accelerator. It stands in front of a web server and can cache any type of data. It stores data in memory and can speed up your application by a factor of 300-1000x depending on your architecture.
Continue reading “Integrating Varnish Cache with a PHP application”
Do you know what is a capacity of your website? It’s a tricky question to ask because what does it really mean? Every website has multiple user journeys. Each of them come with a different cost. The cost might be different for a different dataset or a software version. A good answer to this question requires solid investigation and the right tools.
Continue reading “Benchmark your software with JMeter”
“Cloud” become very ambiguous term and it can mean virtually anything those days. If you are not familiar with Solr Cloud think about it as one logical service hosted on multiple servers. Distributed architecture helps with scaling, fault tolerance, distributed indexing and generally speaking improves search capabilities.
All of that is very exciting and I’m highly impressed how the service is designed but… it’s relatively new product. If you play with the tutorial (which by the way is great) running multiple services on the same host does’t cause problems. Setting the service for production environment and using it is a different story. There are still some unresolved issues which can confuse for hours if not days.
Continue reading “Painless guide to Solr Cloud configuration”
Time is money. This somewhat shallow and overused saying fits perfectly well into any on-line business. Users are impatient and every millisecond brings them closer to leaving your website.
If you’ve ever been trying to squeeze more out of hardware you must have come across Nginx (engine x). Nginx usually appears in context of PHP-FPM (FastCGI Process Manager) and APC (Alternative PHP Cache). This setup is often pitched to be the ultimate combo for a web server but what that really means? How much faster a PHP application is going to be on a different web server? I had to check it and the answer as often is – that depends.
Continue reading “Apache2 vs Nginx for PHP application”
Everybody heard about Amazon Cloud. It has been around for a good few years. Despite its popularity not everybody had a chance to try it. Amazon tries it best to get more people on board by offering “Micro” versions of their web service for free. If you are into technology or just want a quality hosting for your website, it’s worth getting familiar with AWS. After all.. can you beat free?
Continue reading “Beginners guide to Amazon Cloud”