This blog..

.. is about optimisation that isn't evil.

Recent Comments

    Improving speed of https pages

    When it comes to secure sites, it’s not easier to achieve a fast loading page.

    There are a few points that really help:

    • Connections over HTTPS are more expensive compared to an uncompressed connection. So especially try to reduce the number of required connections. And assure keep-alive is active – even a very short time helps (it is used with HTTP1.1 automatically – usually).
    • Connections over HTTPS are encrypted per user. Public caching infrastructure (like a companies proxy) is not able to buffer content closer to the user. Requests always go to the server.
    • Even worse, browsers won’t save cached items to the hard disk. For security reasons, that makes sense. But on a modern website, most of the content is actually not required to be secure. But again, for security reasons, all the content must be transfered encrypted. But you can tell the (modern) browsers which of the transfered files may be cached on the hard disk with the Cache-Control: public Header. Decide which files actually don’t have confidential information and can be cached. In most cases this will be static files that are the same for all users. Deliver these with the Cache-Control: public header.
    • If you’re required to support a large userbase of deprecated browsers (like in a corporate environment), prepare for a long frustrating research. It helps to use a HTTPS Traffic sniffer like Fiddler.
    • Of course, a secure site also should fulfil the performance tuning basics.

    Why good web app performance rocks

    In this article, Steve talks about the impacts (he has commulated some interesting numbers from other blogs) and recent trends in the web app performance industry.

    He also references a video from a Fred Wilson (a NY tech investor) speech. Guess what: From the “10 Golden Principles of Successful Web Apps”, in his opinion performance is number one.

    The most fun part of his article definetly is:

    Netflix – Adopting a single optimization, gzip compression, resulted in a 13-25% speedup and cut their outbound network traffic by 50%.

    Guys, please read Performance First Aid: Basics! Using compression is the norm for like … 10 years?

    Velocity 2010

    Velocity 2010, Web Performance & Operations Conference is just over.

    The slides for some of the talks already are available online. Some of the web performance talks are quite interesting:
    Continue reading Velocity 2010

    yum install iostat

    Sometimes you’re working on a machine and miss a certain tool. In my case, it was iostat I missed on a Red Hat server. iostat is a useful tool for a quick look at the I/O statistics of a unix/linux based machine.

    Looking for a convenient way to install iostat, my first idea was to yum

    Continue reading yum install iostat

    JVM options

    If you’re motivated (or desperate) enough to dive into the mysteries of the JVM, this (somewhat old) list will be helpful:

    http://blogs.sun.com/watt/resource/jvm-options-list.html

    Also, a good link list is available at the end of that page.

    Use different servers for different content

    Most of the content of web pages can be grouped in two types: Static and dynamic content.

    These content types have different requirements on the server software.

    Removing unused CSS whitespace with ant replaceregexp

    If common CSS compressors are not working for you, it may be a more defensive approach to reduce the filesize of a CSS file with simple regular expression replacement. For this example, I chose Apache Ant to shrink the CSS files.

    The approach is to remove unused whitespace and linebreaks, but not to alter the CSS

    Continue reading Removing unused CSS whitespace with ant replaceregexp

    Browser performance wishlist

    Steve Souders, author of “High Performance Web Sites” from O’Reilly, has a wishlist in his blog that lists the most important changes to browsers that would improve performance. Not actually helpful for solutions today, but it gives a good overview on what is a problem right now. And what can be a solution tomorrow.

    Among the

    Continue reading Browser performance wishlist

    Simple solution for a static-ressources domain

    A well understood pattern of increasing frontend performance of a web application is to deliver static ressources from a different domain. Preferably free of any cookies to save additional bandwidth, the browser can download more of these files in parallel.

    Sometimes the adjustments in the application required to achieve this are complicated and have a deep

    Continue reading Simple solution for a static-ressources domain

    Removing unused whitespace with mod_substitute

    Unnecessary whitespace comes from many sources: It’s added from developers to have a readable code (required!), it’s added from frameworks (oh well), it’s added from auto-formatting of your ide (and 4 tabs may end as 32 spaces), and maybe it’s added from other tools in your development chain. In the development cycle whitespace is important,

    Continue reading Removing unused whitespace with mod_substitute