Caching and tuning fun for high scalability. Wim Godden Cu.be Solutions
|
|
- Kevin Davis
- 5 years ago
- Views:
Transcription
1 Caching and tuning fun for high scalability Wim Godden Cu.be Solutions
2 Who am I? Wim Godden Owner of Cu.be Solutions ( Open Source developer since 1997 Developer of OpenX Zend Certified Engineer Zend Framework Certified Engineer MySQL Certified Developer
3 Who are you? Developers? System/network engineers? Managers? Caching experience?
4 Goals of this tutorial Everything about caching and tuning A few techniques How-to How-NOT-to Increase reliability, performance and scalability 5 visitors/day 5 million visitors/day (Don't expect miracle cure!)
5 LAMP
6 Architecture
7 Test page 3 DB-queries select firstname, lastname, from user where user_id = 5; select title, createddate, body from article order by createddate desc limit 5; select title, createddate, body from article order by score desc limit 5; Page just outputs result
8 Our base benchmark Apachebench = useful enough Result? Single webserver Apache + PHP Proxy Static PHP Static PHP Limit : CPU, network or disk Limit : database
9 Caching
10 What is caching? CACHE CACHE
11 What is caching? x = 5, y = 2 n = 50 Same result CACHE CACHE select * from article join user on article.user_id = user.id order by created desc limit 10 Doesn't change all the time
12 Theory of caching DB le tab lt rom resu f d ta da turne t c e re sel ta = $da if ($data == false) Page GET /page set( 'key ', $da fal $data) ta = se get( 'key ') Cache
13 Theory of caching DB HIT Cache
14 Caching techniques #1 : Store entire pages #2 : Store part of a page (block) #3 : Store data retrieval (SQL?) #4 : Store complex processing result #? : Your call! When you have data, think : Creating time? Modification frequency? Retrieval frequency?
15 How to find cacheable data New projects : start from 'cache everything' Existing projects : Look at MySQL slow query log Make a complete query log (don't forget to turn it off!) Check page loading times
16 Caching storage - Disk Data with few updates : good Caching SQL queries : preferably not DON'T use NFS or other network file systems especially for sessions locking issues! high latency
17 Caching storage - Disk / ramdisk Local 5 Webservers 5 local caches How will you keep them synchronized? Don't say NFS or rsync!
18 Caching storage - Memcache(d) Facebook, Twitter, YouTube, need we say more? Distributed memory caching system Multiple machines 1 big memory-based hash-table Key-value storage system Keys - max. 250bytes Values - max. 1Mbyte
19 Caching storage - Memcache(d) Facebook, Twitter, YouTube, need we say more? Distributed memory caching system Key-value storage system Keys - max. 250bytes Values - max. 1Mbyte Extremely fast... non-blocking, UDP (!)
20 Memcache - where to install
21 Memcache - where to install
22 Memcache - installation & running it Installation Distribution package PECL Windows : binaries Running No config-files memcached -d -m <mem> -l <ip> -p <port> ex. : memcached -d -m l p 11211
23 Caching storage - Memcache - some notes Not fault-tolerant It's a cache! Lose session data Lose shopping cart data...
24 Caching storage - Memcache - some notes Not fault-tolerant It's a cache! Lose session data Lose shopping cart data Firewall your Memcache port!
25 Memcache in code <?php $memcache = new Memcache(); $memcache->addserver(' ', 11211); $memcache->addserver(' ', 11211); $mydata = $memcache->get('mykey'); if ($mydata === false) { $mydata = GetMyDataFromDB(); // Put it in Memcache as 'mykey', without compression, with no expiration $memcache->set('mykey', $mydata, false, 0); } echo $mydata;
26 Benchmark with Memcache Single webserver Proxy Static PHP Static PHP Apache + PHP Apache + PHP + MC
27 Memcache slabs (or why Memcache says it's full when it's not) Multiple slabs of different sizes : Slab 1 : 400 bytes Slab 2 : 480 bytes (400 * 1.2) Slab 3 : 576 bytes (480 * 1.2) (and so on...) Multiplier (1.2 here) can be configured Store a lot of very large objects Large slabs : full Rest : free Eviction of data!
28 Memcache - Is it working? Connect to it using telnet "stats" command Use Cacti or other monitoring tools STAT pid 2941 STAT uptime STAT time STAT version STAT pointer_size 64 STAT rusage_user STAT rusage_system STAT curr_connections 16 STAT total_connections STAT connection_structures 96 STAT cmd_get STAT cmd_set STAT cmd_flush 0 STAT get_hits STAT get_misses STAT delete_misses 101 STAT delete_hits STAT incr_misses 0 STAT incr_hits 0 STAT decr_misses 0 STAT decr_hits 0 STAT cas_misses 0 STAT cas_hits 0 STAT cas_badval 0 STAT auth_cmds 0 STAT auth_errors 0 STAT bytes_read STAT bytes_written STAT limit_maxbytes STAT accepting_conns 1 STAT listen_disabled_num 0 STAT threads 4 STAT conn_yields 0 STAT bytes STAT curr_items STAT total_items STAT evictions 0 STAT reclaimed 0
29 Memcache - backing up
30 Memcache - tip Page with multiple blocks? use Memcached::getMulti() getmulti($array) Hashing algorithm But : what if you get some hits and some misses?
31 Updating data
32 Updating data LCD_Popular_Product_List
33 Adding/updating data $memcache->delete('lcd_popular_product_list');
34 Adding/updating data
35 Adding/updating data - Why it crashed
36 Adding/updating data - Why it crashed
37 Adding/updating data - Why it crashed
38 Cache stampeding
39 Cache stampeding
40 Memcache code? Memcache code Visitor interface Admin interface DB
41 Cache warmup scripts Used to fill your cache when it's empty Run it before starting Webserver! 2 ways : Visit all URLs Error-prone Hard to maintain Call all cache-updating methods Make sure you have a warmup script!
42 Cache stampeding - what about locking? Seems like a nice idea, but... While lock in place What if the process that created the lock fails?
43 LAMP... LAMMP LNMMP
44 Nginx Web server Reverse proxy Lightweight, fast 12.2% of all Websites
45 Nginx No threads, event-driven Uses epoll / kqueue Low memory footprint active connections = normal
46 Nginx - Configuration server { listen server_name index root 80; *.domain.ext; index.html; /home/domain.ext/www; } server { listen server_name index root } 80; photo.domain.ext; index.html; /home/domain.ext/photo;
47 Nginx with PHP-FPM Since PHP Runs on port 9000 Nginx connects using fastcgi method location / { fastcgi_pass :9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param SCRIPT_FILENAME /home/ fastcgi_param SERVER_NAME $host; fastcgi_intercept_errors on; }
48 Nginx + PHP-FPM features Graceful upgrade Spawn new processes under high load Chroot Slow request log!
49 Nginx + PHP-FPM features Graceful upgrade Spawn new processes under high load Chroot Slow request log! fastcgi_finish_request() offline processing
50 Nginx + PHP-FPM - performance? Single webserver Proxy Static PHP Static PHP Apache + PHP Apache + PHP + MC Nginx + PHP-FPM + MC Limit : single-threaded Apachebench
51 Reverse proxy time...
52 Varnish Not just a load balancer Reverse proxy cache / http accelerator / Caches (parts of) pages in memory Careful : uses threads (like Apache) Nginx usually scales better (but doesn't have VCL)
53 Varnish - backends + load balancing backend server1 {.host = " "; } backend server2 {.host = " "; } director example_director round-robin { {.backend = server1; } {.backend = server2; } }
54 Varnish - VCL Varnish Configuration Language DSL (Domain Specific Language) compiled to C Hooks into each request Defines : Backends (web servers) ACLs Load balancing strategy Can be reloaded while running
55 Varnish - whatever you want Real-time statistics (varnishtop, varnishhist,...) ESI
56 Varnish - ESI Perfect for caching pages Header (TTL : 60 min) /top Latest news (TTL : 2 min) /news Navigation (TTL : 60 min) /nav Article content page Article content (TTL : 15 min) /article/732 In your article page output : <esi:include src="/top"/> <esi:include src="/nav"/> <esi:include src="/news"/> <esi:include src="/article/732"/> In your Varnish config : sub vcl_fetch { if (req.url == "/news") { esi; /* Do ESI processing */ set obj.ttl = 2m; } elseif (req.url == "/nav") { esi; set obj.ttl = 1m; } elseif.. }
57 Varnish with ESI - hold on tight! Single webserver Proxy Static PHP Static PHP Apache + PHP Apache + PHP + MC Nginx + PHP-FPM + MC Varnish
58 Varnish - what can/can't be cached? Can : Static pages Images, js, css Pages or parts of pages that don't change often (ESI) Can't : POST requests Very large files (it's not a file server!) Requests with Set-Cookie User-specific content
59 ESI no caching on user-specific content? Logged in as : Wim Godden TTL = 0s? TTL=1h 5 messages TTL = 5min
60 Coming soon... Based on Nginx Reduces load by 50 95% Requires code changes! Well-built project few changes Effect on webservers and database servers
61 What's the result?
62 What's the result?
63 Figures First customer : No. of web servers : 18 4 No. of db servers : 6 2 Total : 24 6 (75% reduction!) Second customer (already using Nginx + Memcache) : No. of web servers : 72 8 No. of db servers : 15 4 Total : (86% reduction!)
64 Availability Stable at 2 customers Still under heavy development Beta : July 2012 Final : Sep 2012
65 PHP speed - some tips Upgrade PHP - every minor release has 5-15% speed gain! Use an opcode cache (APC, eaccelerator, XCache)
66 DB speed - some tips Use same types for joins i.e. don't join decimal with int RAND() is evil! count(*) is evil in InnoDB without a where clause! Persistent connect is sort-of evil
67 Caching & frontend
68 Frontend tuning 1. You optimize backend 2. Frontend engineers messes up havoc on backend 3. Don't forget : frontend sends requests to backend! SO... Care about frontend Test frontend Check what requests frontend sends to backend
69 Tuning frontend Minimize requests Combine CSS/JavaScript files
70 Tuning frontend Minimize requests Combine CSS/JavaScript files Use CSS Sprites
71 CSS Sprites
72 Tuning content - CSS sprites
73 Tuning content - CSS sprites 11 images 11 HTTP requests 24KByte 1 image 1 HTTP requests 14KByte
74 Tuning frontend Minimize requests Combine CSS/JavaScript files Use CSS Sprites (horizontally if possible) Put CSS at top Put JavaScript at bottom Max. no connections Especially if JavaScript does Ajax (advertising-scripts, )! Avoid iframes Again : max no. of connections Don't scale images in HTML Have a favicon.ico (don't 404 it!) see my blog
75 What else can kill your site? Redirect loops Multiple requests More load on Webserver More PHP to process Additional latency for visitor Try to avoid redirects anyway In ZF : use $this->_forward instead of $this->_redirect Watch your logs, but equally important... Watch the logging process Logging = disk I/O can kill your server!
76 Above all else... be prepared! Have a monitoring system Use a cache abstraction layer (disk Memcache) Don't install for the worst prepare for the worst Have a test-setup Have fallbacks Turn off non-critical functionality
77 So... Cache But : never delete, always push! Have a warmup script Monitor your cache Have an abstraction layer Apache = fine, Nginx = better Static pages? Use Varnish Tune your frontend impact on backend!
78 Questions?
79 Questions?
80 We're hiring! Lots of challenges Work with cutting-edge technology Varied : PHP development System / network architecture Scalability services Build our own services Work on Open Source mail us : info@cu.be
81 Contact Twitter Web Slides Please... Rate my talk :
82 Thanks! Please... Rate my talk :
83
MEMCACHED - QUICK GUIDE MEMCACHED - OVERVIEW
MEMCACHED - QUICK GUIDE http://www.tutorialspoint.com//_quick_guide.htm Copyright tutorialspoint.com MEMCACHED - OVERVIEW Memcached is an open source, high-performance, distributed memory caching system
More informationMemcached is an open source, high-performance, distributed memory object caching system.
i About the Tutorial Memcached is an open source, high-performance, distributed memory object caching system. This tutorial provides a basic understanding of all the relevant concepts of Memcached needed
More informationApc & Memcached the High- Performance Duo. Barcelona 2010 Ilia Alshanetsky
Apc & Memcached the High- Performance Duo Barcelona 2010 Ilia Alshanetsky 1 What is APC? Alternative PHP Cache Primarily designed to accelerate script performance via opcode caching Extends opcode caching
More informationCaching with Memcached
Caching with Memcached Ilia Alshanetsky @iliaa 1 whois: Ilia Alshanetsky PHP Core Developer Co-Author of Memcached Extension CIO at Centah Inc. we are hiring btw ;-) 2 Memcached Interface to Memcached
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 informationReal World Web Scalability. Ask Bjørn Hansen Develooper LLC
Real World Web Scalability Ask Bjørn Hansen Develooper LLC Hello. 28 brilliant methods to make your website keep working past $goal requests/transactions/sales per second/hour/day Requiring minimal extra
More informationHow to pimp high volume PHP websites. 27. September 2008, PHP conference Barcelona. By Jens Bierkandt
How to pimp high volume PHP websites 27. September 2008, PHP conference Barcelona By Jens Bierkandt 1 About me Jens Bierkandt Working with PHP since 2000 From Germany, living in Spain, speaking English
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 informationINFUZE NGINX MODULE USER GUIDE
"The first step in a great mobile experience" INFUZE NGINX MODULE USER GUIDE Support The ScientiaMobile Support Forum is open to all WURFL users, both commercial license holders and evaluation users. It
More informationImprove 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 informationBeginner'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 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 informationSite Performance, Optimization and Scalability Alan Dixon
Site Performance, Optimization and Scalability Alan Dixon http://blackflysolutions.ca/ Khalid Baheyeldin http://2bits.com DrupalCamp Toronto 2011 Agenda Introduction Symptoms and Tips Hardware and Software
More informationmemcached Functions For MySQL: Seemless caching for MySQL Patrick Galbraith, Lycos Inc.
memcached Functions For MySQL: Seemless caching for MySQL Patrick Galbraith, Lycos Inc. About the speaker Patrick Galbraith Principal Software Engineer, Lycos 16 Years dabbling in Open Source Author of
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 informationAPC & Memcache the High Performance Duo. ZendCon Ilia Alshanetsky
APC & Memcache the High Performance Duo ZendCon 2009 - Ilia Alshanetsky 1 What is APC? Alternative PHP Cache Primarily designed to accelerate script performance via opcode caching Extends opcode caching
More informationManual 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 informationPersistence. SWE 432, Fall 2017 Design and Implementation of Software for the Web
Persistence SWE 432, Fall 2017 Design and Implementation of Software for the Web Today Demo: Promises and Timers What is state in a web application? How do we store it, and how do we choose where to store
More informationFaster Programs = Happier Users. David McKinnis SureTech.com
Faster Programs = Happier Users David McKinnis SureTech.com davidmck@suretech.com www.suretech.com/performance_talk_slides Who Am I? David McKinnis Co-Founder, CTO of SureTech.com BTI 5000 Apple II Macintosh
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 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 informationHigh Availability High Performance Plone
High Availability High Performance Plone Guido Stevens guido.stevens@cosent.nl www.cosent.nl Social Knowledge Technology Plone Worldwide Resilience Please wave, to improve my speech Plone as usual Aspeli:
More informationHigh Availability/ Clustering with Zend Platform
High Availability/ Clustering with Zend Platform David Goulden Product Manager goulden@zend.com Copyright 2007, Zend Technologies Inc. In this Webcast Introduction to Web application scalability using
More informationHigh 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 informationWEB SECURITY WORKSHOP TEXSAW Presented by Solomon Boyd and Jiayang Wang
WEB SECURITY WORKSHOP TEXSAW 2014 Presented by Solomon Boyd and Jiayang Wang Introduction and Background Targets Web Applications Web Pages Databases Goals Steal data Gain access to system Bypass authentication
More informationImprove Web Application Performance with Zend Platform
Improve Web Application Performance with Zend Platform Shahar Evron Zend Sr. PHP Specialist Copyright 2007, Zend Technologies Inc. Agenda Benchmark Setup Comprehensive Performance Multilayered Caching
More informationDesigning, 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 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 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 informationTraffic is coming! OMG moments
CASE STUDY Traffic is coming! OMG moments How Distinct helped evomag.ro handle Blackfriday 2013 traffic spike Summary: 1. Who 2. The Challenge 3. The Work 4. Aftermath 1. Who :: Bogdan Belu - Distinct
More informationOh yes, wpcache comes with a dashboard wpcache is not Plugin!
1 What is Happening? Oh yes, wpcache comes with a dashboard wpcache is not Plugin! Performance. Speed. Scalability. wpcache delivers world-class content delivery solutions. You are empowered to increase
More informationSetting up a LAMP server
Setting up a LAMP server What is a LAMP? Duh. Actually, we re interested in... Linux, Apache, Mysql, and PHP A pretty standard web server setup Not the only technology options! Linux Pick any! Common choices
More informationDistributed 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 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 informationBreaking the Scalability Barrier with Infinite Cache
Breaking the Scalability Barrier with Infinite Cache An EnterpriseDB White Paper for DBAs, Application Developers, and Enterprise Architects September, 2009 Breaking the Scalability Barrier with Infinite
More informationCommon Optimization Mistakes
Common Optimization Mistakes ZendCon 2009 Ilia Alshanetsky http://ilia.ws 1 Premature Optimization = Solve the business case, before optimizing the solution 2 Don t Over Engineer Understand your audience
More informationA memcached implementation in Java. Bela Ban JBoss 2340
A memcached implementation in Java Bela Ban JBoss 2340 AGENDA 2 > Introduction > memcached > memcached in Java > Improving memcached > Infinispan > Demo Introduction 3 > We want to store all of our data
More informationPersistence & State. SWE 432, Fall 2016 Design and Implementation of Software for the Web
Persistence & State SWE 432, Fall 2016 Design and Implementation of Software for the Web Today What s state for our web apps? How do we store it, where do we store it, and why there? For further reading:
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 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 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 informationCommon Optimization Mistakes
Common Optimization Mistakes Dutch PHP Conference 2010 Ilia Alshanetsky http://ilia.ws 1 Premature Optimization = Solve the business case, before optimizing the solution 2 Don t Over Engineer Understand
More informationControl 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 informationWhat is Drupal? What is this Drew-Paul thing you do?
What is Drupal? Or What is this Drew-Paul thing you do? Drupal for the average person Drupal lets me build websites that help people build their own websites without needing to know anything about programming
More informationAdvanced 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 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 informationGET /index.php HTTP/1.1 Host: User- agent: Mozilla/4.0
State management GET /index.php HTTP/1.1 Host: www.mtech.edu User- agent: Mozilla/4.0 HTTP/1.1 200 OK Date: Thu, 17 Nov 2011 15:54:10 GMT Server: Apache/2.2.16 (Debian) Content- Length: 285 Set- Cookie:
More informationthe road to cloud native applications Fabien Hermenier
the road to cloud native applications Fabien Hermenier 1 cloud ready applications single-tiered monolithic hardware specific cloud native applications leverage cloud services scalable reliable 2 Agenda
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 informationHello everyone! Page 1. Your folder should look like this. To start with Run your XAMPP app and start your Apache and MySQL.
Hello everyone! Welcome to our PHP + MySQL (Easy to learn) E.T.L. free online course Hope you have installed your XAMPP? And you have created your forms inside the studio file in the htdocs folder using
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 informationOverview Content Delivery Computer Networking Lecture 15: The Web Peter Steenkiste. Fall 2016
Overview Content Delivery 15-441 15-441 Computer Networking 15-641 Lecture 15: The Web Peter Steenkiste Fall 2016 www.cs.cmu.edu/~prs/15-441-f16 Web Protocol interactions HTTP versions Caching Cookies
More informationGroupWise Architecture and Best Practices. WebAccess. Kiran Palagiri Team Lead GroupWise WebAccess
GroupWise Architecture and Best Practices WebAccess Kiran Palagiri Team Lead GroupWise WebAccess kpalagiri@novell.com Ed Hanley Senior Architect ed.hanley@novell.com Agenda Kiran Palagiri Architectural
More information+ + a journey to zero-downtime
+ + a journey to zero-downtime James Halsall Technical Team Lead @ Inviqa Christian Dornhoff Head of IT (cross-channel) @ toom A bit about toom baumarkt One of Germany s biggest DIY companies Annual turnover
More informationPerformance Tuning and Optimization for large LAMP sites
Performance Tuning and Optimization for large LAMP sites Khalid Baheyeldin Ontario Linux Fest Toronto October 13, 2007 Agenda Introduction The LAMP Stack Linux, Apache, MySQL, PHP Drupal Database queries
More informationPhpmyadmin Error In Processing Request Error Code 200
Phpmyadmin Error In Processing Request Error Code 200 Error in Processing Request Error code: 200. Error text: OK. Yes..the JSON will be generated, but there will be also inserted a part for "phpmyadmin".
More informationDeployment. Chris Wilson, AfNOG / 26
Deployment Chris Wilson, AfNOG 2016 1 / 26 About this presentation Based on previous talks by Joel Jaeggli, Evelyn Namara and NSRC, with thanks! You can access this presentation at: Online: http://afnog.github.io/sse/apache/
More informationPHP. MIT 6.470, IAP 2010 Yafim Landa
PHP MIT 6.470, IAP 2010 Yafim Landa (landa@mit.edu) LAMP We ll use Linux, Apache, MySQL, and PHP for this course There are alternatives Windows with IIS and ASP Java with Tomcat Other database systems
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 informationManaging State. Chapter 13
Managing State Chapter 13 Textbook to be published by Pearson Ed 2015 in early Pearson 2014 Fundamentals of Web http://www.funwebdev.com Development Section 1 of 8 THE PROBLEM OF STATE IN WEB APPLICATIONS
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 informationAbout the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Drupal
About the Tutorial is a free and open source Content Management System (CMS) that allows organizing, managing and publishing your content. This reliable and secure CMS is built on PHP based environment
More informationSwitching to Innodb from MyISAM. Matt Yonkovit Percona
Switching to Innodb from MyISAM Matt Yonkovit Percona -2- DIAMOND SPONSORSHIPS THANK YOU TO OUR DIAMOND SPONSORS www.percona.com -3- Who We Are Who I am Matt Yonkovit Principal Architect Veteran of MySQL/SUN/Percona
More informationMastering 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 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 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 informationJSN PageBuilder 3 Configuration Manual Introduction
JSN PageBuilder 3 Configuration Manual Introduction About JSN PageBuilder 3 JSN PageBuilder 3 is the latest innovation of Joomla! PageBuilder with great improvements in the interface, features, and user
More informationThe Z-Files: Field reports from the world of business critical PHP applications
The Z-Files: Field reports from the world of business critical PHP applications By Axel Schinke Senior Manager of Global Operations for Global Services About this webinar Field reports from Zend Consulting
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 informationScaling a Web Site. Lecture 14: Scale-out Parallelism, Elasticity, and Caching
Lecture 14: Scaling a Web Site Scale-out Parallelism, Elasticity, and Caching Parallel Computer Architecture and Programming CMU 15-418/15-618, Spring 2017 Tunes Taylor Swift Shake it Off (1989) Not happy
More informationMemC3: MemCache with CLOCK and Concurrent Cuckoo Hashing
MemC3: MemCache with CLOCK and Concurrent Cuckoo Hashing Bin Fan (CMU), Dave Andersen (CMU), Michael Kaminsky (Intel Labs) NSDI 2013 http://www.pdl.cmu.edu/ 1 Goal: Improve Memcached 1. Reduce space overhead
More informationPerformance improvements in MySQL 5.5
Performance improvements in MySQL 5.5 Percona Live Feb 16, 2011 San Francisco, CA By Peter Zaitsev Percona Inc -2- Performance and Scalability Talk about Performance, Scalability, Diagnostics in MySQL
More informationCORE PHP CURRICULUM. Introductory Session Web Architecture Overview of PHP Platform Origins of PHP in the open source community
CORE PHP CURRICULUM What you will Be Able to Achieve During This Course This course will enable you to build real-world, dynamic web sites. If you've built websites using plain HTML, you realize the limitation
More informationOPTIMISING PHP-FPM FOR PRODUCTION
OPTIMISING PHP-FPM FOR PRODUCTION OPTIMISING PHP-FPM FOR PRODUCTION ARNE BLANKERTS Principal Consultant & Co-Founder thephp.cc SEBASTIAN HEUER Developer Advocate die kartenmacherei "I DON'T THINK I HAVE
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 informationgosint Documentation Release Cisco CSIRT
gosint Documentation Release 0.0.1 Cisco CSIRT Nov 20, 2017 Contents 1 Installation 3 1.1 Quick Installation............................................ 3 1.2 Manual Installation............................................
More informationInformatica Developer Tips for Troubleshooting Common Issues PowerCenter 8 Standard Edition. Eugene Gonzalez Support Enablement Manager, Informatica
Informatica Developer Tips for Troubleshooting Common Issues PowerCenter 8 Standard Edition Eugene Gonzalez Support Enablement Manager, Informatica 1 Agenda Troubleshooting PowerCenter issues require a
More informationDeployment Guide AX Series with Oracle E-Business Suite 12
Deployment Guide AX Series with Oracle E-Business Suite 12 DG_OEBS_032013.1 TABLE OF CONTENTS 1 Introduction... 4 2 Deployment Prerequisites... 4 3 Oracle E-Business Topology... 5 4 Accessing the AX Series
More informationMARKET RESPONSIVE PRESTASHOP THEME USER GUIDE
MARKET RESPONSIVE PRESTASHOP THEME USER GUIDE Version 1.0 Created by: arenathemes Page 1 Contents I. REQUIREMENTS & COMPATIBILITY... 3 II. INSTALLATION... 3 III. CONFIG AFTER INSTALLATION - THEME PACKAGE...
More informationBEGINNER PHP Table of Contents
Table of Contents 4 5 6 7 8 9 0 Introduction Getting Setup Your first PHP webpage Working with text Talking to the user Comparison & If statements If & Else Cleaning up the game Remembering values Finishing
More informationGoals. Facebook s Scaling Problem. Scaling Strategy. Facebook Three Layer Architecture. Workload. Memcache as a Service.
Goals Memcache as a Service Tom Anderson Rapid application development - Speed of adding new features is paramount Scale Billions of users Every user on FB all the time Performance Low latency for every
More informationDistributed Architectures & Microservices. CS 475, Spring 2018 Concurrent & Distributed Systems
Distributed Architectures & Microservices CS 475, Spring 2018 Concurrent & Distributed Systems GFS Architecture GFS Summary Limitations: Master is a huge bottleneck Recovery of master is slow Lots of success
More information"Stupid Easy" Scaling Tweaks and Settings. AKA Scaling for the Lazy
"Stupid Easy" Scaling Tweaks and Settings AKA Scaling for the Lazy I'm Lazy (and proud of it) The Benefits of "Lazy" Efficiency is king Dislike repetition Avoid spending a lot of time on things A Lazy
More informationAchieving Scalability and High Availability for clustered Web Services using Apache Synapse. Ruwan Linton WSO2 Inc.
Achieving Scalability and High Availability for clustered Web Services using Apache Synapse Ruwan Linton [ruwan@apache.org] WSO2 Inc. Contents Introduction Apache Synapse Web services clustering Scalability/Availability
More informationFour times Microservices: REST, Kubernetes, UI Integration, Async. Eberhard Fellow
Four times Microservices: REST, Kubernetes, UI Integration, Async Eberhard Wolff @ewolff http://ewolff.com Fellow http://continuous-delivery-buch.de/ http://continuous-delivery-book.com/ http://microservices-buch.de/
More informationFixed Header edream Market
User s Manual Magento Extension Fixed Header edream Market www.edreamag.com support@edreamag.com Fixed Header for Magento MODERN, SIMPLE AND PROFESSIONAL edream Fixed Header is a unique extension that
More informationHttp Error Code 403 Forbidden Dreamweaver Mysql
Http Error Code 403 Forbidden Dreamweaver Mysql Dreamweaver Database Http Error Code 403 Forbidden 오류 403 Forbidden Adobe Systems Inc. Adobe Dreamweaver. 459. Dreamweaver Error 1045 오류. They can range
More informationManual Trigger Sql Server 2008 Update Inserted Rows
Manual Trigger Sql Server 2008 Update Inserted Rows Am new to SQL scripting and SQL triggers, any help will be appreciated Does it need to have some understanding of what row(s) were affected, sql-serverperformance.com/2010/transactional-replication-2008-r2/
More informationThe Care and Feeding of a MySQL Database for Linux Adminstrators. Dave Stokes MySQL Community Manager
The Care and Feeding of a MySQL Database for Linux Adminstrators Dave Stokes MySQL Community Manager David.Stokes@Oracle.com Simple Introduction This is a general introduction to running a MySQL database
More informationCSC4370/6370 Spring/2010 Project 1 Weight: 40% of the final grade for undergraduates, 20% for graduates. Due: May/8th
CSC4370/6370 Spring/2010 Project 1 Weight: 40% of the final grade for undergraduates, 20% for graduates. Due: May/8th Note: This project is done by two people team or individual. This project must be completed
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 informationInside Hatena Bookmark's Backend
Inside Hatena Bookmark's Backend Naoya Ito CTO, Hatena co., ltd. Agenda About Hatena Bookmark System Overview Backend Evolution mod_perl 2.0 Software Updates Caching on Reverse Proxy Other Topics About
More informationDRESSSHOP RESPONSIVE PRESTASHOP THEME USER GUIDE
DRESSSHOP RESPONSIVE PRESTASHOP THEME USER GUIDE Version 1.0 Created by: arenathemes Page 1 Contents I. REQUIREMENTS & COMPATIBILITY... 3 II. INSTALLATION... 3 III. CONFIG AFTER INSTALLATION - THEME PACKAGE...
More informationLAMP Tuning. Sean Walberg Network guy, server ninja
LAMP Tuning Sean Walberg Network guy, server ninja LAMP Linux server Apache Web Server PHP/Perl application MySQL server Started off with 2 servers, 10 now 65m pageviews/month 20mbit/s of web traffic Guiding
More informationHive Metadata Caching Proposal
Hive Metadata Caching Proposal Why Metastore Cache During Hive 2 benchmark, we find Hive metastore operation take a lot of time and thus slow down Hive compilation. In some extreme case, it takes much
More informationMicroservices Implementations not only with Java. Eberhard Wolff Fellow
Microservices Implementations not only with Java Eberhard Wolff http://ewolff.com @ewolff Fellow http://continuous-delivery-buch.de/ http://continuous-delivery-book.com/ http://microservices-buch.de/ http://microservices-book.com/
More informationGoogle Tag Manager. Google Tag Manager Custom Module for Magento
Google Tag Manager Custom Module for Magento TABLE OF CONTENTS Table of Contents Table Of Contents...2 1. INTRODUCTION...3 2. Overview...3 3. Requirements...3 4. Features...4 4.1 Features accessible from
More informationYouPHPTube Documentation. Vinzenz Hersche, Daniel Neto
YouPHPTube Documentation Vinzenz Hersche, Daniel Neto Jul 16, 2018 Contents 1 For users and developers 3 2 Installation 5 3 Configuration 7 4 Plugins 9 5 Paid plugins, support and development 11 6 Performance
More informationFixing Twitter.... and Finding your own Fail Whale. John Adams Twitter Operations
Fixing Twitter... and Finding your own Fail Whale John Adams Twitter Operations Operations Small team, growing rapidly. What do we do? Software Performance (back-end) Availability Capacity
More informationDevShala Technologies A-51, Sector 64 Noida, Uttar Pradesh PIN Contact us
INTRODUCING PHP The origin of PHP PHP for Web Development & Web Applications PHP History Features of PHP How PHP works with the Web Server What is SERVER & how it works What is ZEND Engine Work of ZEND
More information