CHAPTER 1: A REFRESHER ON WEB BROWSERS 3

Size: px
Start display at page:

Download "CHAPTER 1: A REFRESHER ON WEB BROWSERS 3"

Transcription

1 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 Transfer Protocol 5 HTTP Versions 8 Support for Virtual Hosting 9 Caching 9 How Browsers Download and Render Content 10 Rendering 11 Persistent Connections and Keep-Alive 12 Parallel Downloading 14 Summary 21 CHAPTER 2: UTILIZING CLIENT-SIDE CACHING 23 Understanding the Types of Caching 23 Caching by Browsers 23 Intermediate Caches 24 Reverse Proxies 25 Controlling Caching 25 Conditional GETs 25 Utilizing Cache-Control and Expires Headers 28 Choosing Expiration Policies 30 Coping with Stale Content 30 How Not to Cache 31 Dealing with Intermediate Caches 31 Cache-Control Revisited 31 Caching HTTP Responses 32 The Shift in Browser Behavior 32 Using Alternative 3xx Codes 34 COPYRIGHTED MATERIAL

2 DNS Caching and Prefetching 34 The DNS Resolution Process 35 DNS Caching by the Browser 35 How DNS Lookups Affect Performance 36 DNS Prefetching 36 Controlling Prefetching 37 Summary 37 CHAPTER 3: CONTENT COMPRESSION 39 Who Uses Compression 39 Understanding How Compression Works 41 Compression Methods 42 Other Compression Methods 47 Transfer Encoding 48 Compression in PHP 49 Compressing PHP-Generated Pages 49 Compressing Other Resources 51 Summary 51 CHAPTER 4: KEEPING THE SIZE DOWN WITH MINIFICATION 53 JavaScript Minification 54 YUI Compressor 55 Google Closure 56 Comparison of JavaScript Minifi ers 58 CSS Minification 59 Use Shorthand 59 Grouping Selectors 60 CSS Minifiers 60 Improving Compression 62 HTML Minification 63 HTML Minifi cation Techniques 64 HTML Minifi cation Tools 66 Summary 69 CHAPTER 5: OPTIMIZING WEB GRAPHICS AND CSS 71 Understanding Image Formats 71 JPEG 72 GIF 72 PNG 73 SVG 73 xiv

3 Optimizing Images 74 Image Editing Software 74 Choosing the Right Format 74 Interlacing and Progressive Rendering 75 PNG Optimization 77 GIF Optimization 80 JPEG Compression 80 Image Optimization Software 84 Data URIs 85 Favicons 85 Using Lazy Loading 87 Avoiding Empty src attributes 88 Using Image Maps 89 CSS Sprites 91 Sprite Strategies 94 Repeating Images 94 CSS Performance 99 CSS in the Document Head 100 Inline versus External 100 Link 100 Redundant Selectors 100 CSS Expressions 101 Selector Performance 102 Using Shorthand Properties 102 Inheritance and Default Values 104 Doing More with CSS 104 Looking Forward 109 MNG 109 APNG 109 JPEG Summary 110 CHAPTER 6: JAVASCRIPT, THE DOCUMENT OBJECT MODEL, AND AJAX 111 JavaScript, JScript, and ECMAScript 112 A Brief History of JavaScript 112 JavaScript Engines 112 The Document Object Model 115 Manipulating the DOM 117 Refl owing and Repainting 117 Browser Queuing 119 xv

4 Event Delegation 119 Unobtrusive JavaScript 120 Memory Management 121 Getting the Most from JavaScript 122 Language Constructs 122 Loading JavaScript 127 Nonblocking of JavaScript Downloads 128 Merging, Splitting, and Inlining 130 Web Workers 134 Ajax 136 XMLHttpRequest 136 Using Ajax for Nonblocking of JavaScript 137 Server Responsiveness 137 Using Preemptive Loading 138 Ajax Frameworks 138 Summary 138 PART II: BACK END CHAPTER 7: WORKING WITH WEB SERVERS 141 Apache 141 Working with Modules 142 Deciding on Concurrency 145 Improving Logging 146 Miscellaneous Performance Considerations 148 Examining Caching Options 150 Using Content Compression 155 Looking Beyond Apache 158 Nginx 158 Nginx, Apache, and PHP 164 The Best of the Rest 168 Multiserver Setups with Nginx and Apache 169 Nginx as a Reverse Proxy to Apache 170 Proxy Options 171 Nginx and Apache Side by Side 172 Load Balancers 173 Hardware versus Software 173 Load Balancer Features 174 Using Multiple Back-End Servers 176 HAProxy 181 Summary 191 xvi

5 CHAPTER 8: TUNING MYSQL 193 Looking Inside MySQL 194 Understanding the Storage Engines 195 MyISAM 195 InnoDB 196 MEMORY 197 ARCHIVE 198 Tuning MySQL 198 Table Cache 198 Thread Caching 202 Per-Session Buffers 204 Tuning MyISAM 205 Key Cache 205 Miscellaneous Tuning Options 210 Tuning InnoDB 211 Monitoring InnoDB 211 Working with Buffers and Caches 212 Working with File Formats and Structures 217 Memory Allocation 218 Threading 219 Disk I/O 219 Mutexes 222 Compression 223 Working with the Query Cache 225 Understanding How the Query Cache Works 225 Confi guring the Query Cache 227 Inspecting the Cache 228 The Downsides of Query Caching 232 Optimizing SQL 234 EXPLAIN Explained 234 The Slow Query Log 237 Indexing 239 Query Execution and Optimization 247 Query Cost 248 Tips for SQL Efficiency 249 Summary 254 CHAPTER 9: MYSQL IN THE NETWORK 255 Using Replication 256 The Basics 256 xvii

6 Advanced Topologies 264 Replication Performance 270 Miscellaneous Features of Replication 273 Partitioning 273 Creating Partitions 274 Deciding How to Partition 276 Partition Pruning 276 Physical Storage of Partitions 277 Partition Management 278 Pros and Cons of Partitioning 278 Sharding 279 Lookup Tables 280 Fixed Sharding 281 Shard Sizes and Distribution 281 Sharding Keys and Accessibility 281 Cross-Shard Joins 282 Application Modifi cations 283 Complementing MySQL 283 MySQL Proxy 283 MySQL Tools 286 Alternatives to MySQL 294 MySQL Forks and Branches 294 Full-Text Searching 296 Other RDBMSs 307 Summary 308 CHAPTER 10: UTILIZING NOSQL SOLUTIONS 309 NoSQL Flavors 310 Key-Value Stores 310 Multidimension Stores 310 Document Stores 311 memcache 311 Installing and Running 312 membase memcache with Persistent Storage 321 MongoDB 325 Getting to Know MongoDB 325 MongoDB Performance 328 Replication 339 Sharding 343 Other NoSQL Technologies 353 Tokyo Cabinet and Tokyo Tyrant 354 CouchDB 354 xviii

7 Project Voldemort 355 Amazon Dynamo and Google BigTable 355 Riak 356 Cassandra 356 Redis 356 HBase 356 Summary 356 CHAPTER 11: WORKING WITH SECURE SOCKETS LAYER (SSL) 359 SSL Caching 360 Connections, Sessions, and Handshakes 360 Abbreviated Handshakes 360 SSL Termination and Endpoints 364 SSL Termination with Nginx 365 SSL Termination with Apache 366 SSL Termination with stunnel 367 SSL Termination with stud 368 Sending Intermediate Certificates 368 Determining Key Sizes 369 Selecting Cipher Suites 369 Investing in Hardware Acceleration 371 The Future of SSL 371 OCSP Stapling 371 False Start 372 Summary 372 CHAPTER 12: OPTIMIZING PHP 375 Extensions and Compiling 376 Removing Unneeded Extensions 376 Writing Your Own PHP Extensions 378 Compiling 379 Opcode Caching 381 Variations of Opcode Caches 381 Getting to Know APC 382 Memory Management 382 Optimization 382 Time-To-Live (TTL) 382 Locking 383 Sample apc.ini 384 APC Caching Strategies 384 Monitoring the Cache 386 Using APC as a Generic Cache 386 xix

8 Warming the Cache 387 Using APC with FastCGI 387 Compiling PHP 388 phc 388 Phalanger 388 HipHop 388 Sessions 389 Storing Sessions 389 Storing Sessions in memcache/membase 390 Using Shared Memory or tmpfs 390 Session AutoStart 391 Sessions and Caching 391 Efficient PHP Programming 392 Minor Optimizations 392 Major Optimizations 392 Garbage Collection 395 Autoloading Classes 396 Persistent MySQL Connections 396 Profiling with xhprof 398 Installing 398 A Simple Example 399 Don t Use PHP 401 Summary 401 PART III: APPENDIXES APPENDIX A: TCP PERFORMANCE 405 The Three-Way Handshake 405 TCP Performance 408 Nagle s Algorithm 408 TCP_NOPUSH and TCP_CORK 408 APPENDIX B: DESIGNING FOR MOBILE PLATFORMS 409 Understanding Mobile Platforms 409 Responsive Content 410 Getting Browser Display Capabilities with JavaScript 411 Server-Side Detection of Capabilities 411 A Combined Approach 412 CSS3 Media Queries 413 Determining Connection Speed 413 xx

9 JavaScript and CSS Compatibility 414 Caching in Mobile Devices 414 APPENDIX C: COMPRESSION 417 The LZW Family 417 LZ LZ LZW 419 LZ Derivatives 420 Huffman Encoding 421 Compression Implementations 424 INDEX 427 xxi

PROFESSIONAL WEBSITE PERFORMANCE

PROFESSIONAL WEBSITE PERFORMANCE PROFESSIONAL WEBSITE PERFORMANCE INTRODUCTION............................................................ xxiii PART I FRONT END CHAPTER 1 A Refresher on Web Browsers....................................

More information

Delegates must have a working knowledge of MariaDB or MySQL Database Administration.

Delegates must have a working knowledge of MariaDB or MySQL Database Administration. MariaDB Performance & Tuning SA-MARDBAPT MariaDB Performance & Tuning Course Overview This MariaDB Performance & Tuning course is designed for Database Administrators who wish to monitor and tune the performance

More information

Jargons, Concepts, Scope and Systems. Key Value Stores, Document Stores, Extensible Record Stores. Overview of different scalable relational systems

Jargons, Concepts, Scope and Systems. Key Value Stores, Document Stores, Extensible Record Stores. Overview of different scalable relational systems Jargons, Concepts, Scope and Systems Key Value Stores, Document Stores, Extensible Record Stores Overview of different scalable relational systems Examples of different Data stores Predictions, Comparisons

More information

NoSQL systems. Lecture 21 (optional) Instructor: Sudeepa Roy. CompSci 516 Data Intensive Computing Systems

NoSQL systems. Lecture 21 (optional) Instructor: Sudeepa Roy. CompSci 516 Data Intensive Computing Systems CompSci 516 Data Intensive Computing Systems Lecture 21 (optional) NoSQL systems Instructor: Sudeepa Roy Duke CS, Spring 2016 CompSci 516: Data Intensive Computing Systems 1 Key- Value Stores Duke CS,

More information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016

DATABASE 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 information

Advanced Joomla! Dan Rahmel. Apress*

Advanced Joomla! Dan Rahmel. Apress* Advanced Joomla! Dan Rahmel Apress* Contents About the Author About the Technical Reviewer Acknowledgments Introduction xvii...xix xxi xxiii Chapter 1: Streamlining the Authoring Process 1 Setting the

More information

Nginx HTTP Server. Adopt Nginx for your web applications to make the most of your infrastructure and serve pages faster than ever.

Nginx HTTP Server. Adopt Nginx for your web applications to make the most of your infrastructure and serve pages faster than ever. Nginx HTTP Server Adopt Nginx for your web applications to make the most of your infrastructure and serve pages faster than ever element Nedelcu [ ] ~men~e~eri~c::i~li~dce PUBLISHING BIRMINGHAM - MUMBAI

More information

The NoSQL Ecosystem. Adam Marcus MIT CSAIL

The NoSQL Ecosystem. Adam Marcus MIT CSAIL The NoSQL Ecosystem Adam Marcus MIT CSAIL marcua@csail.mit.edu / @marcua About Me Social Computing + Database Systems Easily Distracted: Wrote The NoSQL Ecosystem in The Architecture of Open Source Applications

More information

Pro JavaScript. Development. Coding, Capabilities, and Tooling. Den Odell. Apress"

Pro JavaScript. Development. Coding, Capabilities, and Tooling. Den Odell. Apress Pro JavaScript Development Coding, Capabilities, and Tooling Den Odell Apress" Contents J About the Author About the Technical Reviewers Acknowledgments Introduction xv xvii xix xxi Chapter 1: Object-Oriented

More information

Drupal Frontend Performance & Scalability

Drupal 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 information

Introduction to NoSQL Databases

Introduction to NoSQL Databases Introduction to NoSQL Databases Roman Kern KTI, TU Graz 2017-10-16 Roman Kern (KTI, TU Graz) Dbase2 2017-10-16 1 / 31 Introduction Intro Why NoSQL? Roman Kern (KTI, TU Graz) Dbase2 2017-10-16 2 / 31 Introduction

More information

Rule 14 Use Databases Appropriately

Rule 14 Use Databases Appropriately Rule 14 Use Databases Appropriately Rule 14: What, When, How, and Why What: Use relational databases when you need ACID properties to maintain relationships between your data. For other data storage needs

More information

Detects Potential Problems. Customizable Data Columns. Support for International Characters

Detects 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 information

Scalability of web applications

Scalability 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 information

High Performance Drupal

High Performance Drupal High Performance Drupal A Panel Discussion 25 1 st St., Suite 104, Cambridge, MA 02141 www.bioraft.com Panelists Erik Peterson (eporama) Seth Cohn (sethcohn) Micky MeMs (freescholar) Patrick CorbeM (pcorbem)

More information

Executive Summary. Performance Report for: The web should be fast. Top 1 Priority Issues. How does this affect me?

Executive 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 information

HTTP/2: What You Need to Know. Robert

HTTP/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 information

Introduction to Graph Databases

Introduction to Graph Databases Introduction to Graph Databases David Montag @dmontag #neo4j 1 Agenda NOSQL overview Graph Database 101 A look at Neo4j The red pill 2 Why you should listen Forrester says: The market for graph databases

More information

PROFESSIONAL. NoSQL. Shashank Tiwari WILEY. John Wiley & Sons, Inc.

PROFESSIONAL. NoSQL. Shashank Tiwari WILEY. John Wiley & Sons, Inc. PROFESSIONAL NoSQL Shashank Tiwari WILEY John Wiley & Sons, Inc. Examining CONTENTS INTRODUCTION xvil CHAPTER 1: NOSQL: WHAT IT IS AND WHY YOU NEED IT 3 Definition and Introduction 4 Context and a Bit

More information

Help! I need more servers! What do I do?

Help! 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 information

Latest Trends in Database Technology NoSQL and Beyond

Latest Trends in Database Technology NoSQL and Beyond Latest Trends in Database Technology NoSQL and Beyond Sebas>an Marsching www.aquenos.com Why we want more than SQL Performance / Data Size Opera>onal Costs Availability 2 NoSQL NoSQL Not Only SQL 3 NoSQL

More information

Mastering phpmyadmiri 3.4 for

Mastering phpmyadmiri 3.4 for Mastering phpmyadmiri 3.4 for Effective MySQL Management A complete guide to getting started with phpmyadmin 3.4 and mastering its features Marc Delisle [ t]open so 1 I community experience c PUBLISHING

More information

CompSci 516 Database Systems

CompSci 516 Database Systems CompSci 516 Database Systems Lecture 20 NoSQL and Column Store Instructor: Sudeepa Roy Duke CS, Fall 2018 CompSci 516: Database Systems 1 Reading Material NOSQL: Scalable SQL and NoSQL Data Stores Rick

More information

Why NoSQL? Why Riak?

Why NoSQL? Why Riak? Why NoSQL? Why Riak? Justin Sheehy justin@basho.com 1 What's all of this NoSQL nonsense? Riak Voldemort HBase MongoDB Neo4j Cassandra CouchDB Membase Redis (and the list goes on...) 2 What went wrong with

More information

More on Testing and Large Scale Web Apps

More 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 information

2 Webpage Markup with HTML HTML5 Page Structure Creating a Webpage HTML5 Elements and Entities

2 Webpage Markup with HTML HTML5 Page Structure Creating a Webpage HTML5 Elements and Entities Contents Preface Introduction xix xxiii 1 The Web: An Overview 1 1.1 Web Is Part of the Internet.................. 1 1.2 IP Addresses and Domain Names............... 3 1.2.1 Domain Name System................

More information

Accelerate MySQL for Demanding OLAP and OLTP Use Cases with Apache Ignite. Peter Zaitsev, Denis Magda Santa Clara, California April 25th, 2017

Accelerate MySQL for Demanding OLAP and OLTP Use Cases with Apache Ignite. Peter Zaitsev, Denis Magda Santa Clara, California April 25th, 2017 Accelerate MySQL for Demanding OLAP and OLTP Use Cases with Apache Ignite Peter Zaitsev, Denis Magda Santa Clara, California April 25th, 2017 About the Presentation Problems Existing Solutions Denis Magda

More information

CHAPTER 1: GETTING STARTED WITH ASP.NET 4 1

CHAPTER 1: GETTING STARTED WITH ASP.NET 4 1 FOREWORD INTRODUCTION xxv xxvii CHAPTER 1: GETTING STARTED WITH ASP.NET 4 1 Microsoft Visual Web Developer 2 Getting Visual Web Developer 3 Installing Visual Web Developer Express 3 Creating Your First

More information

Scaling. Marty Weiner Grayskull, Eternia. Yashh Nelapati Gotham City

Scaling. Marty Weiner Grayskull, Eternia. Yashh Nelapati Gotham City Scaling Marty Weiner Grayskull, Eternia Yashh Nelapati Gotham City Pinterest is... An online pinboard to organize and share what inspires you. Relationships Marty Weiner Grayskull, Eternia Yashh Nelapati

More information

JavaScript Patterns O'REILLY* S toy an Stefanov. Sebastopol. Cambridge. Tokyo. Beijing. Farnham K8ln

JavaScript Patterns O'REILLY* S toy an Stefanov. Sebastopol. Cambridge. Tokyo. Beijing. Farnham K8ln JavaScript Patterns S toy an Stefanov O'REILLY* Beijing Cambridge Farnham K8ln Sebastopol Tokyo Table of Contents Preface xiii 1. Introduction 1 Patterns 1 JavaScript: Concepts 3 Object-Oriented 3 No Classes

More information

EnGiNeErInG HtMl5 applications for better performance

EnGiNeErInG 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 information

CSC309 Final Lecture

CSC309 Final Lecture CSC309 Final Lecture Final Exam No aids allowed Some programming - vanilla JavaScript Short answer type questions Some code reading Comprehensive (except Chrome extensions) PLEASE HAND IN UNIVERSITY OF

More information

Uniform Resource Locators (URL)

Uniform Resource Locators (URL) The World Wide Web Web Web site consists of simply of pages of text and images A web pages are render by a web browser Retrieving a webpage online: Client open a web browser on the local machine The web

More information

Executive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?

Executive 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 information

Global Servers. The new masters

Global Servers. The new masters Global Servers The new masters Course so far General OS principles processes, threads, memory management OS support for networking Protocol stacks TCP/IP, Novell Netware Socket programming RPC - (NFS),

More information

Executive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?

Executive 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 information

Web Applications. Software Engineering 2017 Alessio Gambi - Saarland University

Web 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 information

Control for CloudFlare - Installation and Preparations

Control for CloudFlare - Installation and Preparations Control for CloudFlare - Installation and Preparations Installation Backup your web directory and Magento 2 store database; Download Control for CloudFlare installation package; Copy files to /app/firebear/cloudflare/

More information

DATABASE SYSTEMS. Database programming in a web environment. Database System Course,

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016-2017 AGENDA FOR TODAY The final project Advanced Mysql Database programming Recap: DB servers in the web Web programming

More information

COPYRIGHTED MATERIAL. Contents. Chapter 1: Creating Structured Documents 1

COPYRIGHTED MATERIAL. Contents. Chapter 1: Creating Structured Documents 1 59313ftoc.qxd:WroxPro 3/22/08 2:31 PM Page xi Introduction xxiii Chapter 1: Creating Structured Documents 1 A Web of Structured Documents 1 Introducing XHTML 2 Core Elements and Attributes 9 The

More information

Improve WordPress performance with caching and deferred execution of code. Danilo Ercoli Software Engineer

Improve WordPress performance with caching and deferred execution of code. Danilo Ercoli Software Engineer Improve WordPress performance with caching and deferred execution of code Danilo Ercoli Software Engineer http://daniloercoli.com Agenda PHP Caching WordPress Page Caching WordPress Object Caching Deferred

More information

Bigtable. Presenter: Yijun Hou, Yixiao Peng

Bigtable. Presenter: Yijun Hou, Yixiao Peng Bigtable Fay Chang, Jeffrey Dean, Sanjay Ghemawat, Wilson C. Hsieh, Deborah A. Wallach Mike Burrows, Tushar Chandra, Andrew Fikes, Robert E. Gruber Google, Inc. OSDI 06 Presenter: Yijun Hou, Yixiao Peng

More information

Introduction. Part I: jquery API 1. Chapter 1: Introduction to jquery 3

Introduction. Part I: jquery API 1. Chapter 1: Introduction to jquery 3 Introduction xix Part I: jquery API 1 Chapter 1: Introduction to jquery 3 What Does jquery Do for Me? 4 Who Develops jquery? 5 Obtaining jquery 5 Installing jquery 5 Programming Conventions 8 XHTML and

More information

Scaling. Yashh Nelapati Gotham City. Marty Weiner Krypton. Friday, July 27, 12

Scaling. Yashh Nelapati Gotham City. Marty Weiner Krypton. Friday, July 27, 12 Scaling Marty Weiner Krypton Yashh Nelapati Gotham City Pinterest is... An online pinboard to organize and share what inspires you. Relationships Marty Weiner Grayskull, Eternia Relationships Marty

More information

Executive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?

Executive 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 information

Website Acceleration with mod_pagespeed

Website 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 information

Feedback: Twitter: #TechTalk #wpo #io2011. Make The Web Faster. Joshua Marantz Richard Rabbat Håkon Wium Lie.

Feedback: Twitter:  #TechTalk #wpo #io2011. Make The Web Faster. Joshua Marantz Richard Rabbat Håkon Wium Lie. Feedback: Twitter: http://goo.gl/vf47i #TechTalk #wpo #io2011 Make The Web Faster Joshua Marantz Richard Rabbat Håkon Wium Lie May 10, 2011 Agenda mod_pagespeed Joshua Marantz Feedback: Twitter: http://goo.gl/vf47i

More information

Designing, Scoping, and Configuring Scalable LAMP Infrastructure

Designing, Scoping, and Configuring Scalable LAMP Infrastructure Designing, Scoping, and Configuring Scalable LAMP Infrastructure Presented 2010-05-19 by About me About me Founded Four Kitchens in 2006 while at UT Austin About me Founded Four Kitchens in 2006 while

More information

CISC 7610 Lecture 2b The beginnings of NoSQL

CISC 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 information

COPYRIGHTED MATERIAL

COPYRIGHTED MATERIAL Introduction xxiii Chapter 1: Apache Tomcat 1 Humble Beginnings: The Apache Project 2 The Apache Software Foundation 3 Tomcat 3 Distributing Tomcat: The Apache License 4 Comparison with Other Licenses

More information

<Insert Picture Here> MySQL Cluster What are we working on

<Insert Picture Here> MySQL Cluster What are we working on MySQL Cluster What are we working on Mario Beck Principal Consultant The following is intended to outline our general product direction. It is intended for information purposes only,

More information

A Library and Proxy for SPDY

A 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 information

A Review Of Non Relational Databases, Their Types, Advantages And Disadvantages

A Review Of Non Relational Databases, Their Types, Advantages And Disadvantages A Review Of Non Relational Databases, Their Types, Advantages And Disadvantages Harpreet kaur, Jaspreet kaur, Kamaljit kaur Student of M.Tech(CSE) Student of M.Tech(CSE) Assit.Prof.in CSE deptt. Sri Guru

More information

Executive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues

Executive 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 information

Front End Optimization for Enterprise Grade Applications

Front End Optimization for Enterprise Grade Applications WHITE PAPER Front End Optimization for Enterprise Grade Applications WHITE PAPER SERIES FOR DEVELOPING ENTERPRISE GRADE APPLICATIONS Publication Number: WP001 Table of Contents Introduction...........................................

More information

Performance Report for: Report generated: Tuesday, June 30, 2015, 3:21 AM -0700

Performance 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 information

Manual Mysql Query Cache Hit Rate 0

Manual Mysql Query Cache Hit Rate 0 Manual Mysql Query Cache Hit Rate 0 B) why the Table cache hit rate is only 56% How can i achieve better cache hit rate? (OK) Currently running supported MySQL version 5.5.43-0+deb7u1-log or complex to

More information

Spotify. Scaling storage to million of users world wide. Jimmy Mårdell October 14, 2014

Spotify. Scaling storage to million of users world wide. Jimmy Mårdell October 14, 2014 Cassandra @ Spotify Scaling storage to million of users world wide! Jimmy Mårdell October 14, 2014 2 About me Jimmy Mårdell Tech Product Owner in the Cassandra team 4 years at Spotify

More information

Foreword xxiii Preface xxvii IPv6 Rationale and Features

Foreword xxiii Preface xxvii IPv6 Rationale and Features Contents Foreword Preface xxiii xxvii 1 IPv6 Rationale and Features 1 1.1 Internet Growth 1 1.1.1 IPv4 Addressing 1 1.1.2 IPv4 Address Space Utilization 3 1.1.3 Network Address Translation 5 1.1.4 HTTP

More information

COPYRIGHTED MATERIAL. Contents at a Glance

COPYRIGHTED MATERIAL. Contents at a Glance Contents at a Glance Introduction xxiii Chapter 1 Planning the Logical Architecture 1 Chapter 2 Designing the Physical Architecture 47 Chapter 3 Integrating SharePoint with the Network Infrastructure 127

More information

CIB Session 12th NoSQL Databases Structures

CIB Session 12th NoSQL Databases Structures CIB Session 12th NoSQL Databases Structures By: Shahab Safaee & Morteza Zahedi Software Engineering PhD Email: safaee.shx@gmail.com, morteza.zahedi.a@gmail.com cibtrc.ir cibtrc cibtrc 2 Agenda What is

More information

CIT 668: System Architecture. Distributed Databases

CIT 668: System Architecture. Distributed Databases CIT 668: System Architecture Distributed Databases Topics 1. MySQL 2. Concurrency 3. Transactions and ACID 4. Database scaling 5. Replication 6. Partitioning 7. Brewer s CAP Theorem 8. ACID vs. BASE 9.

More information

Scaling DreamFactory

Scaling 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 information

CISC 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 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 information

MySQL Database Administrator Training NIIT, Gurgaon India 31 August-10 September 2015

MySQL Database Administrator Training NIIT, Gurgaon India 31 August-10 September 2015 MySQL Database Administrator Training Day 1: AGENDA Introduction to MySQL MySQL Overview MySQL Database Server Editions MySQL Products MySQL Services and Support MySQL Resources Example Databases MySQL

More information

Overview. * Some History. * What is NoSQL? * Why NoSQL? * RDBMS vs NoSQL. * NoSQL Taxonomy. *TowardsNewSQL

Overview. * Some History. * What is NoSQL? * Why NoSQL? * RDBMS vs NoSQL. * NoSQL Taxonomy. *TowardsNewSQL * Some History * What is NoSQL? * Why NoSQL? * RDBMS vs NoSQL * NoSQL Taxonomy * Towards NewSQL Overview * Some History * What is NoSQL? * Why NoSQL? * RDBMS vs NoSQL * NoSQL Taxonomy *TowardsNewSQL NoSQL

More information

Executive Summary. Performance Report for: https://edwardtbabinski.us/blogger/social/index. The web should be fast. How does this affect me?

Executive 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 information

Introduction Aggregate data model Distribution Models Consistency Map-Reduce Types of NoSQL Databases

Introduction Aggregate data model Distribution Models Consistency Map-Reduce Types of NoSQL Databases Introduction Aggregate data model Distribution Models Consistency Map-Reduce Types of NoSQL Databases Key-Value Document Column Family Graph John Edgar 2 Relational databases are the prevalent solution

More information

BIG-IP Access Policy Manager : Portal Access. Version 12.1

BIG-IP Access Policy Manager : Portal Access. Version 12.1 BIG-IP Access Policy Manager : Portal Access Version 12.1 Table of Contents Table of Contents Overview of Portal Access...7 Overview: What is portal access?...7 About portal access configuration elements...7

More information

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Winter 2015 Lecture 14 NoSQL

CSE 544 Principles of Database Management Systems. Magdalena Balazinska Winter 2015 Lecture 14 NoSQL CSE 544 Principles of Database Management Systems Magdalena Balazinska Winter 2015 Lecture 14 NoSQL References Scalable SQL and NoSQL Data Stores, Rick Cattell, SIGMOD Record, December 2010 (Vol. 39, No.

More information

Snapt Accelerator Manual

Snapt Accelerator Manual Snapt Accelerator Manual Version 2.0 pg. 1 Contents Chapter 1: Introduction... 3 Chapter 2: General Usage... 3 Accelerator Dashboard... 4 Standard Configuration Default Settings... 5 Standard Configuration

More information

MySQL Replication Options. Peter Zaitsev, CEO, Percona Moscow MySQL User Meetup Moscow,Russia

MySQL Replication Options. Peter Zaitsev, CEO, Percona Moscow MySQL User Meetup Moscow,Russia MySQL Replication Options Peter Zaitsev, CEO, Percona Moscow MySQL User Meetup Moscow,Russia Few Words About Percona 2 Your Partner in MySQL and MongoDB Success 100% Open Source Software We work with MySQL,

More information

Presented by Sunnie S Chung CIS 612

Presented by Sunnie S Chung CIS 612 By Yasin N. Silva, Arizona State University Presented by Sunnie S Chung CIS 612 This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. See http://creativecommons.org/licenses/by-nc-sa/4.0/

More information

IN PRACTICE. Daniele Bochicchio Stefano Mostarda Marco De Sanctis. Includes 106 practical techniques MANNING

IN PRACTICE. Daniele Bochicchio Stefano Mostarda Marco De Sanctis. Includes 106 practical techniques MANNING IN PRACTICE Daniele Bochicchio Stefano Mostarda Marco De Sanctis Includes 106 practical techniques MANNING contents preface xv acknowledgments xvii about this book xix about the authors xxiii about the

More information

NoSQL Databases MongoDB vs Cassandra. Kenny Huynh, Andre Chik, Kevin Vu

NoSQL Databases MongoDB vs Cassandra. Kenny Huynh, Andre Chik, Kevin Vu NoSQL Databases MongoDB vs Cassandra Kenny Huynh, Andre Chik, Kevin Vu Introduction - Relational database model - Concept developed in 1970 - Inefficient - NoSQL - Concept introduced in 1980 - Related

More information

RocksDB Key-Value Store Optimized For Flash

RocksDB Key-Value Store Optimized For Flash RocksDB Key-Value Store Optimized For Flash Siying Dong Software Engineer, Database Engineering Team @ Facebook April 20, 2016 Agenda 1 What is RocksDB? 2 RocksDB Design 3 Other Features What is RocksDB?

More information

Highly Scalable, Ultra-Fast and Lots of Choices

Highly Scalable, Ultra-Fast and Lots of Choices Highly Scalable, Ultra-Fast and Lots of Choices A Pattern Approach to NoSQL Tim Wellhausen kontakt@tim-wellhausen.de http://www.tim-wellhausen.de November 07, 2012 Introduction The main motivation to evaluate

More information

Big Data Infrastructure CS 489/698 Big Data Infrastructure (Winter 2017)

Big Data Infrastructure CS 489/698 Big Data Infrastructure (Winter 2017) Big Data Infrastructure CS 489/698 Big Data Infrastructure (Winter 2017) Week 10: Mutable State (1/2) March 14, 2017 Jimmy Lin David R. Cheriton School of Computer Science University of Waterloo These

More information

Executive Summary. Performance Report for: The web should be fast. Top 4 Priority Issues

Executive 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 information

JavaScript CS 4640 Programming Languages for Web Applications

JavaScript CS 4640 Programming Languages for Web Applications JavaScript CS 4640 Programming Languages for Web Applications 1 How HTML, CSS, and JS Fit Together {css} javascript() Content layer The HTML gives the page structure and adds semantics Presentation

More information

Distributed Systems. 29. Distributed Caching Paul Krzyzanowski. Rutgers University. Fall 2014

Distributed Systems. 29. Distributed Caching Paul Krzyzanowski. Rutgers University. Fall 2014 Distributed Systems 29. Distributed Caching Paul Krzyzanowski Rutgers University Fall 2014 December 5, 2014 2013 Paul Krzyzanowski 1 Caching Purpose of a cache Temporary storage to increase data access

More information

System Administration of PTC Windchill 11.0

System Administration of PTC Windchill 11.0 System Administration of PTC Windchill 11.0 Overview Course Code Course Length TRN-4830-T 16 Hours In this course, you will gain an understanding of how to perform routine Windchill system administration

More information

Fundamentals of Web Development. Web Development. Fundamentals of. Global edition. Global edition. Randy Connolly Ricardo Hoar

Fundamentals of Web Development. Web Development. Fundamentals of. Global edition. Global edition. Randy Connolly Ricardo Hoar Connolly Hoar This is a special edition of an established title widely used by colleges and universities throughout the world. Pearson published this exclusive edition for the benefit of students outside

More information

Full Stack boot camp

Full Stack boot camp Name Full Stack boot camp Duration (Hours) JavaScript Programming 56 Git 8 Front End Development Basics 24 Typescript 8 React Basics 40 E2E Testing 8 Build & Setup 8 Advanced JavaScript 48 NodeJS 24 Building

More information

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

This 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 information

CS WEB TECHNOLOGY

CS 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 information

Design Patterns for Large- Scale Data Management. Robert Hodges OSCON 2013

Design Patterns for Large- Scale Data Management. Robert Hodges OSCON 2013 Design Patterns for Large- Scale Data Management Robert Hodges OSCON 2013 The Start-Up Dilemma 1. You are releasing Online Storefront V 1.0 2. It could be a complete bust 3. But it could be *really* big

More information

Developer Internship Opportunity at I-CC

Developer Internship Opportunity at I-CC Developer Internship Opportunity at I-CC Who We Are: Technology company building next generation publishing and e-commerce solutions Aiming to become a leading European Internet technology company by 2015

More information

Web. Computer Organization 4/16/2015. CSC252 - Spring Web and HTTP. URLs. Kai Shen

Web. Computer Organization 4/16/2015. CSC252 - Spring Web and HTTP. URLs. Kai Shen Web and HTTP Web Kai Shen Web: the Internet application for distributed publishing and viewing of content Client/server model server: hosts published content and sends the content upon request client:

More information

ITS. MySQL for Database Administrators (40 Hours) (Exam code 1z0-883) (OCP My SQL DBA)

ITS. MySQL for Database Administrators (40 Hours) (Exam code 1z0-883) (OCP My SQL DBA) MySQL for Database Administrators (40 Hours) (Exam code 1z0-883) (OCP My SQL DBA) Prerequisites Have some experience with relational databases and SQL What will you learn? The MySQL for Database Administrators

More information

Zeeshan Naseh, CCIE No Haroon Khan, CCIE No. 4530

Zeeshan Naseh, CCIE No Haroon Khan, CCIE No. 4530 Desi So! itching s Zeeshan Naseh, CCIE No. 6838 Haroon Khan, CCIE No. 4530 Cisco Press 800 Eas Indianapolis, Indiana Table of Contents Foreword Introduction xxv xxvi Part I Server Load Balancing (SLB)

More information

Benchmarking Cloud Serving Systems with YCSB 詹剑锋 2012 年 6 月 27 日

Benchmarking Cloud Serving Systems with YCSB 詹剑锋 2012 年 6 月 27 日 Benchmarking Cloud Serving Systems with YCSB 詹剑锋 2012 年 6 月 27 日 Motivation There are many cloud DB and nosql systems out there PNUTS BigTable HBase, Hypertable, HTable Megastore Azure Cassandra Amazon

More information

object/relational persistence What is persistence? 5

object/relational persistence What is persistence? 5 contents foreword to the revised edition xix foreword to the first edition xxi preface to the revised edition xxiii preface to the first edition xxv acknowledgments xxviii about this book xxix about the

More information

Foundations of Python

Foundations of Python Foundations of Python Network Programming The comprehensive guide to building network applications with Python Second Edition Brandon Rhodes John Goerzen Apress Contents Contents at a Glance About the

More information

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3

COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3 COURSE OUTLINE MOC 20480: PROGRAMMING IN HTML5 WITH JAVASCRIPT AND CSS3 MODULE 1: OVERVIEW OF HTML AND CSS This module provides an overview of HTML and CSS, and describes how to use Visual Studio 2012

More information

Beginner's Guide to Performance! Jonathan Rowny

Beginner's Guide to Performance! Jonathan Rowny Beginner's Guide to Performance! Jonathan Rowny JonathanRowny Software Architect @ AboutWeb Speaking at RIACon next week about NodeJS jrowny.com @jrowny github.com/jrowny jrowny@aboutweb.com We have a

More information

10 Million Smart Meter Data with Apache HBase

10 Million Smart Meter Data with Apache HBase 10 Million Smart Meter Data with Apache HBase 5/31/2017 OSS Solution Center Hitachi, Ltd. Masahiro Ito OSS Summit Japan 2017 Who am I? Masahiro Ito ( 伊藤雅博 ) Software Engineer at Hitachi, Ltd. Focus on

More information

Networking & The Web. HCID 520 User Interface Software & Technology

Networking & The Web. HCID 520 User Interface Software & Technology Networking & The Web HCID 520 User Interface Software & Technology Uniform Resource Locator (URL) http://info.cern.ch:80/ 1991 HTTP v0.9 Uniform Resource Locator (URL) http://info.cern.ch:80/ Scheme/Protocol

More information

Relational databases

Relational databases COSC 6397 Big Data Analytics NoSQL databases Edgar Gabriel Spring 2017 Relational databases Long lasting industry standard to store data persistently Key points concurrency control, transactions, standard

More information

Executive Summary. Performance Report for: The web should be fast. Top 5 Priority Issues. How does this affect me?

Executive 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 information