Showing posts with label varnish. Show all posts
Showing posts with label varnish. Show all posts

Monday, July 27, 2015

Varnish for Joomla maintenance release

It seems that with Joomla! 3.4.3, our patch for Varnish support could not be applied, so we made a maintenance release - as usually, available for free for the existing clients. There are no new features, so you won't need it unless you're planning to upgrade to Joomla! 3.4.3 or later.

Wednesday, March 11, 2015

Varnish for Joomla! 3.4

The latest Varnish Cache package for Joomla! v1.3.5 is available. Now you can accelerate Joomla CMS version 3.4.
Existing clients can contact us to get the new version for free.
If you're running a high traffic website and don't want to lose clients to downtime, perhaps we can interest you in our inexpensive server monitoring services?

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).

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).

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.

Tuesday, November 19, 2013

Varnish-Joomla Pack 1.3.1 with Joomla 3.2 support is out

New features:

  • Support for Joomla! 3.2
  • Support for HikaShop
Joomla! 3.2 support has been tested with core components and the following extensions:
  • JomSocial
  • Akeeba Backup
  • Admin Tools
  • Kunena Forum
  • Community Builder
  • HikaShop
Virtuemart does not support 3.2 (and never will), and that's the only reason why it's not included in the test. We continue to support it. As explained here, the patch for Joomla! 3.2 does not prevent creating new sessions for anonymous users. If you have a lot of cache misses caused by anonymous users, there will be an extra disk write operation per cache miss - if this concerns you, move your sessions to memcached or XCache.

Upgrade from 1.3.0 and 1.2.2: Just replace the default.vcl file. As always, the upgrade is free for existing users.

New users - order to speed up your Joomla! and its extensions.

Friday, November 15, 2013

Varnish for Joomla! 3.2 on its way

Varnish for Joomla 3.2 will be released next week. The plan was to release it this week, but Joomla 3.2 increased its dependence on sessions and the patch can not operate the same way it did before.
In previous versions, we did what we could to not even create sessions in the database, thus lowering the number of disk writes required to serve users' requests. Unfortunately it doesn't look like it's possible any more and the best we can do is not sending session cookies to the user.
This is a new approach and while it passes all internal tests against a vanilla Joomla install, it needs more testing with supported 3rd party components.
I'm sorry for the delay, we got many requests about 3.2 availability in the past two weeks.

Tuesday, November 5, 2013

Varnish-Joomla package 1.3.0 released, with cache purging

The new Varnish-Joomla package 1.3.0 is now available. New features include:

  • Purging cache when saving articles
  • Support for more Joomla! extensions and static file types
  • Improved cache hit rate because of Accept-Encoding normalization
  • Support for Piwik and CloudFlare
  • More debugging headers
The biggest news is cache purging - this means that the moment you save your article, it is visible to your visitors. Behind the curtains, our Joomla plugin connects to your Varnish and tells it to remove cached copies of the saved page, pages of categories it belongs to, and the front page. This feature is optional, you don't need to install the plugin if this is not the desired behavior.
The package has support for Joomla 2.5.4+, 3.0.x and 3.1.x, just like the previous version.
There is good news for our existing customers: the patch to Joomla core didn't change, all features are implemented with the Varnish VCL file and an easily installable Joomla plugin.
As usually, the upgrade is free, contact us to receive the latest package if you've already purchased it.

Thursday, October 24, 2013

Alternatives to mod_rpaf

For years, mod_rpaf has been the standard module for running Apache behind a reverse proxy. Fortunately, it's not the only one and there are alternatives.

  • mod_extract_forwarded which is available in EPEL, so it's available for CentOS systems without compling
  • mod_remoteip which is built into Apache 2.4 (but good luck finding a production server running 2.4)
  • mod_rpaf modified to support X-Forwarded-Proto/X-Forwarded-HTTPS/X-HTTPS

Monday, October 7, 2013

Thread creation error in Varnish

Today I installed Varnish on a pretty standard system (CentOS + WHM) and the service wouldn't start. The system log (/var/log/messages) contained the following:

Oct  7 04:15:46 server varnishd[20836]: Child (20846) Panic message: Assert error in WRK_BgThread(), cache_pool.c line 582:#012  Condition((pthread_create(thr, ((void *)0), wrk_bgthread, bt)) == 0) not true.#012errno = 11 (Resource temporarily unavailable)#012thread = (cache-main)#012ident = Linux,2.6.32-358.2.1.el6.x86_64,x86_64,-sfile,-smalloc,-hcritbit,no_waiter#012

The settings for number of processes and file descriptors in /etc/security/limits.{conf,d} were correct and it still didn't start. The problem turned out to be with stack size - I have no idea why this is happening in just this one system and works with every other centos, but the solution was as following:

1. Patch /etc/init.d/varnish adding a new ulimit call in start()

        # Stack size
        ulimit -s unlimited

2. Increase system limits in /etc/security/limits.conf accordingly

varnish         stack   soft            unlimited
varnish         stack   hard            unlimited

3. Restart Varnish

After successfully running Varnish this way, be sure to change the stack limit back to a reasonable size! Unlimited is not a very wise setting, but helps debugging the problem. Now Varnish and Joomla could happily work together.

Wednesday, September 4, 2013

Nextend modules for Joomla behind Varnish Cache

Nextend makes pretty and well-written modules for Joomla and Wordpress. I've optimized a website which uses one of them and it had a weird issue: sometimes the module would appear unstyled and CSS/JS files in the "media/nextend/cache/" directory returned 404. After reading some code the solution was obvious: Varnish was set to cache pages for at least 2 hours, while the Nextend module only cached it for 15 minutes, and deleted old files. Because every time it creates a new directory for updated cache content, it deletes old ones - cached HTML pages were referencing URLs which did not exist any more.

The solution was very simple: in Joomla admin go to Extensions - Plugins - Nextend Library, then click Configure in the Basic Options and set the cache time to the same value your Varnish installation uses. For the best Varnish + Joomla experience, see our offer.

Monday, April 29, 2013

Varnish-Joomla patch version 1.2.2 released

A new version of Varnish-Joomla patch is available. The most interesting news is Joomla! 3.1 support.

Other than that, patches for Joomla! 2.5 and 3.0 have been updated to the latest version of their respective families (2.5.11 and 3.0.4).

A bug pointed by Yves Lavoie has been fixed too. It could make the patched system error out in some rare circumstances.

If you're an existing customer, contact us to get the latest package.

If you're interested in purchasing the patch, please head to Order section of the product page: make your Joomla! faster

Tuesday, October 23, 2012

Varnish integration for Joomla! 3.0

A version of our Varnish-Joomla integration for Joomla! 3.0 is ready. It doesn't bring any significant updates to older Joomla! versions. The upgrade is free for customers who ordered an older version of this patch.

Varnish is a website accelerator which can help you handle hundreds of requests per second on your Joomla! site.

Thursday, May 10, 2012

Varnish-Joomla patch upgraded to 1.2.1

Varnish integration for Joomla! CMS is our solution for websites based on Joomla which have many page visits by anonymous users. It allows owners to serve even hundreds times more traffic without investing in hardware. Should I mention that it makes Joomla! fast, too?

One of our customers, Free Speaker Plans, was experiencing some issues with the patch he purchased from us. After a quick debugging session, it looked like forum software was not compatible with the patch. So I've modified the patch and now the forum component may run unmodified. If you've purchased an older version and have trouble running Kunena Forum, upgrade now!

At this point, I'd like to thank the webmaster of Free Speaker Plans for patiently testing my subsequent attempts at fixing the problem and providing rich feedback. Thank you!

Technical list of changes:

  • Support for Joomla < 2.5.4 has been abandoned

  • Fixed a bug introduced in 1.1, causing that pages calling Jerror::raise() raised a Fatal Error

  • JFactory is now creating a guest JUser object if anonymous session detected (fixes Kunena and possibly other social software)

  • There is no upgrade patch from 1.2 because of numerous Joomla core changes

Tuesday, January 31, 2012

Varnish/Joomla patch 1.2 in testing

We're testing the new version of Joomla support for Varnish HTTP accelerator. Version 1.2 is available for Joomla! 1.5 and 2.5. Take a look at the changelog.

1.1

Don't cache a page with error box - when JError::raise() is called or JDocumentRendererMessage is used, a header which forbids caching is being sent

1.2

Prevent displaying cached pages directly after logging in.

After successful login the user is usually redirected to referring page. In many cases the page is cached by browser, and contains a login form, thus causing confusion to the user. The problem is solved by adding a random GET variable called _rnd.

Thursday, January 12, 2012

Varnish/Joomla patch update

Our patch for making Joomla work with Varnish Cache has been upgraded today. It contained a rarely occuring bug causing pages with error boxes to be cached under certain conditions.

Because of this, regular visitors may see errors like the on below, even though they didn't try to log in:

The upgrade is free to all our customers who have purchased the patch.

Tuesday, December 20, 2011

Varnish and Joomla - how does it work?

Our most popular product, Varnish-Joomla integration, makes your website fly fast. But how does it achieve its goal?

Most visitors to virtually any website are anonymous visitors. These people don't log in, don't interact, they just view your content. In an e-commerce store they may be visitors who didn't buy anything. On a forum website they may be people who have found some thread on Google, read it and forget about it. On a newspaper site, readers who don't leave comments and don't have an account are considered anonymous visitors.

These visitors generate the most traffic. But they are also the easiest to handle, because all they want to do is read your content - so why serve their pages using full Joomla - PHP - MySQL - Apache stack, if they don't really utilize any of these in full?

We took advantage of that fact and we serve content to such users before they reach Joomla. We put a piece of software in front of Joomla which serves content to anonymous visitors from a very fast cache. If it encounters a visitor who's logged in, it forwards his request to Joomla so he gets a full experience.

If you don't believe - check the numbers. Varnish makes Joomla fast.

Thursday, November 10, 2011

Joomla website made fast - case study

I've just finished optimizing the infrastructure behind WomensForum.com. They have used our Joomla-Varnish package and a few hours of my website optimization consulting time. The amount of money they spent on optimization is comparable to monthly hosting fee for a big website.

While the website was usually fast before optimization, the server couldn't handle traffic spikes. At one point, there were more than 1500 requests per second - that's a lot for Joomla, but not for Varnish. Page load time was consistently low even during traffic spikes. Additionally, we have used the failover capability of Varnish to be less reliable on backend server failures. Speed up your website too.