supercharge application delivery to satisfy users
DESCRIPTION
Users expect websites and applications to be quick and reliable. A slow user experience can have a significant impact on your business. Join us for this webinar where we will show you a number of ways you can use NGINX and other tools and techniques to supercharge your application delivery, including: - Client Caching - Content Delivery Networks (CDN) - OCSP stapling - Dynamic Content Caching View full webinar on demand at http://bit.ly/nginxsuperchargeTRANSCRIPT
![Page 1: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/1.jpg)
Supercharge application delivery to satisfy users
Owen Garrett
Nginx, Inc.
![Page 2: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/2.jpg)
About this webinar
Users expect websites and web apps to be quick and reliable. Yet, the rapid pace of technology and the growing number of device types can present challenges for developers. The good news is that there are a number of tools and techniques you can use to supercharge application delivery to satisfy your users. Join this webinar to learn about the impact of slow application delivery on user experience and business. Then see ways that NGINX can help, including: Ways to improve application load times, how to absorb flash floods of web traffic, when and how to take advantage of load balancing, and more.
![Page 3: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/3.jpg)
Who are you? Who am I?
• Introductions and poll
• Please use the Q&A for questions and comments
Owen GarrettHead ofProductsNginx, Inc.
Who?What?Where?
![Page 4: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/4.jpg)
First steps at Application Delivery
• Igor Sysoev
• Systems Administrator at Rambler.ru
– Apache admin and module developer
• Addressing the ‘C10K’ problem
– Developed front-end accelerator
– NGINX 0.1.0, released October 4th 2004
![Page 5: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/5.jpg)
WEB PERFORMANCE MATTERS
![Page 6: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/6.jpg)
Your users are in chargeYou may own the content and features, but your users are the ones in charge
They alone decide:
If you can’t provide your users with what they need, when they need it, they will go elsewhere.
If you page has not loaded within 3 seconds, up to 40% of your users will give up on you.
Which sites they visit The apps they needThe performance
they’ll tolerateWhen to give up
![Page 7: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/7.jpg)
Every user counts…
• It does not matter how busy your site is…
– Flash Crowd
– HTTP Post Attack, Slow Read Attack
… they don’t know or care!
“We want you to be able to flick from one page to another as quickly as you can flick a page on a book. So we’re really aiming very, very high here… at something like 100 milliseconds.”
Urs Hölzle, Senior VP Operations, Google
![Page 8: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/8.jpg)
What can you do?
![Page 9: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/9.jpg)
![Page 10: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/10.jpg)
Internet
4 opportunities to optimize
PythonRubynode.jsJava
Client Device Network Application Stack Code
![Page 11: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/11.jpg)
Improve performance on Client Device
• Reduce HTTP GETs and bandwidth:– Merge and reduce resources
– Smart control of client caching
• Rearrange resources to speed up rendering
• Your options:– Preprocess in Asset Pipeline
– In-app (Google Pagespeed)
– As-a-Service
![Page 12: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/12.jpg)
Improve performance on the Network
• Faster resource downloads:– Content Delivery Network
– Google SPDY
– OCSP stapling
• Your options:– Use a CDN
– Use NGINX+
![Page 13: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/13.jpg)
Improve performance of the Application Stack
• What do we mean?
• The ‘Application Stack’ bridges HTTP traffic to your code, APIs and Static content
Internet
Your code:• Python, Ruby,
node.js, Java
APIs• Internal and
External APIs
“Static” Content• On disk• In database
HTTP
![Page 14: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/14.jpg)
Three steps to a faster application
Optimize HTTP processing
Cache common responses
Be smart with your traffic
![Page 15: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/15.jpg)
Hundreds of concurrent connections…
require hundreds of heavyweight threads or processes…
competing for limited CPU and memory
What is the challenge with HTTP?
Client-side:Slow networkMultiple connectionsHTTP Keepalives
Server-side:Limited concurrency
![Page 16: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/16.jpg)
Let’s see it in action…
SlowHTTPTestcode.google.com/p/slowhttptest/
WordPressStandard install with sample content
:80
![Page 17: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/17.jpg)
Hundreds of concurrent connections…
handed by a small number of multiplexing processes,…
typically one process per core
NGINX architecture
![Page 18: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/18.jpg)
NGINX transforms application performance
• NGINX has almost-unlimited concurrency
– Transforms worst-case traffic to best-case
– Maximizes application utilization
Internet
NSlow, high-concurrency
internet-side traffic
Fast, efficient
local-side traffic
![Page 19: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/19.jpg)
Let’s see it in action…
SlowHTTPTestcode.google.com/p/slowhttptest/
NGINX+ and WordPressStandard install with sample content
:8080
N+
![Page 20: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/20.jpg)
Cache common responses
GET /logo.png
GET /logo.png
Hybrid on-disk and in-memory cache
N+
![Page 21: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/21.jpg)
What about dynamic content?
• Some content appears to be un-cacheable
– Use client-side or server-side page assembly
– Use cache keys
– Use cache purging
– Use fast cache times
![Page 22: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/22.jpg)
Let’s see it in action…
SlowHTTPTestcode.google.com/p/slowhttptest/
NGINX+ and WordPressStandard install with sample content
:8080
N
![Page 23: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/23.jpg)
Be smart with your traffic• Reduce bandwidth requirements per client
– Content Compression reduces text and HTML• Typically about 70% reduction
– Image resampling reduces JPEG size
• Prioritize and rate-limit requests and responses– Queues, Rate-limits, Honeypots, ACLs
• Use NGINX Plus to its full potential
![Page 24: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/24.jpg)
![Page 25: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/25.jpg)
Closing thoughts
• Application Performance is key to Application Success
• Four areas you should focus on:
– The Application
– The Client
– The Network
– The Application Stack
• NGINX is used by 39.6% of the top 10,000 sites
![Page 26: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/26.jpg)
Find out more• http://nginx.com
– Webinars, Documentation, Free Trial
• http://nginx.org– Open Source, Community, Documentation
• @nginx, @nginxorg
• http://nginx.com/nginxconf/
![Page 27: Supercharge Application Delivery to Satisfy Users](https://reader033.vdocuments.mx/reader033/viewer/2022052602/559a67a71a28abc6348b4676/html5/thumbnails/27.jpg)