Friday, September 19, 2014

How not to check if Varnish is working.

Our new Varnish clients who choose to install everything themselves want a way to verify if it's working - and often fall in the same trap: they use the website which has good SEO and promises to be an easy way to check if everything is running correctly.
Most often the answer is "Nope" - indicating that Varnish isn't operating - even thought the cache is running. I checked I can work around that - maybe they're doing some simple check that can be passed with a minor modification to the VCL file.
Unfortunately, I've found out that the data presented on this website is completely useless - the headers they show to visitors are different from actual headers sent by the server!
You can see that yourself below:
The headers shows

Actual headers, as seen by wget

I don't understand what's the point of building a service showing fake HTTP headers.

When testing, just use the Network tab in developer tools in your browser, or wget/wbox if you're a command line user.

Thursday, June 19, 2014

Patch for 3.3.1

Joomla! 3.3.1 changed some of the patched code, so the patches from 3.3.0 won't work with 3.3.1. Existing users need to ask for the new version (for free, as usually).

Tuesday, June 17, 2014

VividCortex review

EDIT: Baron Schwartz kindly asked me to remove this blog post. I'm not going to do this, but I agree it was too harsh, it's my fault I didn't read the terms of service I was going to review.

Back story: I reviewed free trial of a service. The legal document I accepted when registering did not allow trial users to publish their reviews. They contacted me about it and you can see my original reaction below. I don't think this is the best way to promote a product, but it's just my personal opinion, and Baron - being an experienced blogger - claims it's normal practice.

Remember, kids: use only Free Software if you don't want any trouble!

There was a 3 pages long VividCortex review here, but they said writing a public review violates their ToS unless they accept it. If they don't want free publicity, I don't care and wish them all the best promoting their product this way.

Friday, May 16, 2014

Varnish 4 support and benchmark

A Varnish4-ready configuration file for the Varnish-Joomla pack is now ready. We also made a little benchmark. TLDR: there are no significant differences between Varnish 3 and Varnish 4.

The Varnish under load has been a 2-core VPS with 1GB RAM. Varnish 3.0.4 from repos has been tested against Varnish 4.0.0 built from a source tarball. Both were configured in an identical way, except from the VCL of course. There was Joomla 3.3 behind Varnish, and cache has been pre-warmed before testing in both cases.

The machine generating load has been a 6-core hardware server with 32 GB RAM. The software used to generate load was the Apache Benchmark.

The machines were in different data centers owned by the same company, the traffic has been routed via internal network (6 hops, 2ms ping). Both machines were connected using a gigabit ethernet card. Bandwidth usage has been around 500 Mbit/s at all time. Traffic volume has been bound by CPU usage on the Varnish machine with system load approaching 20 at the end of the test for both Varnish versions.

Both Varnish versions performed similarly. It was worrying that Varnish 4 had a number of failed connections - the test has been repeated more than one time, and the failed connections always were there. This did not happen with Varnish 3.

Without further ado: Varnish 3 and Varnish 4 results from AB.

If you need help building the new Varnish from source, converting your configuration or vmods, or anything else Varnish-related, don't hesistate to contact us.

Tuesday, May 13, 2014

Varnish for Joomla! 3.3

The Varnish-Joomla pack has been upgraded to support Joomla! 3.3 which has been released last week. Existing clients are eligible for a free upgrade after contacting us.

Originally we planned this release to support Varnish 4 which has been released two weeks ago, but it was more work than expected and clients were more interested in Joomla 3.3 support.

Varnish 4 doesn't bring any significant performance gains for small-to-middle sized web sites, it has separate backend and frontend processing threads, which could be better in certain high-traffic scenarios. It looks like this release was more focused on cleaning up the Varnish Configuration Language and bringing log analysis features (which are awesome, by the way).

Tuesday, February 18, 2014

The future of Varnish-Joomla

We got a lot of questions recently about the Varnish-Joomla package and support for future Joomla versions. Of course the package is going to be still developed in foreseeable future, and Joomla 3.5 support is planned.
This larger than usual volume of questions made me try to get my hands on a copy of Joomla 3.5 development code - only to discover that there is none yet. The next release of Joomla will be version 3.3 and it will be released on the April Fool's Day. 3.5, the long-awaited Long Term Support release initially scheduled for March 2014, is postponed to October.
Long-time Joomla users are used to rapid changes of plans, and I can have a hassle-free summer (after releasing our software for 3.3 in April, of course).

Wednesday, January 8, 2014

e503 no service

Pound is a popular load balancer / SSL terminator. As it usually happens with open source programs, there is plenty of documentation and self-help available on the internet, but there's one error message I could not find. Pound denied access to the web site and logged the following message:

pound: (756000001700) e503 no service "GET / HTTP/1.1" from

I've found out that access to a service has been blocked by a HeadDeny directive. The specific problem was denying requests containing the X-Forwarded-For header - which blocked access by users behind proxies. Changing HeadDeny in service to a HeadRemove in listener fixed the problem.

Tuesday, January 7, 2014

Speed your HikaShop with Varnish

HikaShop is an e-commerce solution for Joomla. They have a pretty usable free edition, and reasonably priced commercial editions with support.
We worked together with the Hikari team to make our Varnish-Joomla integration work with all editions of their extension. The result of this work is available in version 1.3.1 of our package, which was out in November 2013.
No matter if your shop receives thousands or millions of view every day, your prospective clients deserve fast page loads. Visitors who don't have anything in their cart will enjoy viewing pages from cache, and more server processing power will remain for these who actually need it (visitors with items in their carts, visitors doing checkouts, your staff). Everybody wins.