UI, API & BACKEND SUCCESS SECRETS
|
|
- Frederick Lewis
- 6 years ago
- Views:
Transcription
1 UI, API & BACKEND SUCCESS SECRETS Chander Dhall
2 Challenge 2-day Training => 1- hour Presentation
3 About Me Microsoft MVP Azure Advisor Asp.NET Insider Web API Advisor Pluralsight/Linkedin Learning Author Dev Chair - Dev Connections
4 About Me Leader Angularjs Meetup Austin Leader Rockstar Meetup Austin Leader Software Developers Meetup Conference Organizer MVPMIX.com Cazton Podcast
5 BACKEND
6 Why? Amazon claim Just an extra 1/10 th of a second on their response times will cost them 1% in sales. Google ½ a second increase in latency caused traffic to drop by a fifth.
7 Step 1 Appserver & DBServer App Server Database Server
8 Awesome Solution? Global Redirector Global Look up Hash Map Load Balancer Load Balancer Has h Ma p Load Balancer Load Balancer Has h Ma p DB Cluster DB Cluster DB Cluster DB Cluster D B D B D B D B D B D B D B D B D B D B D B D B Set 1-10 Million Users Set Million Users
9 May be close to an awesome solution? Caching Load Balancer Load Balancer Hash Map Offline Processing DB Cluster Master DB Cluster D B D B D B D B D B D B Master Slave Slave Slave Slave No Sql SAN Search Db
10 Agenda Why is it important to scale? Creating a scalable solution (in incremental steps) Propose an Architecture Identify Failures and Bottlenecks Identify Downtime Apply a better solution Repeat until we solve (in 10 steps) Then some bonus stuff (a better solution)
11 Unfortunate Solution Load Balancer S S S S S Services
12 Gilbert and Lynch white paper Network 1 Network 2 A Write Algorithm { name : Chander, gender : m } B Read Algorithm { name : Chander, gender : m }
13 Update Message CAZTON Happy path scenario Network 1 Network 2 A Write Algorithm { name : Dhall, gender : m } B Read Algorithm { name : Chander, gender : m }
14 Happy path scenario Network 1 Network 2 A Write Algorithm { name : Dhall, gender : m } B Read Algorithm { name : Dhall, gender : m }
15 Update Message CAZTON Network partitions Network 1 Network 2 A Write Algorithm { name : Dhall, gender : m } B Read Algorithm { name : Chander, gender : m }
16 CAP Theorem Consistency Availability Partitioning
17 Fallacies of Distributed Computing Network is reliable. Latency is zero. Bandwidth is infinite. Network is secure. Topology doesn t change. There is one administrator. Transport cost is zero. Network is homogenous.
18 Step 1 Appserver & DBServer App Server Database Server
19 Step 2 Vertical Scaling Appserver & DBServer App Server Database Server Throw more RAM and CPU
20 Step 3 Vertical Partitioning (Services) Introduction Deploying each service on a separate node Advantages Increases Availability (per app) Easy to tune and optimize Reduces context switching Simple to implement App Server Db Server
21 Step 4 Horizontal Scaling Load Balancer DB Server
22 Step 5 Vertical Partitioning (Hardware) Load Balancer Load Balancer DB Server SAN
23 Step 6 Horizontal Scaling (DB) Load Balancer Load Balancer DB Server SAN
24 Step 6 Horizontal Scaling (DB) Load Balancer Load Balancer DB Replica DB Server DB Server DB Server SAN
25 Step 7 Vertical / Horizontal Partitioning (DB) Load Balancer Load Balancer DB Cluster DB Server DB Server DB Server SAN
26 Step 7 Vertical / Horizontal Partitioning (DB) App Cluster Vertical Partitioning Db Cluster 1 Db Cluster 2 Twitter Table Facebook Table Users Table Products Table
27 Step 7 Vertical / Horizontal Partitioning (DB) App Cluster Horizontal Partitioning 1st Million Users 2nd Million Users Db Cluster 1 Db Cluster 2 Twitter Table Facebook Table Twitter Table Facebook Table
28 Step 7 Vertical / Horizontal Partitioning (DB) Load Balancer Load Balancer Hash Map SAN DB Cluster DB Cluster DB DB DB DB DB DB
29 Step 8 Separating Sets Global Redirector Global Look up Hash Map Load Balancer Load Balancer Load Balancer Load Balancer Hash Map Hash Map DB Cluster DB Cluster DB Cluster DB Cluster DB DB DB DB DB DB DB DB DB DB DB DB Set 1-10 Million Users Set Million Users
30 Step 9 Caching Add caches within App Server Object Cache Session Cache API cache Page cache Software Memcached Redis Azure Cache (App Fabric)
31 Step 10 HTTP Accelerator A good HTTP Accelerator / Reverse proxy performs the following Redirect static content requests to a lighter HTTP server (lighttpd) Cache content based on rules Use Async Non blocking IO Maintain a limited pool of Keep-alive connections to the App Server Intelligent load balancing Solutions Nginx (HTTP / IMAP) Perlbal Hardware accelerators plus LBs
32 More Important Stuff CDNs IP Anycasting Async Nonblocking IO (for all Network Servers) If possible - Async Nonblocking IO for disk Incorporate multi-layer caching strategy where required L1 cache in-process with App Server L2 cache across network boundary L3 cache on disk Grid computing
33 Scalability and Performance CAZTON NoSql Vs Relational Depth of Functionality
34 Relational -> NoSql
35 Step 12- Finalizing Caching Load Balancer Load Balancer Hash Map Offline Processing DB Cluster DB Cluster Master DB DB DB DB DB DB Master Slave Slave Slave Slave No Sql SAN Search Db
36 WEB API
37 Nouns, No Verbs in the URL GET Principle: Use HTTP verbs 37
38 What about? Responses that don t involve resources Use verbs Example: te?from=en&to=gn
39 KISS (Keep it simple, stupid!) Principle: 2 base URLs/resource 39
40 POST HTTP Verbs POST Creates a new training(strange?) POST Error Why, so? 40
41 PUT HTTP Verbs PUT Bulk update trainings PUT If exists, update 23 Else ERROR 41
42 DELETE HTTP Verbs DELETE Delete all trainings DELETE If exists, Delete 23 Else Resource Not found Error 42
43 Associations GET /trainers/12/trainings/
44 COMPLEXITY GET /trainers/12/trainings? zip=92618&tech=api 44
45 Error Format Error format 1 { code" : "401", "message : "Authenticate", } 45
46 Error Format Error format 2 { type" : OAuthException", "message : (#401: Request not authorized", } 46
47 Error Format Error format 3 (Recommended!) { "status" : "401", "message : "Authenticate", "code : 1234, details": " } 47
48 Error Format Google GData Netflix Digg
49 Errors Only 3 cases Everything worked Client did something wrong API did something wrong 49
50 Error Codes (Required) So minimum response codes OK Bad Request Internal Server Error 50
51 Error Codes (Extended) Created Not Modified 404 Not Found Unauthorized Forbidden 51
52 Versioning /bankname/v2.0/accounts/checking / /bankName/accounts/checkingThis /bankname/accounts/checking?v=1 52
53 Pagination
54 Multiple Formats Or Or 54
55 Multiple Formats accept: application/json 55
56 UI
57 Our Top clients strive to achieve Response Time - 250ms
58 Intentional Speed Delay Source: FT.com
59 Impact Mean Percentage Drop in Article Views Source: FT.com
60 Impact Source: FT.com Mean Percentage Drop in Article Views
61 Performance vs Perception CAZTON 1 second 2 second 3 second 4 second
62 Performance vs Perception CAZTON 1 second 2 second 3 second 4 second
63 Performance vs Perception CAZTON 1 second 2 second 3 second
64 Performance vs Perception CAZTON 1 second 2 second 3 second 3.2 second
65 Time to reach Receive Windows Limit Time to reach the cwnd size of size N Rwnd = 128KB RTT = 42ms (San Francisco to New York) 128KB/1460B = 90 segments log 2 (90/10) = So Time = 42ms * = 160ms
66 SYN 21ms SYN ACK ACK 42 ms Request Processing 10x ACK 20x ACK 40x ACK 20x ACK 113 ms 155 ms 197 ms 239 ms 92 ms 134 ms bytes bytes 176 ms58400 bytes 218 ms bytes Cnwd: bytes
67 Optimizing TCP Upgrade server kernel to latest version Increase Initial cwnd size Enable window scaling (Increases Rwnd size. Previous Limit 65,535 bytes. Current limit -1 gigabyte) Disable slow-start after idle Investigate enabling TCP Fast Open Eliminate redundant data transfers Compress transferred data Reduce roundtrip times Reuse TCP connections whenever possible
68 Fetching using 3G/4G Control Plane (3G) up to 2.5 seconds
69 Tips Reduce DNS lookups Avoid Redirects (Bad: example.com to m.example.com) Make Fewer HTTP Requests Gzip your text Use a CDN Optimize images per device
70 Tips Add ETags to avoid fetching duplicate content Test on actual mobile devices Add an Expires Header Use Local Storage for js and css
71 Battery Most energy intensive components 1. Screen 2. Radio
72 Prefetch Data How to Save Battery Minimize periodic data requests
73 HTTP 2 New Binary Framing Interleaving requests and response messages Parallel Requests Header Compression Server Push Stream Prioritization (Weight and dependency)
74 Critical Rendering Path Time taken to get to the first render of the page
75 Critical Rendering Path Network HTML CSS DOM Javascript Render Tree Layout Paint CSSOM
76 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>ndc Web Performance</title> HTML DOM <link rel="stylesheet" type="text/css" href="sample.css"> </head> <body> Network <div>hello World</div> <p style="display:none"> Hidden </p> </body> </html>
77 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>ndc Web Performance</title> HTML DOM <link rel="stylesheet" type="text/css" href="sample.css"> </head> <body> Network <div>hello World</div> <p style="display:none"> Hidden </p> </body> </html>
78 body div p Hello World Hidden
79 Network HTML CSS DOM CSSOM Render Tree #
80 DOM Tree + CSSOM body = Render Tree body display: none div font-size:medium p div Hello World Hello World Hidden Hello World
81 Critical Rendering Path Network HTML CSS DOM Javascript CSS Object Model Render Tree Layout Paint
82 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>ndc Web Performance</title> <script src="analytics.js" async></script> <script src="sayhi.js" ></script> <link rel="stylesheet" type="text/css" href="sample.css"> </head> <body> Execute when ready <div>hello World</div> <p style="display:none"> Lorem ipsum dolor sit amet </p> Block parse and execute </body> # </html>
83 Older Browsers External Scripts (Blocks Download plus rendering) Download -> Parse -> Execute External Script 1 External Script 2 CSS Image
84 Improvements External Scripts (Blocks Download plus rendering) Parallel Download Parse Execute External Script 1 External Script 2 External Script 2 CSS Image
85 Gmail Mobile <script type= text/javascript > /* js code */ </script> get script DOM element s text remove comments eval() when invoked Source: Steve Souders
86 Javascript Tips JS can block CSS JS can block DOM Use async Avoid document.write() Defer all, but critical, scripts towards the end of the body tag
87 Critical Rendering Path Network HTML CSS DOM Javascript CSS Object Model Render Tree Layout Paint
88 Performance (60fps) 60 frames = 1000ms 1 frame = 1000/60 = 16.67ms (If it exceeds 16ms, frame is dropped) Frame Code GC Layout Paint
89 Resizing Adding Nodes Removing Nodes Changing Styles Layout Update
90 Lazy vs Synchronous Update Frame Frame Code GC Layout Paint Paint Lazy Recalculated once before paint Synchronous Forced multiple times before paint for(e in elements){ e.style.left = e.offsetleft px ; }
91 Layout To Paint Apply visual styles Create the bitmap Pixelate the screen Things to note Update the minimum area needed Note: Some styles are more expensive
92 Layout var element = document.getelementbyid( book'); element.style.borderleft = '1px'; //Reflow element.style.borderright = 1px'; //Reflow element.style.padding = '5px'; //Reflow
93 Layout var element = document.getelementbyid( book'); element.style.csstext += 'border-left: 1px; border-right: 1px; padding: 5px;';
94 Inefficient myelement.style.left = 1 + myelement.offsetleft + 'px'; myelement.style.top = 1 + myelement.offsettop + 'px'; if (myelement.offsetleft >= 500) { } dosomething();
95 Efficient var offsetleft = myelement.offsetleft ; myelement.style.left = 1 + offsetleft + 'px'; myelement.style.top = 1 + myelement.offsettop + 'px'; if (offsetleft >= 500) { dosomething(); }
96 Paint Most expensive part of the pixel pipeline Changing any property (except transforms or opacity) always triggers paint. Triggering layout automatically triggers paint. Can trigger paint without layout (change backgrounds, text colors, shadows) Tip: Reduce paint areas through layer promotion and orchestration of animations.
97 Repaint/Reflow Repaint Or Redraw Invisible Element made visible (or Vice Versa) Without altering the layout of the document Reflow (More Expensive) When DOM tree is manipulated
98 What causes a Reflow? Resizing the window Changing a font CSS pseudo classes like :hover Changing the class attribute Calculating offsetwidth and offsetheight Modifying the style attribute of an element
99 Why is Reflow Expensive? All child nodes Element ancestors Elements following the element have their details recalculated. Effectively the entire page is re-rendered.
100 Reflows var fragment = document.createdocumentfragment(); var elem, contents; for(var i = 0; i < textlist.length; i++) { } elem = document.createelement('p'); contents = document.createtextnode(textlist[i]); elem.appendchild(contents); fragment.appendchild(elem); document.body.appendchild(fragment); # Document Tree Modification
101 Reducing Reflow Impact var original = document.getelementbyid('container'); var cloned = original.clonenode(true); //EFFICIENT cloned.setattribute('width', '50%'); var elem, contents; for(var i = 0; i < textlist.length; i++) { } elem = document.createelement('p'); contents = document.createtextnode(textlist[i]); elem.appendchild(contents); cloned.appendchild(elem); original.parentnode.replacechild(cloned, # original); Cloning The Original tree
102 Reducing Reflow Impact var element= document.getelementbyid(id'); element.style.display = 'none'; element.appendchild(newnodes); element.style.classname = newclass'; element.style.display = 'block'; Hide Change Unhide #
103 Thought Leaders to Follow Steve Souders Ilya Grigorik Paul Irish Douglas Crockford (Ajax) Ben Gailbraith (Responsive) Tony Gentilcore (Gzip and beyond) Stoyan Stefanov (Image Optimization) Paul Lewis Chander Dhall
104 # CAZTON Books
105 Cache locally Inefficient Efficient <script type="text/javascript"> for (var i=0;i<car.images.length;i++) car.images[i].src= image.gif" </script> <script type="text/javascript"> var images=car.images for (var i=0;i<theimages.length;i++) images[i].src= image.gif" </script> #
106 Loops Inefficient Efficient for (var i=0, len<x.length;; i++) { } dosomething() for (var i=0, len=x.length; i<len; i++) { } dosomething() #
107 Reduce Inspection Time Inefficient var all= document.getelementsbytagname('*'); for(var i = 0; i < all.length; i++) { } if(all[i].hasattribute( x')) { } # dosomething(); Efficient var all= document.getelementbyid( myid').getelementsbytagname('*'); for(var i = 0; i < all.length; i++) { } if(all[i].hasattribute(x')) { } dosomething(); break;
108 Use XPath Inefficient Efficient var allelements = document.getelementsbytagname('*'); for(var i = 0; i < allelements.length; i++) { if(allelements[i].tagname.match(/^ h[2-4]$/i)) { } } // var headings = document.evaluate('//h2 //h3 //h4', document, null, XPathResult.ORDERED_NODE_ITERATOR _TYPE, null); var oneheading; while(oneheading = headings.iteratenext()) { // } #devconnectionsource:
109 Avoid keeping alive references var remotedoc = parent.frames['sideframe'].document; var remotecontainer = remotedoc.getelementbyid('content'); var newpara = remotedoc.createelement('p'); newpara.appendchild(remotedoc.createtextnode('new content')); remotecontainer.appendchild(newpara); // Remove references remotedoc = null; remotecontainer = null; newpara = null; #dsource:
Javascript, API, and Server Side - Learn my secrets of success
Javascript, API, and Server Side - Learn my secrets of success JAVASCRIPT Chander Dhall Twitter @csdhall Me@ChanderDhall.com JAVASCRIPT About me Microsoft MVP Asp.NET Insider Web API Advisor Lynda.com
More informationScaling To 1 Billion Hits A Day. Chander Dhall
Scaling To 1 Billion Hits A Day Chander Dhall Twitter @csdhall Me@ChanderDhall.com About Me Microsoft MVP Tech Ed Speaker Asp.NET Insider Web API Advisor Pluralsight Author Dev Chair - Dev Connections
More informationBuilding a Scalable Architecture for Web Apps - Part I (Lessons Directi)
Intelligent People. Uncommon Ideas. Building a Scalable Architecture for Web Apps - Part I (Lessons Learned @ Directi) By Bhavin Turakhia CEO, Directi (http://www.directi.com http://wiki.directi.com http://careers.directi.com)
More informationExecutive Summary. Performance Report for: The web should be fast. Top 4 Priority Issues
The web should be fast. Executive Summary Performance Report for: https://www.wpspeedupoptimisation.com/ Report generated: Test Server Region: Using: Tue,, 2018, 12:04 PM -0800 London, UK Chrome (Desktop)
More informationExecutive Summary. Performance Report for: https://edwardtbabinski.us/blogger/social/index. The web should be fast. How does this affect me?
The web should be fast. Executive Summary Performance Report for: https://edwardtbabinski.us/blogger/social/index Report generated: Test Server Region: Using: Analysis options: Tue,, 2017, 4:21 AM -0400
More informationDrupal Frontend Performance & Scalability
Riverside Drupal Meetup @ Riverside.io August 14, 2014 Christefano Reyes christo@larks.la, @christefano Who's Your Presenter? Who's Your Presenter? Why We Care About Performance Who's Your Presenter? Why
More informationExecutive Summary. Performance Report for: The web should be fast. Top 1 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: http://instantwebapp.co.uk/8/ Report generated: Test Server Region: Using: Fri, May 19, 2017, 4:01 AM -0700 Vancouver, Canada Firefox (Desktop)
More informationWeb Applications. Software Engineering 2017 Alessio Gambi - Saarland University
Web Applications Software Engineering 2017 Alessio Gambi - Saarland University Based on the work of Cesare Pautasso, Christoph Dorn, Andrea Arcuri, and others ReCap Software Architecture A software system
More informationEnGiNeErInG HtMl5 applications for better performance
EnGiNeErInG HtMl5 applications for better performance LaUrI SvAn @laurisvan Sc5 OnLiNe @sc5 HtMl5 expertise at your service GiVe me something that I can UsE 15 YeArS ReTrOsPeCtIvE of My PeRsOnAl GeAr 1000
More informationExecutive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: https://designmartijn.nl/ Report generated: Test Server Region: Using: Sun, Sep 30, 2018, 7:29 AM -0700 Vancouver, Canada Chrome (Desktop)
More informationExecutive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: http://idwebcare.nl/ Report generated: Test Server Region: Using: Tue, Aug 29, 2017, 5:08 AM -0700 Vancouver, Canada Firefox (Desktop)
More informationExecutive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: https://www.weebly.com/ Report generated: Test Server Region: Using: Mon, Jul 30, 2018, 2:22 PM -0500 Vancouver, Canada Chrome (Android,
More informationHigh Performance HTML5
High Performance HTML5 stevesouders.com/docs/velocity-html5-20111207.pptx Disclaimer: This content does not necessarily reflect the opinions of my employer. flickr.com/photos/djbiesack/85833076/ High Performance
More informationExecutive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: http://ardrosscs.ie/ Report generated: Test Server Region: Using: Sat, May 6, 2017, 5:14 AM -0700 Vancouver, Canada Firefox (Desktop) 49.0.2,
More informationWeb API Best Practices
Web API Best Practices Chander Dhall Twitter @csdhall Me@ChanderDhall.com About me Microsoft MVP Asp.NET Insider Web API Advisor Pluralsight contributor Dev Chair DevConnections Conference Organizer MVPMIX.com
More informationDeveloping ASP.NET MVC Web Applications (486)
Developing ASP.NET MVC Web Applications (486) Design the application architecture Plan the application layers Plan data access; plan for separation of concerns, appropriate use of models, views, controllers,
More informationCISC 7610 Lecture 2b The beginnings of NoSQL
CISC 7610 Lecture 2b The beginnings of NoSQL Topics: Big Data Google s infrastructure Hadoop: open google infrastructure Scaling through sharding CAP theorem Amazon s Dynamo 5 V s of big data Everyone
More informationExecutive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: http://www.ksero24h.pl/ Report generated: Test Server Region: Using: Sun, Sep 23, 2018, 9:13 AM -0700 Vancouver, Canada Chrome (Desktop)
More informationWhy is My Website Running Slow? Edmond Chan & Feybian Yip Akamai Professional Services September 2018
Why is My Website Running Slow? Edmond Chan & Feybian Yip Akamai Professional Services September 2018 Performance Vs. Conversion Desktop Tablet Mobile 4 Conversion rate (%) Conversion rate: 3 % visitors
More informationExecutive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: https://www.inmotionhosting.com/ Report generated: Test Server Region: Using: Fri,, 2018, 5:41 PM -0500 Vancouver, Canada Chrome (Android,
More informationTo Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry. Tony Erwin,
To Kill a Monolith: Slaying the Demons of a Monolith with Node.js Microservices on CloudFoundry Tony Erwin, aerwin@us.ibm.com Agenda Origins of the Bluemix UI Demons of the Monolith Slaying Demons with
More informationstevesouders.com/docs/web20expo pptx slideshare.net/souders/souders-wpo-web20expo
stevesouders.com/docs/web20expo-20100505.pptx slideshare.net/souders/souders-wpo-web20expo Disclaimer: This content does not necessarily reflect the opinions of my employer. flickr.com/photos/mubashir/2616724942/
More informationExecutive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: https://www.siteground.com/ Report generated: Test Server Region: Using: Fri, Jul 27, 2018, 5:46 PM -0500 Vancouver, Canada Chrome (Android,
More informationExecutive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: https://www.cookandlucas.com/ Report generated: Test Server Region: Using: Fri, Jul 20, 2018, 4:28 AM -0700 Vancouver, Canada Chrome (Desktop)
More informationDetects Potential Problems. Customizable Data Columns. Support for International Characters
Home Buy Download Support Company Blog Features Home Features HttpWatch Home Overview Features Compare Editions New in Version 9.x Awards and Reviews Download Pricing Our Customers Who is using it? What
More informationMore on Testing and Large Scale Web Apps
More on Testing and Large Scale Web Apps Testing Functionality Tests - Unit tests: E.g. Mocha - Integration tests - End-to-end - E.g. Selenium - HTML CSS validation - forms and form validation - cookies
More informationCHAPTER 1: A REFRESHER ON WEB BROWSERS 3
INTRODUCTION xxiii PART I: FRONT END CHAPTER 1: A REFRESHER ON WEB BROWSERS 3 A Brief History of Web Browsers 3 Netscape Loses Its Dominance 4 The Growth of Firefox 4 The Present 5 Inside HTTP 5 The HyperText
More informationEven Faster Web Sites
Even Faster Web Sites Flushing the Document Early Simplifying CSS Selectors Avoiding @import Steve Souders souders@google.com http://stevesouders.com/docs/web20expo-20090402.ppt Disclaimer: This content
More informationLife as a Service. Scalability and Other Aspects. Dino Esposito JetBrains ARCHITECT, TRAINER AND CONSULTANT
Life as a Service Scalability and Other Aspects Dino Esposito JetBrains ARCHITECT, TRAINER AND CONSULTANT PART I Scalability and Measurable Tasks SCALABILITY Scalability is the ability of a system to expand
More informationAll India Council For Research & Training
WEB DEVELOPMENT & DESIGNING Are you looking for a master program in web that covers everything related to web? Then yes! You have landed up on the right page. Web Master Course is an advanced web designing,
More informationExecutive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: http://atlantek.net/ Report generated: Test Server Region: Using: Sat, May 13, 2017, 8:24 AM -0700 Vancouver, Canada Firefox (Desktop)
More informationRKN 2015 Application Layer Short Summary
RKN 2015 Application Layer Short Summary HTTP standard version now: 1.1 (former 1.0 HTTP /2.0 in draft form, already used HTTP Requests Headers and body counterpart: answer Safe methods (requests): GET,
More information90 Minute Optimization Life Cycle
90 Minute Optimization Life Cycle Fast by Default before our eyes Author of presentation Today s Hosts Hooman Beheshti VP Products Strangeloop Joshua Bixby President Strangeloop 2010 Strangeloop Networks
More informationCISC 7610 Lecture 5 Distributed multimedia databases. Topics: Scaling up vs out Replication Partitioning CAP Theorem NoSQL NewSQL
CISC 7610 Lecture 5 Distributed multimedia databases Topics: Scaling up vs out Replication Partitioning CAP Theorem NoSQL NewSQL Motivation YouTube receives 400 hours of video per minute That is 200M hours
More informationKeys to Web Front End Performance Optimization
Keys to Web Front End Performance Optimization Contents Preface... 3 Web Front End Performance Paradigm... 4 Best practices/optimizations enhancing the Web Front End Performance... 5 WWW of Performance
More informationCS 498RK FALL RESTFUL APIs
CS 498RK FALL 2017 RESTFUL APIs Designing Restful Apis blog.mwaysolutions.com/2014/06/05/10-best-practices-for-better-restful-api/ www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api Resources
More informationCSCI-1680 WWW Rodrigo Fonseca
CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Scott Shenker and John Jannotti Precursors 1945, Vannevar Bush, Memex: a device in which an individual stores all his books, records, and
More informationLarge-Scale Web Applications
Large-Scale Web Applications Mendel Rosenblum Web Application Architecture Web Browser Web Server / Application server Storage System HTTP Internet CS142 Lecture Notes - Intro LAN 2 Large-Scale: Scale-Out
More informationHelp! I need more servers! What do I do?
Help! I need more servers! What do I do? Scaling a PHP application 1 2-Feb-09 Introduction A real world example The wonderful world of startups Who am I? 2 2-Feb-09 Presentation Overview - Scalability
More informationWebsite Acceleration with mod_pagespeed
Website Acceleration with mod_pagespeed Joshua Marantz Google June 15, 2011 @jmarantz www.modpagespeed.com 2011 Google, Inc. All rights reserved. Velocity 2011: Faster By Default 2 Velocity 2011: Faster
More informationPerformance Report for: Report generated: Tuesday, June 30, 2015, 3:21 AM -0700
The web should be fast. Executive Summary Performance Report for: http://smallbusinessfirststep.com/ Report generated: Tuesday, June 30, 2015, 3:21 AM -0700 Test Server Region: Vancouver, Canada Using:
More informationFrontend guide. Everything you need to know about HTML, CSS, JavaScript and DOM. Dejan V Čančarević
Frontend guide Everything you need to know about HTML, CSS, JavaScript and DOM Dejan V Čančarević Today frontend is treated as a separate part of Web development and therefore frontend developer jobs are
More informationExecutive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues
The web should be fast. Executive Summary Performance Report for: http://magento-standard.eworld-accelerator.com Report generated: Test Server Region: Using: Tue, Sep 22, 2015, 11:12 AM +0200 London, UK
More informationIndex LICENSED PRODUCT NOT FOR RESALE
Index LICENSED PRODUCT NOT FOR RESALE A Absolute positioning, 100 102 with multi-columns, 101 Accelerometer, 263 Access data, 225 227 Adding elements, 209 211 to display, 210 Animated boxes creation using
More informationApplications & Application-Layer Protocols: The Web & HTTP
CPSC 360 Network Programming Applications & Application-Layer Protocols: The Web & HTTP Michele Weigle Department of Computer Science Clemson University mweigle@cs.clemson.edu http://www.cs.clemson.edu/~mweigle/courses/cpsc360
More informationServerless Single Page Web Apps, Part Four. CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016
Serverless Single Page Web Apps, Part Four CSCI 5828: Foundations of Software Engineering Lecture 24 11/10/2016 1 Goals Cover Chapter 4 of Serverless Single Page Web Apps by Ben Rady Present the issues
More informationScalability of web applications
Scalability of web applications CSCI 470: Web Science Keith Vertanen Copyright 2014 Scalability questions Overview What's important in order to build scalable web sites? High availability vs. load balancing
More informationExecutive Summary. Performance Report for: https://www.informanews.net/ The web should be fast. Top 5 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: https://www.informanews.net/ Report generated: Test Server Region: Using: Mon, Apr 23, 2018, 3:02 AM -0700 Vancouver, Canada Chrome (Desktop)
More informationUse Page Speed to Optimize Your Web Site for Mobile
Use Page Speed to Optimize Your Web Site for Mobile Bryan McQuade and Libo Song, May 10, 2011 Hashtags: #io2011 #DevTools Feedback: http://goo.gl/ce1zu Page Speed Background Help developers optimize their
More informationVarargs Training & Software Development Centre Private Limited, Module: HTML5, CSS3 & JavaScript
PHP Curriculum Module: HTML5, CSS3 & JavaScript Introduction to the Web o Explain the evolution of HTML o Explain the page structure used by HTML o List the drawbacks in HTML 4 and XHTML o List the new
More informationA Library and Proxy for SPDY
A Library and Proxy for SPDY Interdisciplinary Project Andrey Uzunov Chair for Network Architectures and Services Department of Informatics Technische Universität München April 3, 2013 Andrey Uzunov (TUM)
More informationCIT 668: System Architecture. Caching
CIT 668: System Architecture Caching Topics 1. Cache Types 2. Web Caching 3. Replacement Algorithms 4. Distributed Caches 5. memcached A cache is a system component that stores data so that future requests
More informationExecutive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: https://lightshop1.899themes.ru/ Report generated: Test Server Region: Using: Thu, May 17, 2018, 4:02 AM -0700 Vancouver, Canada Chrome
More informationThis course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.
HTML5/CSS3/JavaScript Programming Course Summary Description This class is designed for students that have experience with basic HTML concepts that wish to learn about HTML Version 5, Cascading Style Sheets
More informationExecutive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues
The web should be fast. Executive Summary Performance Report for: http://wkladki.net/porady/jak-usunac-zarysowa Report generated: Test Server Region: Using: Fri, Jan 22, 2016, 4:30 PM -0800 Vancouver,
More informationBasics of Web Technologies
Dear Student, Based upon your enquiry we are pleased to send you the course curriculum for Web Designing Given below is the brief description for the course you are looking for: Introduction to Web Technologies
More informationDATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016
DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016 AGENDA FOR TODAY Advanced Mysql More than just SELECT Creating tables MySQL optimizations: Storage engines, indexing.
More informationWebsite SEO Checklist
Website SEO Checklist Main points to have a flawless start for your new website. Domain Optimization Meta Data Up-to-Date Content Optimization SEO & Analytics Social Markup Markup Accessibility Browser
More informationCNIT 129S: Securing Web Applications. Ch 3: Web Application Technologies
CNIT 129S: Securing Web Applications Ch 3: Web Application Technologies HTTP Hypertext Transfer Protocol (HTTP) Connectionless protocol Client sends an HTTP request to a Web server Gets an HTTP response
More informationGetting Started with Eric Meyer's CSS Sculptor 1.0
Getting Started with Eric Meyer's CSS Sculptor 1.0 Eric Meyer s CSS Sculptor is a flexible, powerful tool for generating highly customized Web standards based CSS layouts. With CSS Sculptor, you can quickly
More informationHTTP and Web Content Delivery
HTTP and Web Content Delivery COS 461: Computer Networks Spring 2011 Mike Freedman hgp://www.cs.princeton.edu/courses/archive/spring11/cos461/ 2 Outline Layering HTTP HTTP conneclon management and caching
More informationExecutive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: http://www.element-roofing.com/ Report generated: Test Server Region: Using: Wed, Nov 2, 2016, 10:31 PM -0700 Vancouver, Canada Firefox
More informationAGENCE WEB MADE IN DOM
AGENCE WEB MADE IN DOM https://madeindom.com/ Création de site internet dans les DROM GUADELOUPE - MARTINIQUE GUYANE-MAYOTTE LA REUNION RAPPORT DE VITESSE SITE INTERNET The web should be fast. Executive
More informationReal Life Web Development. Joseph Paul Cohen
Real Life Web Development Joseph Paul Cohen joecohen@cs.umb.edu Index 201 - The code 404 - How to run it? 500 - Your code is broken? 200 - Someone broke into your server? 400 - How are people using your
More informationCS WEB TECHNOLOGY
CS1019 - WEB TECHNOLOGY UNIT 1 INTRODUCTION 9 Internet Principles Basic Web Concepts Client/Server model retrieving data from Internet HTM and Scripting Languages Standard Generalized Mark up languages
More informationWebsite Report for colourways.com.au
Website Report for colourways.com.au This report grades your website based on the strength of various factors such as On Page Optimization, Off Page Links, and more. The overall Grade is on a A+ to F-
More information<Insert Picture Here> MySQL Web Reference Architectures Building Massively Scalable Web Infrastructure
MySQL Web Reference Architectures Building Massively Scalable Web Infrastructure Mario Beck (mario.beck@oracle.com) Principal Sales Consultant MySQL Session Agenda Requirements for
More informationSend me up to 5 good questions in your opinion, I ll use top ones Via direct message at slack. Can be a group effort. Try to add some explanation.
Notes Midterm reminder Second midterm next week (04/03), regular class time 20 points, more questions than midterm 1 non-comprehensive exam: no need to study modules before midterm 1 Online testing like
More informationCSCI-1680 WWW Rodrigo Fonseca
CSCI-1680 WWW Rodrigo Fonseca Based partly on lecture notes by Sco2 Shenker and John Janno6 Administrivia HW3 out today Will cover HTTP, DNS, TCP TCP Milestone II coming up on Monday Make sure you sign
More informationModern App Architecture
Modern App Architecture Brent Edwards Principal Lead Consultant Magenic Level: Intermediate BrentE@magenic.com @brentledwards http://www.brentedwards.net https://github.com/brentedwards BRENT EDWARDS MyVote
More informationMASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M
MASTERS COURSE IN FULL STACK WEB APPLICATION DEVELOPMENT W W W. W E B S T A C K A C A D E M Y. C O M COURSE OBJECTIVES Enable participants to develop a complete web application from the scratch that includes
More informationCSS for Page Layout Robert K. Moniot 1
CSS for Page Layout 2015 Robert K. Moniot 1 OBJECTIVES In this unit, you will learn: How to use style sheets for layout Controlling text flow, margins, borders, and padding Controlling visibility of elements
More informationScaling DreamFactory
Scaling DreamFactory This white paper is designed to provide information to enterprise customers about how to scale a DreamFactory Instance. The sections below talk about horizontal, vertical, and cloud
More informationExecutive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: https://www.elpasoroofings.com/ Report generated: Test Server Region: Using: Wed, Nov 2, 2016, 10:30 PM -0700 Vancouver, Canada Firefox
More informationHTTP/2: What You Need to Know. Robert
HTTP/2: What You Need to Know Robert Boedigheimer @boedie About Me Web developer since 1995 Pluralsight Author 3 rd Degree Black Belt, Tae Kwon Do ASP.NET MVP boedie@outlook.com @boedie weblogs.asp.net/boedie
More informationExecutive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: http://paratiboutique.com.br/ Report generated: Test Server Region: Using: Wed, Mar 7, 2018, 11:36 AM -0800 Vancouver, Canada Chrome (Desktop)
More informationHow to get a perfect 100 in Google PageSpeed Insights
How to get a perfect 100 in Google PageSpeed Insights And what might happen if you don't Follow Along http://goo.gl/fqfwyj @mcarper @NickWilde1990 Your site just went live after being under construction
More informationHomework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise)
Homework 8: Ajax, JSON and Responsive Design Travel and Entertainment Search (Bootstrap/Angular/AJAX/JSON/jQuery /Cloud Exercise) 1. Objectives Get familiar with the AJAX and JSON technologies Use a combination
More informationComp 426 Midterm Fall 2013
Comp 426 Midterm Fall 2013 I have not given nor received any unauthorized assistance in the course of completing this examination. Name: PID: This is a closed book exam. This page left intentionally blank.
More informationEnterprise Overview. Benefits and features of Cloudflare s Enterprise plan FLARE
Enterprise Overview Benefits and features of s Enterprise plan 1 888 99 FLARE enterprise@cloudflare.com www.cloudflare.com This paper summarizes the benefits and features of s Enterprise plan. State of
More informationJavaScript: the Big Picture
JavaScript had to look like Java only less so be Java's dumb kid brother or boy-hostage sidekick. Plus, I had to be done in ten days or something worse than JavaScript would have happened.! JavaScript:
More informationINTERNET ENGINEERING. HTTP Protocol. Sadegh Aliakbary
INTERNET ENGINEERING HTTP Protocol Sadegh Aliakbary Agenda HTTP Protocol HTTP Methods HTTP Request and Response State in HTTP Internet Engineering 2 HTTP HTTP Hyper-Text Transfer Protocol (HTTP) The fundamental
More informationWhitepaper. 4 Ways to Improve ASP.NET Performance. Under Peak Loads. Iqbal Khan. Copyright 2015 by Alachisoft
Whitepaper 4 Ways to Improve ASP.NET Performance Under Peak Loads By Iqbal Khan April 18, 2015 Copyright 2015 by Alachisoft Table of Content Introduction... 1 The Problem: Scalability Bottlenecks... 1
More informationStyles, Style Sheets, the Box Model and Liquid Layout
Styles, Style Sheets, the Box Model and Liquid Layout This session will guide you through examples of how styles and Cascading Style Sheets (CSS) may be used in your Web pages to simplify maintenance of
More informationPop-up. File format/ size: Must provide (.gif or.jpg) still image - max. 75KB for Mobile - max. 400KB for Tablet
Pop-up Dimensions: Mobile: 640 (W) x 960 (H) pixels Tablet Portrait - 1536 (W) x 2048 (H) pixels [For mytv SUPER only] Tablet Landscape - 2048 (W) x 1536 (H) pixels [For mytv SUPER only] File format/ size:
More informationExecutive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?
The web should be fast. Executive Summary Performance Report for: http://www.lonsmith.com/ Report generated: Test Server Region: Using: Wed, Nov 2, 2016, 10:31 PM -0700 Vancouver, Canada Firefox (Desktop)
More informationIntroduction to AngularJS
CHAPTER 1 Introduction to AngularJS Google s AngularJS is an all-inclusive JavaScript model-view-controller (MVC) framework that makes it very easy to quickly build applications that run well on any desktop
More informationUI Course HTML: (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) Introduction. The World Wide Web (WWW) and history of HTML
UI Course (Html, CSS, JavaScript, JQuery, Bootstrap, AngularJS) HTML: Introduction The World Wide Web (WWW) and history of HTML Hypertext and Hypertext Markup Language Why HTML Prerequisites Objective
More informationAccessing Cellular Network Efficiently Without the Battery Drain. Lee, Chang Hwan, SK Telecom lipisoft at gmail dot com Kandroid: Lipi(리피)
Accessing Cellular Network Efficiently Without the Battery Drain Lee, Chang Hwan, SK Telecom lipisoft at gmail dot com Kandroid: Lipi(리피) Contents Wired vs Cellular Cellular Network LTE Protocol Stack
More informationHTTP (HyperText Transfer Protocol)
1 HTTP (HyperText Transfer Protocol) Table of Contents HTTP (HYPERTEXT TRANSFER PROTOCOL)... 1 HTTP (HYPERTEXT TRANSFER PROTOCOL)... 3 What really happens when you navigate to a URL 3 1. You enter a URL
More information70-486: Developing ASP.NET MVC Web Applications
70-486: Developing ASP.NET MVC Web Applications Candidates for this exam are professional developers who use Microsoft Visual Studio 20120157 and Microsoft.NET FrameworkASP.NET to design and develop web
More informationNew frontier of responsive & device-friendly web sites
New frontier of responsive & device-friendly web sites Dino Esposito JetBrains dino.esposito@jetbrains.com @despos facebook.com/naa4e Responsive Web Design Can I Ask You a Question? Why Do You Do RWD?
More informationCS November 2018
Distributed Systems 21. Delivery Networks (CDN) Paul Krzyzanowski Rutgers University Fall 2018 1 2 Motivation Serving web content from one location presents problems Scalability Reliability Performance
More informationHTTP/2: Ease the Transition, Remove Implementation Barriers. Robert Haynes Ronnie Dockery
HTTP/2: Ease the Transition, Remove Implementation Barriers Robert Haynes Ronnie Dockery No One Likes Slow 3 No One Likes Slow 74% of users will leave a slow website after just 5 seconds or less 3 No One
More informationDistributed Systems. 21. Content Delivery Networks (CDN) Paul Krzyzanowski. Rutgers University. Fall 2018
Distributed Systems 21. Content Delivery Networks (CDN) Paul Krzyzanowski Rutgers University Fall 2018 1 2 Motivation Serving web content from one location presents problems Scalability Reliability Performance
More informationLesson 14 SOA with REST (Part I)
Lesson 14 SOA with REST (Part I) Service Oriented Architectures Security Module 3 - Resource-oriented services Unit 1 REST Ernesto Damiani Università di Milano Web Sites (1992) WS-* Web Services (2000)
More informationWeb Development. With PHP. Web Development With PHP
Web Development With PHP Web Development With PHP We deliver all our courses as Corporate Training as well if you are a group interested in the course, this option may be more advantageous for you. 8983002500/8149046285
More informationCloudflare CDN. A global content delivery network with unique performance optimization capabilities
Cloudflare CDN A global content delivery network with unique performance optimization capabilities 1 888 99 FLARE enterprise@cloudflare.com www.cloudflare.com Overview Cloudflare provides a global content
More informationSTARCOUNTER. Technical Overview
STARCOUNTER Technical Overview Summary 3 Introduction 4 Scope 5 Audience 5 Prerequisite Knowledge 5 Virtual Machine Database Management System 6 Weaver 7 Shared Memory 8 Atomicity 8 Consistency 9 Isolation
More information