Globo.com & Varnish

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    4 Favorites

    Globo.com & Varnish - Presentation Transcript

    1. HTTP accelerator Cachos 2.0 Luis Henrique Okama Tollef Fog Heen Mario Carvalho
    2. What is the problem? GET / HTTP/1.1 Hang on, I need to look up a few hundred things in my database and then do a lot of editing controlled by a scripting language HEAD / HTTP/1.1 Hang on, I need to look up a few hundred things in my database and then do a lot of editing controlled by a scripting language, and then I will throw the result away.
    3. Why are CMS-es slow? Complex content generation process Single database prevents clustering Expensive software ditto This means: we need server side caching
    4. Why are the existing solutions not good enough? Squid, ancient design, forward proxy Apache, not what it's built for, not what it's good at Akamai (and similar), expensive, vendor lock-in
    5. What is Varnish? Dedicated HTTP accelerator Focus on server-side speedups Policy control High performance Varnish Configuration Language Shared memory log
    6. High performance 11 syscalls + 7 locks for a cache hit Work with the OS, not against it. Multi-CPU, multi-core 64 bit Use advanced OS features: Accept filters madvise(MADV_RANDOM) kqueue, epoll Don't copy data if you don't have to Use workspaces, not malloc/free Compiled configuration
    7. Policy control Override TTLs Add, remove or change headers Strip cookies Rewrite URLs Invalidate objects in the cache
    8. Varnish Configuration Language Simple domain specific language Compiled via C language to binary Transparently! Dynamically loaded Multiple configs loaded concurrently Instant switch from one VCL to another. Can be done from VCL
    9. VCL Example acl some_acl { "10.0.0.0/8" } if (client.ip ~ some_acl) { pass; } if (req.http.host ~ "foo.com$") { set req.http.host = regsub(req.http.host, "foo.com", "bar.org"); } if (obj.valid) { set obj.ttl = 10m; deliver; }
    10. Shared memory logfile Fast Custom log tailers varnishtop varnishlog varnishhist varnishncsa varnishstat
    11. Globo.com cache infrastructure
    12. Comparative scalability setup time cost open source throughput physical space
    13. Comparative scalability setup time cost open source throughput physical space
    14. Comparative scalability setup time cost open source throughput physical space
    15. Comparative scalability setup time cost open source throughput physical space
    16. Comparative scalability setup time cost open source throughput physical space
    17. Comparative scalability setup time cost open source throughput physical space
    18. Comparative scalability setup time cost open source throughput physical space
    19. Some data
    20. Conclusion software customization work set
    21. Real life performance
    22. Questions
    23. Contacts Luis H. Okama okama@corp.globo.com (www.globo.com) Mario Carvalho mariocar@corp.globo.com (www.globo.com) Tollef Fog Heen tfheen@redpill-linpro.com (www.varnish-cache.com) @ Stand Globo.com

    + lokamalokama, 4 months ago

    custom

    698 views, 4 favs, 1 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 698
      • 679 on SlideShare
      • 19 from embeds
    • Comments 0
    • Favorites 4
    • Downloads 0
    Most viewed embeds
    • 19 views on http://ccasado.com

    more

    All embeds
    • 19 views on http://ccasado.com

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories