Supercharge Application Delivery to Satisfy Users
-
Upload
nginx-inc -
Category
Technology
-
view
161 -
download
1
description
Transcript of Supercharge Application Delivery to Satisfy Users
Supercharge application delivery to satisfy users
Owen Garrett
Nginx, Inc.
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.
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?
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
WEB PERFORMANCE MATTERS
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
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
What can you do?
Internet
4 opportunities to optimize
PythonRubynode.jsJava
Client Device Network Application Stack Code
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
Improve performance on the Network
• Faster resource downloads:– Content Delivery Network
– Google SPDY
– OCSP stapling
• Your options:– Use a CDN
– Use NGINX+
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
Three steps to a faster application
Optimize HTTP processing
Cache common responses
Be smart with your traffic
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
Let’s see it in action…
SlowHTTPTestcode.google.com/p/slowhttptest/
WordPressStandard install with sample content
:80
Hundreds of concurrent connections…
handed by a small number of multiplexing processes,…
typically one process per core
NGINX architecture
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
Let’s see it in action…
SlowHTTPTestcode.google.com/p/slowhttptest/
NGINX+ and WordPressStandard install with sample content
:8080
N+
Cache common responses
GET /logo.png
GET /logo.png
Hybrid on-disk and in-memory cache
N+
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
Let’s see it in action…
SlowHTTPTestcode.google.com/p/slowhttptest/
NGINX+ and WordPressStandard install with sample content
:8080
N
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
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
Find out more• http://nginx.com
– Webinars, Documentation, Free Trial
• http://nginx.org– Open Source, Community, Documentation
• @nginx, @nginxorg
• http://nginx.com/nginxconf/