freistilbox Blog

Newer articles « Page 14 of 17 » Older articles

Case study: SMSvonGesternNacht.de

Do you still remember these text messages you should not have sent last night? SMS von gestern Nacht (last night’s text message) does! The entertainment website publishes texts from its users that are simply too good, funny or rad to be read only by their original recipient.

SMSvonGesternNacht.de has been running on freistilbox since 2013. We thank the founding team for their following feedback:

Why we chose freistilbox

Our first contact with freistil IT was already in 2010 when they still offered their hosting under the name DrupalCONCEPT. We were looking for good hosting solutions for Drupal and had found freistil. Back then, we decided on a single managed server from another provider. Over the years, we extended it to a group of three servers. When we planned a relaunch in 2013, the Drupal experts from Palasthotel recommended a switch to the freistilbox hosting platform that they praised enthusiasticly.

Out of experience, we wanted to build on a proven and reliable solution. To learn the detail aspects of freistilbox, we invited Markus from freistil IT to our office in Berlin. In this meeting, we worked out that freistilbox would cover our needs very well. Its caching infrastructure, optimised for Drupal, promised high delivery performance for our many anonymous visitors. At the same time, the price was very attractive; we don’t pay significantly more for freistilbox today than we did previously for our managed servers. freistilbox brings additional advantages, too, for example the developer-friendly design and the fast technical support. The easy scalability is another important factor because our traffic grows steadily.

Our hosting setup

At launch, we started with a cluster of two freistilbox S. Since performance is more important to us than availability, we decided after a short time to switch to a single freistilbox M.

The launch

Our start with freistilbox was a very good experience. With one exception, everything worked out of the box. And the problem that our voting feature at first didn’t work because of the necessary extra cookie was quickly resolved by the freistil team with a custom cache configuration. The target-oriented way we discussed and solved this problem together with Palasthotel in a war room chat conducted by freistil IT significantly increased our trust in the team’s competence.

Daily operation

Hosting on freistilbox is fun because we don’t have to take care of anything. freistilbox simply works and we notice little of daily operations. Our questions usually are answered in much less than 24h and contact with the freistil IT technical support always is a pleasant experience.

If there is a problem eventually, someone immediately deals with it. At the end of 2013, our website suffered from network issues, today our availability is 99,9% even without redundant servers.

Since the launch on freistilbox, our traffic has more than doubled from about 18 million to 40 million page impressions per month. The highest traffic spike has been 1.5 million PI on a single day. The website still runs with full performance without us having to grow our configuration. We’re now considering allowing user logins which would probably require an expansion.

freistilbox leaves little to be desired. Comprehensive statistics that show how well our cluster is working would be a great additional feature, though.

freistilbox clearly holds up to its promise work efficiently, sleep peacefully. When the next vacation comes up, we’ll be able to go on holidays without worrying about our hosting.

Emergency support over the holidays

From this Saturday (2013-12-21) on, our team will be off recharging.

During the holiday time, we’ll only do emergency support. That means we’ll only handle outages and other incidents that impact the delivery of existing websites.

We’ll resume working on tasks that aren’t connected to such incidents on Monday, January 6th 2014.

So, if you plan to launch a new website over the holidays or need other kinds of assistance, please let us know immediately!

Merry christmas everyone!

Temporary file directories now come in two flavours

We’re now providing web applications with two variants of temporary file directories: one that is shared between boxes and a faster one that is stored locally on each node of a freistilbox cluster.

Our main goal with freistilbox is giving website developers maximum performance at minimum effort. Storage access is an important aspect in web performance tuning and it’s a good idea to avoid expensive disk operations whenever possible. That’s why we decided to store temporary files created by web applications locally. It’s obvious that writing to a local disk is by far faster than shipping them over a network connection to a shared storage.

We chose that approach under the premise that temporary files are only created and used during a single content request, for example for uploading a file, aggregating CSS code or compressing data. Under this condition, it doesn’t matter when the next request is handled by another cluster box that has its own separate temporary file directory.

Support requests we got over the recent weeks were a clear indication that this premise was wrong. As it turns out, there are situations where temporary files are expected to persist beyond the lifetime of a single content request.

As an example, there was the customer who noticed that batch operations of the “views_export” Drupal module delivered incomplete data. We found out that the batch process saves intermediate results to the temp space. Since the batch runs were distributed over their boxes, so were the result files. At the end of the batch process, the box doing the final run only found the files that were created on this particular box and so returned corrupted data.

In order to make sure that even temporary files are visible to all boxes in a consistent way, we decided to relocate them to the shared file storage. The default temporary file directory available at ../tmp, relative to the document root, is now shared.

Obviously this has a significant impact on performance: the data still has to be written to and read from disk, but now on multiple separate storage servers; and the data transfer over the network comes on top. For those customers that don’t need a shared temporary file directory but depend on speedy file handling, we now also provide an alternative in the form of ../tmp_local.

Oh, and we also put a cleanup process in place that makes sure that temporary files stay true to their name: Files that haven’t been touched for a week are removed automatically.

Meet me at DrupalCamp Cork!

I’m on my way to Dublin where I’ll take the AirCoach bus to Cork. For the coming two days, the local university will be the venue for DrupalCamp Cork. Judging from the list of participants, Drupalcamp Cork is going to be a nice, small gathering of Drupal users from all over Ireland. I like it already.

Tomorrow, I’ll participate actively by giving a talk. I’ve submitted it as “Building a high-performance system stack” but I’ll shorten the title to “Supercharging Drupal”. In this talk, I’ll cover the most common ways of optimizing Drupal performance on the hosting layer.

I’ll also see if there’s an opportunity to demonstrate how easy it is to launch a website on freistilbox.

If you’re in Cork for DrupalCamp, be sure to say hello to me! Who knows, I just might invite you for a beer. And if that’s not enough: Order your new freistilbox cluster during the conference through me and get the first month for free!

freistilbox just got more powerful

One of the most important keys to website performance is caching. That’s why freistilbox includes multiple caching services, first and foremost the Varnish HTTP cache. On our load balancers, Varnish stores all the content your web application allows to be cached. During the lifetime of the respective cache content, Varnish answers incoming requests right from its memory cache instead of forwarding them to the application boxes. This speeds up delivery by orders of magnitude.

But what about these requests that can’t be cached? Of course, not everything can be delivered from the cache all the time. Before it can be cached, content needs to be generated by your web application at least once in a while. So a certain percentage of web requests must be processed by your application. Each request your application receives is assigned to a single Processing Unit (PU). This PU then executes your application code in order to process and respond to the request.

The number of simultaneous requests that can be handled is limited by the total PU available to your freistilbox cluster which in turn depends on the size and number of boxes that make up your cluster. Up until now, these were the effective PU limits for our freistilbox sizes:*freistilbox S: 5 PU

  • freistilbox M: 15 PU
  • freistilbox L: 35 PU
  • freistilbox XL: 75 PU

After a number of small freistilbox setups experienced occasional overload, we realised that with 5 PU, a single freistilbox S just doesn’t have enough capacity for production websites (except the most static ones). Since modern web browsers open multiple connections to fetch different assets in parallel, even only a single visitor could use up all five available Processing Units and block the website for everyone else. That’s why we recently started to advise customers not to use a single freistilbox S for production websites.

That didn’t feel right, though. There shouldn’t be even a single freistilbox configuration that isn’t up to the task. So we decided to increase the PU limits on freistilbox S, M and L. The new specs are as follows:

  • freistilbox S: 10 PU (+5)
  • freistilbox M: 25 PU (+10)
  • freistilbox L: 40 PU (+5)

With 10 PU, a single freistilbox S still won’t be powerful enough to run a busy community website but it should now have enough capacity to reliably serve a medium website that has a decent cache hit ratio.

Oh, and all existing freistilbox customers have already been auto-upgraded!

freistilbox with more power — for the same price. What’s not to love?

What do you think? Leave us a comment below!

Newer articles « Page 14 of 17 » Older articles