SlideShare a Scribd company logo
varnish
• HTTP accelerator
 • reverse proxy
 • cache
• very fast
 • very much faster than squid
• open source
Outsources tasks

• architecture relies on kernel functions
• threads
 • massively multithreaded
 • part event driven
• mmap
mmap
• maps the store into memory
 • (or alternatively use jemalloc)
   • (makes kswapd use 100% cpu -- bad
      linux)
• madvise(MADV_RANDOM)
• writev directly from mapped memory

Recommended for you

WiredTiger In-Memory vs WiredTiger B-Tree
WiredTiger In-Memory vs WiredTiger B-TreeWiredTiger In-Memory vs WiredTiger B-Tree
WiredTiger In-Memory vs WiredTiger B-Tree

This document summarizes a presentation about the WiredTiger In-Memory storage engine for MongoDB compared to the standard WiredTiger B-Tree storage engine. The Percona Memory Engine can provide up to 1000 times faster performance for OLTP workloads and 10 times faster reads compared to WiredTiger by storing data entirely in memory instead of on disk. It uses WiredTiger's document-level locking and B-Tree structure but without disk access. Typical use cases for the in-memory engine include caching, session storage, and temporary collections. The presentation provides examples of how to configure and optimize the engine for different scenarios including replica sets, sharded clusters, and combining it with WiredTiger for persistence.

memorywiredtigermongodb
Varnish Web Accelerator
Varnish Web AcceleratorVarnish Web Accelerator
Varnish Web Accelerator

Varnish is an HTTP proxy and cache designed for high-performance web applications. It has a key-value store architecture and is written in C for performance. Varnish uses Varnish Configuration Language (VCL) scripts to control caching and backend configuration. It has a multithreaded design with worker processes that handle client connections and caching of responses from backend servers. Administrators can use tools like varnishstat, varnishlog, and varnishadm to monitor caches, view logs, and control the Varnish instance.

What is new in BIND 9.11?
What is new in BIND 9.11?What is new in BIND 9.11?
What is new in BIND 9.11?

It goes without saying that DNS is only as secure as its servers. To ensure the successful and secure operation of a DNS server, secure configuration is paramount. The new BIND 9 version 9.11 is a major version of the popular DNS server, released in August by ISC. In this webinar Mr. Carsten Strotmann will demonstrate new features such as: - Catalog Zones, - dnssec-keymgr, new *rndc* functions - CDS/CDNSKEY auto generation - Negative Trust Anchor - DNS cookies -Refuse “any” -and more.

binddnssecbind 9
4725 SessionOpen c xxx.xxx.xxx.xxx 1441 :80
                                                  mmap logfile
 4774 ReqEnd      - 0 1245712664.794090033 1245712664.794090033 0.003499746 0.000000000 0.000000000
 4774 StatSess - xxx.xxx.xxx.xxx 1442 0 1 0 0 0 0 0 0
 4749 SessionOpen c xxx.xxx.xxx.xxx 2748 :80
10216 ReqStart c xxx.xxx.xxx.xxx 51324 1570384079
10216 RxRequest c GET
10216 RxURL        c /runescape/images/4/4c/Defence_cape.gif
10216 RxProtocol c HTTP/1.1
10216 RxHeader c Accept: */*
10216 RxHeader c Referer: http://runescape.wikia.com/wiki/Defence_cape
10216 RxHeader c Accept-Language: en-gb
10216 RxHeader c UA-CPU: x86
10216 RxHeader c Accept-Encoding: gzip, deflate
10216 RxHeader c User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; FunWebProducts; GTB6; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET




                                                     • log all headers
CLR 3.0.30618; OfficeLiveConnector.1.3; OfficeLivePatch.0.0)
10216 RxHeader c Host: images3.wikia.nocookie.net
10216 RxHeader c Connection: Keep-Alive
10216 VCL_call c recv
10216 VCL_acl      c NO_MATCH SJC



                                                     • mmap logfile mlocked! (start as root)
10216 VCL_acl      c MATCH LON xxx.xxx.xxx.xxx
10216 VCL_return c lookup
10216 VCL_call c hash
10216 VCL_return c hash
10216 Hit       c 1216457642



                                                     • ringbuffer
10216 VCL_call c hit
10216 VCL_return c deliver
10216 Length      c 1851
10216 VCL_call c deliver
10216 VCL_acl      c NO_MATCH LON



                                                     • put it on tmpfs since kernel is
10216 VCL_acl      c NO_MATCH SJC
10216 VCL_acl      c NO_MATCH IOWA
10216 VCL_return c deliver
10216 TxProtocol c HTTP/1.1


                                                             retarded
10216 TxStatus c 200
10216 TxResponse c OK
10216 TxHeader c Cache-Control: max-age=30
10216 TxHeader c Content-Type: image/gif
10216 TxHeader c ETag: "209654623"
10216 TxHeader c Last-Modified: Thu, 12 Mar 2009 04:58:56 GMT
10216 TxHeader c Server: lighttpd/1.4.18
10216 TxHeader c Content-Length: 1851
61+09:08:16                                                             varnish9
Hitrate ratio:  10    16   16
Hitrate avg: 0.9274 0.9286 0.9286

 1554133248         377.00       293.05 Client connections accepted
 3978072764         867.00       750.11 Client requests received
 3614483333         801.00       681.55 Cache hits
   11639361         0.00        2.19 Cache hits for pass
  325788549         61.00        61.43 Cache misses
  182821195         19.00        34.47 Backend connections success



                                                                      varnishstat
     25954      0.00         0.00 Backend connections failures
  175872686         19.00        33.16 Backend connections reuses
  176615269         14.00        33.30 Backend connections recycles
     35452        .         . N struct sess_mem
     52444        .         . N struct sess
    2605151         .        . N struct object
    2532375         .        . N struct objecthead
    5293878         .        . N struct smf
     48126        .         . N small free smf
     33357        .         . N large free smf
       93     .           . N struct vbe_conn
      1427      .          . N struct bereq
      2000      .          . N worker threads
      2000     0.00          0.00 N worker threads created
      6447     0.00          0.00 N overflowed work requests
     13496      0.00         0.00 N dropped work requests
       19     .           . N backends
  163660934           .        . N expired objects
 1101311441             .       . N LRU moved objects
      2034     0.00          0.00 HTTP header overflows
 2296939595         419.00       433.12 Objects sent with write
 1554124359         368.00       293.05 Total Sessions
 3978485680         863.00       750.19 Total Requests
varnishhist




| cache hit
# cache miss
MEMLOCK=90000
DAEMON_OPTS="-a :80 
   -T localhost:6082 
   -s file,/var/lib/varnish,140GB
    -f /etc/varnish/wikia.vcl 
    -u varnish 
    -g users 
    -p obj_workspace=4096 
    -p sess_workspace=131072 
    -p listen_depth=8192 
    -p ping_interval=2 
    -p log_hashstring=off 
    -h classic,250007 
    -p thread_pool_max=8000 
    -p lru_interval=60 
    -p esi_syntax=0x00000003 
    -p sess_timeout=10 
    -p thread_pools=8 
    -p thread_pool_min=500 
    -p shm_workspace=32768 
    -p srcaddr_ttl=0
    -p thread_pool_add_delay=1"

Recommended for you

Advanced RAC troubleshooting: Network
Advanced RAC troubleshooting: NetworkAdvanced RAC troubleshooting: Network
Advanced RAC troubleshooting: Network

This document discusses network considerations for Real Application Clusters (RAC). It describes the different network types used, including public, private, storage, and backup networks. It discusses protocols like TCP and UDP used for different traffic. It also covers concepts like network architecture, layers, MTU, jumbo frames, and tools for monitoring network performance like netstat, ping, and traceroute.

arc networkprivate networkrac
VUG5: Varnish at Opera Software
VUG5: Varnish at Opera SoftwareVUG5: Varnish at Opera Software
VUG5: Varnish at Opera Software

How we use Varnish at Opera Software, from the beginning (2009) to now. Presentation hold for the 5th Varnish Users Group meeting (VUG5) held in Paris on March 22nd 2012.

cachevarnishweb
Varnish 4 cool features
Varnish 4 cool featuresVarnish 4 cool features
Varnish 4 cool features

This is not a full Varnish 4 presentation. Only the most “wow” features and “must-know” differences from Varnish 3. ...and some random cool stuff.

varnishvclvarnish 4
MEMLOCK=90000
DAEMON_OPTS="-a :80 
   -T localhost:6082 
   -s file,/var/lib/varnish,140GB
    -f /etc/varnish/wikia.vcl 
    -u varnish 
    -g users 
    -p obj_workspace=4096 
    -p sess_workspace=131072 
    -p listen_depth=8192 
    -p ping_interval=2 
    -p log_hashstring=off 
    -h classic,250007 
    -p thread_pool_max=8000 
    -p lru_interval=60 
    -p esi_syntax=0x00000003 
    -p sess_timeout=10 
    -p thread_pools=8 
    -p thread_pool_min=500 
    -p shm_workspace=32768 
    -p srcaddr_ttl=0
    -p thread_pool_add_delay=1"
vcl

• Configuration language
• Transcoded into C
• Compiled
• Dynamically loaded
 • So you can embed assembly code :)
https://svn.wikia-code.com/utils/varnishhtcpd/wikia.vcl
sub vcl_recv {

     # normalize Accept-Encoding to reduce vary
     if (req.http.Accept-Encoding) {
       if (req.http.User-Agent ~ "MSIE 6") {
         unset req.http.Accept-Encoding;
       } elsif (req.http.Accept-Encoding ~ "gzip") {
         set req.http.Accept-Encoding = "gzip";
       } elsif (req.http.Accept-Encoding ~ "deflate") {
         set req.http.Accept-Encoding = "deflate";
       } else {
         unset req.http.Accept-Encoding;
       }
     }
     # clean out requests sent via curls -X mode and LWP
     if (req.url ~ "^http://") {
       set req.url = regsub(req.url, "http://[^/]*","");
     }

#only care about some cookies
  set req.http.X-Orig-Cookie = req.http.Cookie;
  if(req.http.Cookie ~ "(session|UserID|UserName|Token|LoggedOut)") {
    # dont do anything, the user is logged in
  } else {
    # dont care about any other cookies
    unset req.http.Cookie;
  }

     if(server.ip ~ SJC) {
         set req.backend = wikia;
     } else {
       if (server.ip ~ LON) {
           set req.backend = london_to_iowa;
       } else {
           set req.backend = origin_html_sjc;
       }
 }
     set req.grace = 3600s;
     lookup;

}
sub vcl_pipe {
  # do the right XFF processing
  set bereq.http.X-Forwarded-For = req.http.X-Forwarded-For;
  set bereq.http.X-Forwarded-For = regsub(bereq.http.X-Forwarded-For, "$", ", ");
  set bereq.http.X-Forwarded-For = regsub(bereq.http.X-Forwarded-For, "$", client.ip);
  set bereq.http.Cookie = req.http.X-Orig-Cookie;
  set bereq.http.connection = "close";
}

sub vcl_hit {
  if (req.request == "PURGE") {
    set obj.ttl = 1s;
    set obj.grace = 5s;
    error 200 "Purged.";
  }
}

sub vcl_miss {

    if (req.request == "PURGE") {
      error 404 "Not purged";
    }

    set bereq.http.X-Forwarded-For = req.http.X-Forwarded-For;
    set bereq.http.X-Forwarded-For = regsub(bereq.http.X-Forwarded-For, "$", ", ");
    set bereq.http.X-Forwarded-For = regsub(bereq.http.X-Forwarded-For, "$", client.ip);

    # for nef needs to be generic
    set bereq.http.Cookie = req.http.X-Orig-Cookie;

}

Recommended for you

MongoDB – Sharded cluster tutorial - Percona Europe 2017
MongoDB – Sharded cluster tutorial - Percona Europe 2017MongoDB – Sharded cluster tutorial - Percona Europe 2017
MongoDB – Sharded cluster tutorial - Percona Europe 2017

This document provides guidance on deploying and upgrading a MongoDB sharded cluster. It discusses the components of a sharded cluster including config servers, shards, and mongos processes. It recommends a production deployment has at least 3 config servers, 3 nodes per shard replica set, and multiple mongos instances. The document outlines steps for deploying each component, including initializing replica sets and adding shards. It also provides a checklist for upgrading between minor and major versions, such as changes to configuration options, deprecated operations, and connectivity changes.

mongodbshardingpercona
Bind Peeking - The Endless Tuning Nightmare
Bind Peeking - The Endless Tuning NightmareBind Peeking - The Endless Tuning Nightmare
Bind Peeking - The Endless Tuning Nightmare

We are all told that we must use bind variables rather than literals in our code, and then are left to deal with the problems this causes. This issue probably still causes more performance tuning problems than any other. This presentation discusses how Oracle has handled the optimisation of statements using bind variables from version 8i to the new features in Oracle 11g and highlights some issues that still exist in version 11g.

pennybind peekingoracle
Oracle 10g Performance: chapter 09 enqueues
Oracle 10g Performance: chapter 09 enqueuesOracle 10g Performance: chapter 09 enqueues
Oracle 10g Performance: chapter 09 enqueues

This document discusses different types of enqueue waits caused by locks in an Oracle database. It covers common lock names like TX, TM, and UL; lock modes like exclusive and share; and how to identify the waiter, blocker, lock type, and object being blocked using views like v$lock, v$session, and v$active_session_history. The key pieces of information needed to resolve lock waits are the session ID of the waiter, the lock mode, and the object being blocked. User locks like TX and TM locks result from transactions and table modifications, while internal locks govern objects like redo and reusable objects.

tuningperformanceoracle
# if there isnt an expiry
   if (!resp.status == 304) {
     C{
        char *cache = VRT_GetHdr(sp, HDR_REQ, "016cache-control:");
        char date[40];
        int max_age;
        int want_equals = 0;
        if(cache) {

     while(*cache != '0') {

        if (want_equals && *cache == '=') {

          cache++;

          max_age = strtoul(cache, 0, 0);

          break;

        }


         if (*cache == 'm' && !memcmp(cache, "max-age", 7)) {

           cache += 7;

           want_equals = 1;

           continue;

         }

         cache++;

        }

        if (max_age) {

           TIM_format(TIM_real() + max_age, date);

           VRT_SetHdr(sp, HDR_RESP, "010Expires:", date, vrt_magic_string_end);

        }
           }
        }C
             #;
    }

    deliver;
}
tips
• noatime
• ext2 (need a journal for your cache?)
• no swap
• tmpfs for logfile
• raid0
• force a few second ttl to save the backend
• SSDs!
Varnish @ Velocity Ignite
Varnish @ Velocity Ignite

Recommended for you

Advanced percona xtra db cluster in a nutshell... la suite plsc2016
Advanced percona xtra db cluster in a nutshell... la suite plsc2016Advanced percona xtra db cluster in a nutshell... la suite plsc2016
Advanced percona xtra db cluster in a nutshell... la suite plsc2016

This is a tutorial I gave with my colleague Kenny Gryp at Percona Live 2016 in Santa Clara Percona XtraDB Cluster is a high availability and high scalability solution for MySQL clustering. Percona XtraDB Cluster integrates Percona Server with the Galera synchronous replication library in a single product package, which enables you to create a cost-effective MySQL cluster. For three years at Percona Live, we've introduced people to this technology... but what's next? This tutorial continues your education, and targets users that already have experience with Percona XtraDB Cluster and want to go further. This tutorial will cover the following topics: - Bootstrapping in details - certification errors, understanding and preventing them - Replication failures, how to deal with them - Secrets of Galera Cache - Mastering flow control - Understanding and verifying replication throughput - How to use WAN replication - Implications of consistent reads - Backups - Load balancers and proxy protocol

perconapxcmysql
Integration of neutron, nova and designate how to use it and how to configur...
Integration of neutron, nova and designate  how to use it and how to configur...Integration of neutron, nova and designate  how to use it and how to configur...
Integration of neutron, nova and designate how to use it and how to configur...

This document discusses integrating Neutron, Nova, and Designate for DNS resolution and configuration. It provides three use cases: 1) floating IPs are published with associated port DNS attributes, 2) floating IPs are published directly in an external DNS service, and 3) ports are published directly in an external DNS service. It also covers configuring Neutron's internal DNS resolution, integrating with an external DNS service like Designate, and potential performance impacts of publishing ports directly to external DNS.

openstackneutrondesignate
How we use and deploy Varnish at Opera
How we use and deploy Varnish at OperaHow we use and deploy Varnish at Opera
How we use and deploy Varnish at Opera

The document describes the author's experience deploying and configuring Varnish caching at Opera over many years. Some key points discussed include: - Initial deployment in 2009 caching static assets for My Opera, which grew to serve 15% of requests - Troubleshooting issues like session mixing and unauthorized access - Implementing caching for dynamic pages like the front page while respecting cookies and languages - Decentralizing caching to multiple data centers for lower latency globally - Generating and caching thumbnails on-the-fly to handle frequent design changes - Developing a more generic "shields-up" configuration to cache unpopular content securely - Ongoing work caching APIs and content on other

devopsdeploymentvarnish
Varnish @ Velocity Ignite
Varnish @ Velocity Ignite
wikia

• 4 datacenters
• built our own CDN        mbit for lost finale
• rapid invalidations
• rabbitmq for invalids
• backend independant of
  traffic spikes
• Intel MLC SSDs           london datacenter
more info
• varnish.projects.linpro.no
• #varnish on irc.linpro.no
• http://varnish.projects.linpro.no/wiki/
  ArchitectNotes
• https://svn.wikia-code.com/utils/
  varnishhtcpd/wikia.vcl

Recommended for you

Lets crash-applications
Lets crash-applicationsLets crash-applications
Lets crash-applications

In this session, the following topics have been discussed: code snippets that can generate memory leak, thread leak, CPU spike, unresponsiveness, BLOCKED threads, Deadlocks, Heavy I/O activity. If you can understand what triggers these problems, diagnosing and solving them might become easier.

confoomontrealapplication crash
A close encounter_with_real_world_and_odd_perf_issues
A close encounter_with_real_world_and_odd_perf_issuesA close encounter_with_real_world_and_odd_perf_issues
A close encounter_with_real_world_and_odd_perf_issues

This document discusses a performance issue where a database experienced high CPU usage in the kernel mode. Tracing tools identified that detaching from multiple shared memory segments during connection release was causing the high CPU. The database server had a NUMA architecture, causing the database instance to create multiple shared memory segments across NUMA nodes. Increasing the shared memory size limit did not resolve it, as the instance was optimizing for NUMA.

high kernel mode cpuhigh kernel mode cpu 2hung rac cluster
Designate Installation Workshop
Designate Installation WorkshopDesignate Installation Workshop
Designate Installation Workshop

This workshop was given in Vancouver B.C. in May 2015 at the OpenStack Summit In this interactive workshop, the Designate team will walk attendees through the installation and configuration of Designate on a virtual machine. Attendees will leave with an understanding of the various components of Designate, including the new services such as the MiniDNS and Pool Manager, and with a working single-VM install on their laptops. Attendees will learn: Designate Architecture 101 How to Install and Configure Designate How to perform day to day Designate operations tasks End user usage of the API, CLI and Horizon UI Tips and Tricks for using Designate Contributing to Designate 101

designateopenstackdns

More Related Content

What's hot

Redo internals ppt
Redo internals pptRedo internals ppt
Redo internals ppt
Riyaj Shamsudeen
 
Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016
StackIQ
 
Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016
StackIQ
 
WiredTiger In-Memory vs WiredTiger B-Tree
WiredTiger In-Memory vs WiredTiger B-TreeWiredTiger In-Memory vs WiredTiger B-Tree
WiredTiger In-Memory vs WiredTiger B-Tree
Sveta Smirnova
 
Varnish Web Accelerator
Varnish Web AcceleratorVarnish Web Accelerator
Varnish Web Accelerator
Rahul Ghose
 
What is new in BIND 9.11?
What is new in BIND 9.11?What is new in BIND 9.11?
What is new in BIND 9.11?
Men and Mice
 
Advanced RAC troubleshooting: Network
Advanced RAC troubleshooting: NetworkAdvanced RAC troubleshooting: Network
Advanced RAC troubleshooting: Network
Riyaj Shamsudeen
 
VUG5: Varnish at Opera Software
VUG5: Varnish at Opera SoftwareVUG5: Varnish at Opera Software
VUG5: Varnish at Opera Software
Cosimo Streppone
 
Varnish 4 cool features
Varnish 4 cool featuresVarnish 4 cool features
Varnish 4 cool features
Emanuelis Norbutas
 
MongoDB – Sharded cluster tutorial - Percona Europe 2017
MongoDB – Sharded cluster tutorial - Percona Europe 2017MongoDB – Sharded cluster tutorial - Percona Europe 2017
MongoDB – Sharded cluster tutorial - Percona Europe 2017
Antonios Giannopoulos
 
Bind Peeking - The Endless Tuning Nightmare
Bind Peeking - The Endless Tuning NightmareBind Peeking - The Endless Tuning Nightmare
Bind Peeking - The Endless Tuning Nightmare
Sage Computing Services
 
Oracle 10g Performance: chapter 09 enqueues
Oracle 10g Performance: chapter 09 enqueuesOracle 10g Performance: chapter 09 enqueues
Oracle 10g Performance: chapter 09 enqueues
Kyle Hailey
 
Advanced percona xtra db cluster in a nutshell... la suite plsc2016
Advanced percona xtra db cluster in a nutshell... la suite plsc2016Advanced percona xtra db cluster in a nutshell... la suite plsc2016
Advanced percona xtra db cluster in a nutshell... la suite plsc2016
Frederic Descamps
 
Integration of neutron, nova and designate how to use it and how to configur...
Integration of neutron, nova and designate  how to use it and how to configur...Integration of neutron, nova and designate  how to use it and how to configur...
Integration of neutron, nova and designate how to use it and how to configur...
Miguel Lavalle
 
How we use and deploy Varnish at Opera
How we use and deploy Varnish at OperaHow we use and deploy Varnish at Opera
How we use and deploy Varnish at Opera
Cosimo Streppone
 
Lets crash-applications
Lets crash-applicationsLets crash-applications
Lets crash-applications
Tier1 app
 
A close encounter_with_real_world_and_odd_perf_issues
A close encounter_with_real_world_and_odd_perf_issuesA close encounter_with_real_world_and_odd_perf_issues
A close encounter_with_real_world_and_odd_perf_issues
Riyaj Shamsudeen
 
Designate Installation Workshop
Designate Installation WorkshopDesignate Installation Workshop
Designate Installation Workshop
Graham Hayes
 
Percona Toolkit for Effective MySQL Administration
Percona Toolkit for Effective MySQL AdministrationPercona Toolkit for Effective MySQL Administration
Percona Toolkit for Effective MySQL Administration
Mydbops
 
Make Your Life Easier With Maatkit
Make Your Life Easier With MaatkitMake Your Life Easier With Maatkit
Make Your Life Easier With Maatkit
MySQLConference
 

What's hot (20)

Redo internals ppt
Redo internals pptRedo internals ppt
Redo internals ppt
 
Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016Introduction to Stacki at Atlanta Meetup February 2016
Introduction to Stacki at Atlanta Meetup February 2016
 
Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016Salesforce at Stacki Atlanta Meetup February 2016
Salesforce at Stacki Atlanta Meetup February 2016
 
WiredTiger In-Memory vs WiredTiger B-Tree
WiredTiger In-Memory vs WiredTiger B-TreeWiredTiger In-Memory vs WiredTiger B-Tree
WiredTiger In-Memory vs WiredTiger B-Tree
 
Varnish Web Accelerator
Varnish Web AcceleratorVarnish Web Accelerator
Varnish Web Accelerator
 
What is new in BIND 9.11?
What is new in BIND 9.11?What is new in BIND 9.11?
What is new in BIND 9.11?
 
Advanced RAC troubleshooting: Network
Advanced RAC troubleshooting: NetworkAdvanced RAC troubleshooting: Network
Advanced RAC troubleshooting: Network
 
VUG5: Varnish at Opera Software
VUG5: Varnish at Opera SoftwareVUG5: Varnish at Opera Software
VUG5: Varnish at Opera Software
 
Varnish 4 cool features
Varnish 4 cool featuresVarnish 4 cool features
Varnish 4 cool features
 
MongoDB – Sharded cluster tutorial - Percona Europe 2017
MongoDB – Sharded cluster tutorial - Percona Europe 2017MongoDB – Sharded cluster tutorial - Percona Europe 2017
MongoDB – Sharded cluster tutorial - Percona Europe 2017
 
Bind Peeking - The Endless Tuning Nightmare
Bind Peeking - The Endless Tuning NightmareBind Peeking - The Endless Tuning Nightmare
Bind Peeking - The Endless Tuning Nightmare
 
Oracle 10g Performance: chapter 09 enqueues
Oracle 10g Performance: chapter 09 enqueuesOracle 10g Performance: chapter 09 enqueues
Oracle 10g Performance: chapter 09 enqueues
 
Advanced percona xtra db cluster in a nutshell... la suite plsc2016
Advanced percona xtra db cluster in a nutshell... la suite plsc2016Advanced percona xtra db cluster in a nutshell... la suite plsc2016
Advanced percona xtra db cluster in a nutshell... la suite plsc2016
 
Integration of neutron, nova and designate how to use it and how to configur...
Integration of neutron, nova and designate  how to use it and how to configur...Integration of neutron, nova and designate  how to use it and how to configur...
Integration of neutron, nova and designate how to use it and how to configur...
 
How we use and deploy Varnish at Opera
How we use and deploy Varnish at OperaHow we use and deploy Varnish at Opera
How we use and deploy Varnish at Opera
 
Lets crash-applications
Lets crash-applicationsLets crash-applications
Lets crash-applications
 
A close encounter_with_real_world_and_odd_perf_issues
A close encounter_with_real_world_and_odd_perf_issuesA close encounter_with_real_world_and_odd_perf_issues
A close encounter_with_real_world_and_odd_perf_issues
 
Designate Installation Workshop
Designate Installation WorkshopDesignate Installation Workshop
Designate Installation Workshop
 
Percona Toolkit for Effective MySQL Administration
Percona Toolkit for Effective MySQL AdministrationPercona Toolkit for Effective MySQL Administration
Percona Toolkit for Effective MySQL Administration
 
Make Your Life Easier With Maatkit
Make Your Life Easier With MaatkitMake Your Life Easier With Maatkit
Make Your Life Easier With Maatkit
 

Viewers also liked

Apache Cassandra Training,Apache Cassandra Training in Bangalore india
Apache Cassandra Training,Apache Cassandra Training in Bangalore indiaApache Cassandra Training,Apache Cassandra Training in Bangalore india
Apache Cassandra Training,Apache Cassandra Training in Bangalore india
sharepointexpert
 
Webinar Cassandra Anti-Patterns
Webinar Cassandra Anti-PatternsWebinar Cassandra Anti-Patterns
Webinar Cassandra Anti-Patterns
Christopher Batey
 
(WEB204) Speeding Up Your Site's Performance with a Web Cache | AWS re:Invent...
(WEB204) Speeding Up Your Site's Performance with a Web Cache | AWS re:Invent...(WEB204) Speeding Up Your Site's Performance with a Web Cache | AWS re:Invent...
(WEB204) Speeding Up Your Site's Performance with a Web Cache | AWS re:Invent...
Amazon Web Services
 
Understanding Web Cache
Understanding Web CacheUnderstanding Web Cache
Understanding Web Cache
ProdigyView
 
Apache Cassandra Developer Training Slide Deck
Apache Cassandra Developer Training Slide DeckApache Cassandra Developer Training Slide Deck
Apache Cassandra Developer Training Slide Deck
DataStax Academy
 
Just use SSDs, really really.
Just use SSDs, really really.Just use SSDs, really really.
Just use SSDs, really really.
Artur Bergman
 
PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"
Uptime Technologies LLC
 
Full-Stack Development
Full-Stack DevelopmentFull-Stack Development
Full-Stack Development
Dhilipsiva DS
 
Web Proxy Server
Web Proxy ServerWeb Proxy Server
Web Proxy Server
Mohit Dhankher
 
Proxy Caches and Web Application Security
Proxy Caches and Web Application SecurityProxy Caches and Web Application Security
Proxy Caches and Web Application Security
Tim Bass
 
LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :)
Sascha Sambale
 
The Magic of Tuning in PostgreSQL
The Magic of Tuning in PostgreSQLThe Magic of Tuning in PostgreSQL
The Magic of Tuning in PostgreSQL
Ashnikbiz
 
Proxy Server
Proxy ServerProxy Server
Proxy Server
guest095022
 
Reverse proxy & web cache with NGINX, HAProxy and Varnish
Reverse proxy & web cache with NGINX, HAProxy and VarnishReverse proxy & web cache with NGINX, HAProxy and Varnish
Reverse proxy & web cache with NGINX, HAProxy and Varnish
El Mahdi Benzekri
 
12. Indexing and Hashing in DBMS
12. Indexing and Hashing in DBMS12. Indexing and Hashing in DBMS
12. Indexing and Hashing in DBMS
koolkampus
 
The MEAN stack - SoCalCodeCamp - june 29th 2014
The MEAN stack - SoCalCodeCamp - june 29th 2014The MEAN stack - SoCalCodeCamp - june 29th 2014
The MEAN stack - SoCalCodeCamp - june 29th 2014
Simona Clapan
 
The Future of Everything
The Future of EverythingThe Future of Everything
The Future of Everything
Charbel Zeaiter
 

Viewers also liked (17)

Apache Cassandra Training,Apache Cassandra Training in Bangalore india
Apache Cassandra Training,Apache Cassandra Training in Bangalore indiaApache Cassandra Training,Apache Cassandra Training in Bangalore india
Apache Cassandra Training,Apache Cassandra Training in Bangalore india
 
Webinar Cassandra Anti-Patterns
Webinar Cassandra Anti-PatternsWebinar Cassandra Anti-Patterns
Webinar Cassandra Anti-Patterns
 
(WEB204) Speeding Up Your Site's Performance with a Web Cache | AWS re:Invent...
(WEB204) Speeding Up Your Site's Performance with a Web Cache | AWS re:Invent...(WEB204) Speeding Up Your Site's Performance with a Web Cache | AWS re:Invent...
(WEB204) Speeding Up Your Site's Performance with a Web Cache | AWS re:Invent...
 
Understanding Web Cache
Understanding Web CacheUnderstanding Web Cache
Understanding Web Cache
 
Apache Cassandra Developer Training Slide Deck
Apache Cassandra Developer Training Slide DeckApache Cassandra Developer Training Slide Deck
Apache Cassandra Developer Training Slide Deck
 
Just use SSDs, really really.
Just use SSDs, really really.Just use SSDs, really really.
Just use SSDs, really really.
 
PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"PostgreSQL Query Cache - "pqc"
PostgreSQL Query Cache - "pqc"
 
Full-Stack Development
Full-Stack DevelopmentFull-Stack Development
Full-Stack Development
 
Web Proxy Server
Web Proxy ServerWeb Proxy Server
Web Proxy Server
 
Proxy Caches and Web Application Security
Proxy Caches and Web Application SecurityProxy Caches and Web Application Security
Proxy Caches and Web Application Security
 
LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :) LAMP is so yesterday, MEAN is so tomorrow! :)
LAMP is so yesterday, MEAN is so tomorrow! :)
 
The Magic of Tuning in PostgreSQL
The Magic of Tuning in PostgreSQLThe Magic of Tuning in PostgreSQL
The Magic of Tuning in PostgreSQL
 
Proxy Server
Proxy ServerProxy Server
Proxy Server
 
Reverse proxy & web cache with NGINX, HAProxy and Varnish
Reverse proxy & web cache with NGINX, HAProxy and VarnishReverse proxy & web cache with NGINX, HAProxy and Varnish
Reverse proxy & web cache with NGINX, HAProxy and Varnish
 
12. Indexing and Hashing in DBMS
12. Indexing and Hashing in DBMS12. Indexing and Hashing in DBMS
12. Indexing and Hashing in DBMS
 
The MEAN stack - SoCalCodeCamp - june 29th 2014
The MEAN stack - SoCalCodeCamp - june 29th 2014The MEAN stack - SoCalCodeCamp - june 29th 2014
The MEAN stack - SoCalCodeCamp - june 29th 2014
 
The Future of Everything
The Future of EverythingThe Future of Everything
The Future of Everything
 

Similar to Varnish @ Velocity Ignite

Varnish in action pbc10
Varnish in action pbc10Varnish in action pbc10
Varnish in action pbc10
Combell NV
 
Varnish - PLNOG 4
Varnish - PLNOG 4Varnish - PLNOG 4
Varnish - PLNOG 4
Leszek Urbanski
 
Varnish in action phpuk11
Varnish in action phpuk11Varnish in action phpuk11
Varnish in action phpuk11
Combell NV
 
Debugging linux issues with eBPF
Debugging linux issues with eBPFDebugging linux issues with eBPF
Debugging linux issues with eBPF
Ivan Babrou
 
Varnish in action phpday2011
Varnish in action phpday2011Varnish in action phpday2011
Varnish in action phpday2011
Combell NV
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande Modem
Cyber Security Alliance
 
Windows kernel debugging workshop in florida
Windows kernel debugging   workshop in floridaWindows kernel debugging   workshop in florida
Windows kernel debugging workshop in florida
Sisimon Soman
 
Quic illustrated
Quic illustratedQuic illustrated
Quic illustrated
Alexander Krizhanovsky
 
Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)
Ontico
 
Как понять, что происходит на сервере? / Александр Крижановский (NatSys Lab.,...
Как понять, что происходит на сервере? / Александр Крижановский (NatSys Lab.,...Как понять, что происходит на сервере? / Александр Крижановский (NatSys Lab.,...
Как понять, что происходит на сервере? / Александр Крижановский (NatSys Lab.,...
Ontico
 
Haproxy - zastosowania
Haproxy - zastosowaniaHaproxy - zastosowania
Haproxy - zastosowania
Łukasz Jagiełło
 
Open stack pike-devstack-tutorial
Open stack pike-devstack-tutorialOpen stack pike-devstack-tutorial
Open stack pike-devstack-tutorial
Eueung Mulyana
 
Top-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptxTop-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptx
Tier1 app
 
Percona Live UK 2014 Part III
Percona Live UK 2014  Part IIIPercona Live UK 2014  Part III
Percona Live UK 2014 Part III
Alkin Tezuysal
 
Nodejs性能分析优化和分布式设计探讨
Nodejs性能分析优化和分布式设计探讨Nodejs性能分析优化和分布式设计探讨
Nodejs性能分析优化和分布式设计探讨
flyinweb
 
Data Streaming Ecosystem Management at Booking.com
Data Streaming Ecosystem Management at Booking.com Data Streaming Ecosystem Management at Booking.com
Data Streaming Ecosystem Management at Booking.com
confluent
 
Using Libtracecmd to Analyze Your Latency and Performance Troubles
Using Libtracecmd to Analyze Your Latency and Performance TroublesUsing Libtracecmd to Analyze Your Latency and Performance Troubles
Using Libtracecmd to Analyze Your Latency and Performance Troubles
ScyllaDB
 
DUG'20: 12 - DAOS in Lenovo’s HPC Innovation Center
DUG'20: 12 - DAOS in Lenovo’s HPC Innovation CenterDUG'20: 12 - DAOS in Lenovo’s HPC Innovation Center
DUG'20: 12 - DAOS in Lenovo’s HPC Innovation Center
Andrey Kudryavtsev
 
Fundamentals of Physical Memory Analysis
Fundamentals of Physical Memory AnalysisFundamentals of Physical Memory Analysis
Fundamentals of Physical Memory Analysis
Dmitry Vostokov
 
PLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providers
PLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providersPLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providers
PLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providers
PROIDEA
 

Similar to Varnish @ Velocity Ignite (20)

Varnish in action pbc10
Varnish in action pbc10Varnish in action pbc10
Varnish in action pbc10
 
Varnish - PLNOG 4
Varnish - PLNOG 4Varnish - PLNOG 4
Varnish - PLNOG 4
 
Varnish in action phpuk11
Varnish in action phpuk11Varnish in action phpuk11
Varnish in action phpuk11
 
Debugging linux issues with eBPF
Debugging linux issues with eBPFDebugging linux issues with eBPF
Debugging linux issues with eBPF
 
Varnish in action phpday2011
Varnish in action phpday2011Varnish in action phpday2011
Varnish in action phpday2011
 
Reverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande ModemReverse engineering Swisscom's Centro Grande Modem
Reverse engineering Swisscom's Centro Grande Modem
 
Windows kernel debugging workshop in florida
Windows kernel debugging   workshop in floridaWindows kernel debugging   workshop in florida
Windows kernel debugging workshop in florida
 
Quic illustrated
Quic illustratedQuic illustrated
Quic illustrated
 
Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)Performance tweaks and tools for Linux (Joe Damato)
Performance tweaks and tools for Linux (Joe Damato)
 
Как понять, что происходит на сервере? / Александр Крижановский (NatSys Lab.,...
Как понять, что происходит на сервере? / Александр Крижановский (NatSys Lab.,...Как понять, что происходит на сервере? / Александр Крижановский (NatSys Lab.,...
Как понять, что происходит на сервере? / Александр Крижановский (NatSys Lab.,...
 
Haproxy - zastosowania
Haproxy - zastosowaniaHaproxy - zastosowania
Haproxy - zastosowania
 
Open stack pike-devstack-tutorial
Open stack pike-devstack-tutorialOpen stack pike-devstack-tutorial
Open stack pike-devstack-tutorial
 
Top-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptxTop-5-production-devconMunich-2023-v2.pptx
Top-5-production-devconMunich-2023-v2.pptx
 
Percona Live UK 2014 Part III
Percona Live UK 2014  Part IIIPercona Live UK 2014  Part III
Percona Live UK 2014 Part III
 
Nodejs性能分析优化和分布式设计探讨
Nodejs性能分析优化和分布式设计探讨Nodejs性能分析优化和分布式设计探讨
Nodejs性能分析优化和分布式设计探讨
 
Data Streaming Ecosystem Management at Booking.com
Data Streaming Ecosystem Management at Booking.com Data Streaming Ecosystem Management at Booking.com
Data Streaming Ecosystem Management at Booking.com
 
Using Libtracecmd to Analyze Your Latency and Performance Troubles
Using Libtracecmd to Analyze Your Latency and Performance TroublesUsing Libtracecmd to Analyze Your Latency and Performance Troubles
Using Libtracecmd to Analyze Your Latency and Performance Troubles
 
DUG'20: 12 - DAOS in Lenovo’s HPC Innovation Center
DUG'20: 12 - DAOS in Lenovo’s HPC Innovation CenterDUG'20: 12 - DAOS in Lenovo’s HPC Innovation Center
DUG'20: 12 - DAOS in Lenovo’s HPC Innovation Center
 
Fundamentals of Physical Memory Analysis
Fundamentals of Physical Memory AnalysisFundamentals of Physical Memory Analysis
Fundamentals of Physical Memory Analysis
 
PLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providers
PLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providersPLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providers
PLNOG 4: Leszek Urbański - A modern HTTP accelerator for content providers
 

Recently uploaded

How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
Lidia A.
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
rajancomputerfbd
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
Andrey Yasko
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
Larry Smarr
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
jackson110191
 

Recently uploaded (20)

How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
WPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide DeckWPRiders Company Presentation Slide Deck
WPRiders Company Presentation Slide Deck
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
Choose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presenceChoose our Linux Web Hosting for a seamless and successful online presence
Choose our Linux Web Hosting for a seamless and successful online presence
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
 
The Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU CampusesThe Increasing Use of the National Research Platform by the CSU Campuses
The Increasing Use of the National Research Platform by the CSU Campuses
 
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdfINDIAN AIR FORCE FIGHTER PLANES LIST.pdf
INDIAN AIR FORCE FIGHTER PLANES LIST.pdf
 

Varnish @ Velocity Ignite

  • 2. • HTTP accelerator • reverse proxy • cache • very fast • very much faster than squid • open source
  • 3. Outsources tasks • architecture relies on kernel functions • threads • massively multithreaded • part event driven • mmap
  • 4. mmap • maps the store into memory • (or alternatively use jemalloc) • (makes kswapd use 100% cpu -- bad linux) • madvise(MADV_RANDOM) • writev directly from mapped memory
  • 5. 4725 SessionOpen c xxx.xxx.xxx.xxx 1441 :80 mmap logfile 4774 ReqEnd - 0 1245712664.794090033 1245712664.794090033 0.003499746 0.000000000 0.000000000 4774 StatSess - xxx.xxx.xxx.xxx 1442 0 1 0 0 0 0 0 0 4749 SessionOpen c xxx.xxx.xxx.xxx 2748 :80 10216 ReqStart c xxx.xxx.xxx.xxx 51324 1570384079 10216 RxRequest c GET 10216 RxURL c /runescape/images/4/4c/Defence_cape.gif 10216 RxProtocol c HTTP/1.1 10216 RxHeader c Accept: */* 10216 RxHeader c Referer: http://runescape.wikia.com/wiki/Defence_cape 10216 RxHeader c Accept-Language: en-gb 10216 RxHeader c UA-CPU: x86 10216 RxHeader c Accept-Encoding: gzip, deflate 10216 RxHeader c User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; FunWebProducts; GTB6; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET • log all headers CLR 3.0.30618; OfficeLiveConnector.1.3; OfficeLivePatch.0.0) 10216 RxHeader c Host: images3.wikia.nocookie.net 10216 RxHeader c Connection: Keep-Alive 10216 VCL_call c recv 10216 VCL_acl c NO_MATCH SJC • mmap logfile mlocked! (start as root) 10216 VCL_acl c MATCH LON xxx.xxx.xxx.xxx 10216 VCL_return c lookup 10216 VCL_call c hash 10216 VCL_return c hash 10216 Hit c 1216457642 • ringbuffer 10216 VCL_call c hit 10216 VCL_return c deliver 10216 Length c 1851 10216 VCL_call c deliver 10216 VCL_acl c NO_MATCH LON • put it on tmpfs since kernel is 10216 VCL_acl c NO_MATCH SJC 10216 VCL_acl c NO_MATCH IOWA 10216 VCL_return c deliver 10216 TxProtocol c HTTP/1.1 retarded 10216 TxStatus c 200 10216 TxResponse c OK 10216 TxHeader c Cache-Control: max-age=30 10216 TxHeader c Content-Type: image/gif 10216 TxHeader c ETag: "209654623" 10216 TxHeader c Last-Modified: Thu, 12 Mar 2009 04:58:56 GMT 10216 TxHeader c Server: lighttpd/1.4.18 10216 TxHeader c Content-Length: 1851
  • 6. 61+09:08:16 varnish9 Hitrate ratio: 10 16 16 Hitrate avg: 0.9274 0.9286 0.9286 1554133248 377.00 293.05 Client connections accepted 3978072764 867.00 750.11 Client requests received 3614483333 801.00 681.55 Cache hits 11639361 0.00 2.19 Cache hits for pass 325788549 61.00 61.43 Cache misses 182821195 19.00 34.47 Backend connections success varnishstat 25954 0.00 0.00 Backend connections failures 175872686 19.00 33.16 Backend connections reuses 176615269 14.00 33.30 Backend connections recycles 35452 . . N struct sess_mem 52444 . . N struct sess 2605151 . . N struct object 2532375 . . N struct objecthead 5293878 . . N struct smf 48126 . . N small free smf 33357 . . N large free smf 93 . . N struct vbe_conn 1427 . . N struct bereq 2000 . . N worker threads 2000 0.00 0.00 N worker threads created 6447 0.00 0.00 N overflowed work requests 13496 0.00 0.00 N dropped work requests 19 . . N backends 163660934 . . N expired objects 1101311441 . . N LRU moved objects 2034 0.00 0.00 HTTP header overflows 2296939595 419.00 433.12 Objects sent with write 1554124359 368.00 293.05 Total Sessions 3978485680 863.00 750.19 Total Requests
  • 8. MEMLOCK=90000 DAEMON_OPTS="-a :80 -T localhost:6082 -s file,/var/lib/varnish,140GB -f /etc/varnish/wikia.vcl -u varnish -g users -p obj_workspace=4096 -p sess_workspace=131072 -p listen_depth=8192 -p ping_interval=2 -p log_hashstring=off -h classic,250007 -p thread_pool_max=8000 -p lru_interval=60 -p esi_syntax=0x00000003 -p sess_timeout=10 -p thread_pools=8 -p thread_pool_min=500 -p shm_workspace=32768 -p srcaddr_ttl=0 -p thread_pool_add_delay=1"
  • 9. MEMLOCK=90000 DAEMON_OPTS="-a :80 -T localhost:6082 -s file,/var/lib/varnish,140GB -f /etc/varnish/wikia.vcl -u varnish -g users -p obj_workspace=4096 -p sess_workspace=131072 -p listen_depth=8192 -p ping_interval=2 -p log_hashstring=off -h classic,250007 -p thread_pool_max=8000 -p lru_interval=60 -p esi_syntax=0x00000003 -p sess_timeout=10 -p thread_pools=8 -p thread_pool_min=500 -p shm_workspace=32768 -p srcaddr_ttl=0 -p thread_pool_add_delay=1"
  • 10. vcl • Configuration language • Transcoded into C • Compiled • Dynamically loaded • So you can embed assembly code :)
  • 11. https://svn.wikia-code.com/utils/varnishhtcpd/wikia.vcl sub vcl_recv { # normalize Accept-Encoding to reduce vary if (req.http.Accept-Encoding) { if (req.http.User-Agent ~ "MSIE 6") { unset req.http.Accept-Encoding; } elsif (req.http.Accept-Encoding ~ "gzip") { set req.http.Accept-Encoding = "gzip"; } elsif (req.http.Accept-Encoding ~ "deflate") { set req.http.Accept-Encoding = "deflate"; } else { unset req.http.Accept-Encoding; } } # clean out requests sent via curls -X mode and LWP if (req.url ~ "^http://") { set req.url = regsub(req.url, "http://[^/]*",""); } #only care about some cookies set req.http.X-Orig-Cookie = req.http.Cookie; if(req.http.Cookie ~ "(session|UserID|UserName|Token|LoggedOut)") { # dont do anything, the user is logged in } else { # dont care about any other cookies unset req.http.Cookie; } if(server.ip ~ SJC) { set req.backend = wikia; } else { if (server.ip ~ LON) { set req.backend = london_to_iowa; } else { set req.backend = origin_html_sjc; } } set req.grace = 3600s; lookup; }
  • 12. sub vcl_pipe { # do the right XFF processing set bereq.http.X-Forwarded-For = req.http.X-Forwarded-For; set bereq.http.X-Forwarded-For = regsub(bereq.http.X-Forwarded-For, "$", ", "); set bereq.http.X-Forwarded-For = regsub(bereq.http.X-Forwarded-For, "$", client.ip); set bereq.http.Cookie = req.http.X-Orig-Cookie; set bereq.http.connection = "close"; } sub vcl_hit { if (req.request == "PURGE") { set obj.ttl = 1s; set obj.grace = 5s; error 200 "Purged."; } } sub vcl_miss { if (req.request == "PURGE") { error 404 "Not purged"; } set bereq.http.X-Forwarded-For = req.http.X-Forwarded-For; set bereq.http.X-Forwarded-For = regsub(bereq.http.X-Forwarded-For, "$", ", "); set bereq.http.X-Forwarded-For = regsub(bereq.http.X-Forwarded-For, "$", client.ip); # for nef needs to be generic set bereq.http.Cookie = req.http.X-Orig-Cookie; }
  • 13. # if there isnt an expiry if (!resp.status == 304) { C{ char *cache = VRT_GetHdr(sp, HDR_REQ, "016cache-control:"); char date[40]; int max_age; int want_equals = 0; if(cache) { while(*cache != '0') { if (want_equals && *cache == '=') { cache++; max_age = strtoul(cache, 0, 0); break; } if (*cache == 'm' && !memcmp(cache, "max-age", 7)) { cache += 7; want_equals = 1; continue; } cache++; } if (max_age) { TIM_format(TIM_real() + max_age, date); VRT_SetHdr(sp, HDR_RESP, "010Expires:", date, vrt_magic_string_end); } } }C #; } deliver; }
  • 14. tips • noatime • ext2 (need a journal for your cache?) • no swap • tmpfs for logfile • raid0 • force a few second ttl to save the backend • SSDs!
  • 19. wikia • 4 datacenters • built our own CDN mbit for lost finale • rapid invalidations • rabbitmq for invalids • backend independant of traffic spikes • Intel MLC SSDs london datacenter
  • 20. more info • varnish.projects.linpro.no • #varnish on irc.linpro.no • http://varnish.projects.linpro.no/wiki/ ArchitectNotes • https://svn.wikia-code.com/utils/ varnishhtcpd/wikia.vcl