SlideShare a Scribd company logo
Scaling 101 Chris Finne CTO of Venrock's Quarry
Venrock and the Quarry are looking for Summer Interns: Ruby on Rails Engineers  Community Manager Digital Media Analyst Digital Media Associate Full Time Professional Web Engineers Mobile/Media/Social MVC / Full stack OS->DB->App->Code->Web Server->HTML/JS/CSS/Ajax->Flash www.venrock.com
Scaling 101 - Assumptions / Misc Target Audience Engineers (but not professional web infrastructure) Give a &quot;lay of the land&quot; rather than heavy specifics < 20M database rows Will distribute the preso Links to various topics are provided as appendix Please interrupt with questions, but might table them for later About 30 slides
Scaling can be rocket science...

Recommended for you

Web Performance Optimisation
Web Performance OptimisationWeb Performance Optimisation
Web Performance Optimisation

The Need for Speed, a presentation at the Melbourne SEO Meetup on "Web Performance Optimisation and Why It Matters".

seoweb performance
Why Pay for Performance When You Can Lead the World To Your Door for Free?
Why Pay for Performance When You Can Lead the World To Your Door for Free?Why Pay for Performance When You Can Lead the World To Your Door for Free?
Why Pay for Performance When You Can Lead the World To Your Door for Free?

This document provides an overview of 15 proven SEO tactics and their impact, implementation costs, and potential results. The tactics include writing descriptive titles and meta descriptions, optimizing mobile pages, displaying video thumbnails, optimizing images and videos, finding keyword opportunities, rewriting manufacturer descriptions, fixing infinite crawl spaces, fixing stale content issues, fixing canonicalization issues, and fixing duplicate meta data. For each tactic, the document outlines the goal, time to see results, impact, key performance indicators, and assumptions used to estimate potential results. The overall document aims to educate on SEO best practices and tactics to improve search visibility and organic traffic.

seo
Reducing Server Resources: Improve Costs, SEO, Conversions & UX
Reducing Server Resources: Improve Costs, SEO, Conversions & UXReducing Server Resources: Improve Costs, SEO, Conversions & UX
Reducing Server Resources: Improve Costs, SEO, Conversions & UX

A presentation I gave at the Melbourne SEO Meetup event in January 2015, this was a case study I undertook based on the experiences I was thrust into by managing my own websites and my web hosting provider. As part of this presentation, I go through the issues i faced, how i diagnosed the problems, the solutions I put forward and finally, the results I saw. Even though it wasn't exactly a great experience at the time, I actually learnt quite a lot and wish I has implemented the solutions much earlier. If there is one take away from my presentation, it's implement a CDN solution - the time to implement one is minimal and the ROI and potential UX improvements are phenomenal. Please feel free to ask any questions in the comment box below, email me at info@holidaypoint.com.au, or if you live in Melbourne, come to the dedicated SEO Meetup at http://www.meetup.com/Melbourne-SEO/

web developementsearch engine optimizationwordpress
Doesn't have to be rocket science... Scaling 101 isn't hard Understand the principles If Scaling 101 isn't enough to handle your traffic... you've probably have enough traffic to get Series A funding Sometimes there is a quick-n-easy solution If not, follow basic problem solving cycle... analyze research trial-n-error (hopefully with testing ;-)
Scaling 101 Principles - Slow to Fast Infrastructure Speed External network accessed Internal network accessed DB on another server: DB Delete DB Update DB Select (goes to disk) DB Select (table in memory) DB Select cached Memcached local filesystem local DB local memcached local app server memory Specific Examples Roundtrip query to Facebook Database table scans on large tables (>100 rows) Dynamically Rendering high volume generic pages Too many database calls per page load (>5-10)
Typical Infrastructure Evolution Single Server  - get the app out! Optimize  to try to stay on a single server Dedicated Database Server Multiple Web/App Servers  -  Load Balancing Add More Database Servers More Separation -  Web and App servers Specific Guidelines for when to level up...
Specific Guidelines - Nada There aren't any. Why? heavy static files vs. very dynamic application code is different database activity is different lots of selects vs. inserts vs. updates vs. deletes lots of complex JOINs vs. simple selects traffic patterns 8, 12 or 24 hour day? Occasional Spikes (Digg, Slashdot) hardware is different from hosting vendor to hosting vendor

Recommended for you

prestiva_blackhat
prestiva_blackhatprestiva_blackhat
prestiva_blackhat

Keyword stuffing, invisible text, doorway pages, and cloaking are common black hat SEO techniques. Black hat SEO aims to manipulate search engine algorithms through these and other unethical methods such as typo spam, link dumping, faking page ranks, scraping content from other sites, and tactics to lower competitors' rankings. Questions about black hat SEO techniques can be directed to the listed websites.

PHP Code And Search Engine Optimation
PHP Code And Search Engine OptimationPHP Code And Search Engine Optimation
PHP Code And Search Engine Optimation

I got this slide show over a month a go. And this is so great! For who need build some page such as website, blog and or news site or maybe portal site. Its great because there are one more way for buzz up your page in php :)

phpcodeside
SEO Mistakes
SEO MistakesSEO Mistakes
SEO Mistakes

The document discusses common SEO mistakes that bloggers make and provides recommendations to improve blog SEO. It recommends optimizing title tags, URLs, internal linking, anchor text, RSS feeds, and minimizing duplicate content. Key recommendations include using the post title in title tags and as anchor text, keeping URLs and slugs short, adding keyword-rich descriptions to categories and tags, and using plugins to manage related posts, pagination and sticky posts.

Optimize - Profiling your app Questions to ask: Which pages are getting hit the most Google Analytics Web server logs Which pages take the longest to render Firebug - Net tab Yahoo's YSlow Add-on Apache Benchmark tool JMeter external monitoring site, e.g. Site24x7
Optimize - Profiling your app Next question: What pieces of those long, popular pages are taking the longest? Facebook queries application code blocks database queries static file downloads (images,CSS, JS)
Optimize - Profiling your app How to actually find the  offenders ... Application Code: put debug statements to see where the most time is being spent Page Loading / Static file downloads Firefox Extensions: Yahoo YSlow for Firebug:  see which pieces take the longest to download / finish rendering Live HTTP Headers:  Are your static files being cached locally? Database MySQL slow query log MySQL Query log MySQL &quot;EXPLAIN&quot; Queries
Optimize - Profiling your app Now what? Focus on the bottlenecks

Recommended for you

GRUPO CONSTRUCTOR MIAHUATLAN - Tutorial: Google for Webmasters
GRUPO CONSTRUCTOR MIAHUATLAN - Tutorial: Google for WebmastersGRUPO CONSTRUCTOR MIAHUATLAN - Tutorial: Google for Webmasters
GRUPO CONSTRUCTOR MIAHUATLAN - Tutorial: Google for Webmasters

This document provides an overview of Google tools and resources for webmasters, including how to get pages indexed by Google, use XML sitemaps, block content from search engines, make sites accessible, understand PageRank and ranking factors, use Webmaster Tools, and find additional Google products. It discusses indexing, crawling, discoverability, duplicate content, accessibility, titles/descriptions, rankings, guidelines, and the Webmaster Central blog.

Charisma Productions Network - Tutorial: Google for Webmasters
Charisma Productions Network - Tutorial: Google for WebmastersCharisma Productions Network - Tutorial: Google for Webmasters
Charisma Productions Network - Tutorial: Google for Webmasters

The document provides an overview of Google's resources for webmasters to help them understand how Google discovers, indexes, ranks websites. It discusses tools like Google Search Console (formerly Google Webmaster Tools), Sitemaps, robots.txt files, and best practices for accessibility, duplicate content, links and PageRank. The goal is to help webmasters create websites that are discoverable, accessible and relevant to Google's algorithms.

Search Engine Optimization Tools - Tutorial: Google for Webmaster
Search Engine Optimization Tools - Tutorial: Google for WebmasterSearch Engine Optimization Tools - Tutorial: Google for Webmaster
Search Engine Optimization Tools - Tutorial: Google for Webmaster

The document provides an overview of Google's resources for webmasters to help them understand how Google discovers, indexes, ranks websites. It discusses tools like Google Search Console (formerly Google Webmaster Tools), Sitemaps, robots.txt files, and best practices for accessibility, duplicate content, links and PageRank. The goal is to help webmasters create websites that are discoverable, accessible and relevant to Google's algorithms.

Optimize - Remedies Facebook queries Reduce Roundtrips to FB with more complex FQL (e.g. subqueries) Cache Results Use FBML where possible - make FB do the work fb:user fb:name fb:profile-pic Fix inefficient application code any examples?
Optimize - Remedies Optimize SQL Queries Database Indexes Only select what you need to select Views, Stored Procedures Confirm static files are being cached locally in browser (Images, JS and CSS) Apache Config... Caching...
Optimize - Caching What? - Expensive pieces Facebook User Information (24hrs) complex calculations generic pages (or fragments) complex, big or long DB queries
Optimize - Caching Where to? Filesystem HTML pages served directly from Apache w/ no PHP expensive HTML fragments loaded via PHP User's Session Facebook User Info Application state Memcached - (or BerkeleyDB) HTML Session Facebook data (24hrs max) expensive DB query results Database Query Cache repeated queries

Recommended for you

SMX East - SEO Tools Panel
SMX East - SEO Tools PanelSMX East - SEO Tools Panel
SMX East - SEO Tools Panel

Tools are a must for serious SEOs; they deliver the flexibility and capability to tackle jobs of any size. Knowing which ones best fit your needs, budget and the scale of the sites you work on is critical. In this clinic, our veteran SEOs open their own tool chests, share with you their favorites (both free and paid) and take your questions about how to use them (and others) effectively. These are tools that have earned the loyalty of our speakers thanks to their utility, features and ability to help maximize time - no sponsored advice here!

seoseo tools
Findability Bliss Through Web Standards
Findability Bliss Through Web StandardsFindability Bliss Through Web Standards
Findability Bliss Through Web Standards

Connecting with your audience is objective number one for any website. Findability—the discipline of helping users discover the content they seek—not only helps businesses get their message out, but it improves the user experience, too. The secret to attaining findability bliss, both with search engines and beyond, lies in the wisdom of web standards.

standardsseofindability
Catalans
CatalansCatalans
Catalans
convergênciatripartitpatria
Optimize - Apache Are you using all your resources? If you have 10 Apache processes (MaxClients) and 15 users hit your app at the same time, 10 will get served, 5 will get an error Do you need more Apache processes? No if your box's CPU and/or RAM are maxing out (use top) need top optimize the app or add more servers Yes if the requests involve waiting for a long time for Facebook to answer a query (i.e. Apache is just waiting) Add more processes (MaxClients)
Optimize - Apache # prefork MPM # StartServers: number of server processes to start # MinSpareServers: minimum number of server processes which are kept spare # MaxSpareServers: maximum number of server processes which are kept spare # MaxClients: maximum number of server processes allowed to start # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule mpm_prefork_module>     StartServers          5     MinSpareServers       5     MaxSpareServers      10     MaxClients          150     MaxRequestsPerChild   0 </IfModule>
Multi-Server - Dedicated DB Needs to be sitting next to the web/app server with a fast link Port 3306 open from Web/App to DB servers MySQL User account has to allow connections from the web/app servers
Multi-Server - Dedicated DB If standard hardware/slices: keep your DB server where it is setup a new slice as a web/app server get your new slice working test load-test cut-over your DNS address

Recommended for you

La Liebre Y La Tortuga
La Liebre Y La TortugaLa Liebre Y La Tortuga
La Liebre Y La Tortuga

La liebre se burla de la lenta tortuga y la reta a una carrera, confiando en su velocidad. Sin embargo, la liebre se detiene varias veces a descansar mientras la tortuga avanza sin parar. Finalmente, la liebre se queda dormida y la tortuga gana la carrera, enseñando que el esfuerzo constante puede vencer a la confianza excesiva.

Jeopardy Blank
Jeopardy BlankJeopardy Blank
Jeopardy Blank

This document appears to be instructions for playing a game of Jeopardy using a digital presentation. It provides directions on how to navigate through the game, input answers and questions, keep score on the game boards, and contains sample questions in categories like "Winning the Civil War", "Union", and "Slaves". The instructions emphasize to not save over the original game file after playing.

Jeopardy Blank
Jeopardy BlankJeopardy Blank
Jeopardy Blank

This document appears to be instructions for playing a game of Jeopardy using a digital presentation. It provides directions on how to navigate through the game, input answers and questions, keep score on the game boards, and contains sample questions in categories like "Winning the Civil War", "Union", and "Slaves". The instructions emphasize to not save over the original game file after playing.

Multi-Server - Dedicated DB If DB performance is a bottleneck and you are going to a larger server for your DB... Configure / Test Configure the new DB mysqldump of your existing DB (do you have enough disk? dump over the wire) new DB: mysql < dump configure your new DB server as an Apache and PHP server as well for testing functional test / load test
Multi-Server - Dedicated DB If DB performance is a bottleneck and you are going to a larger server for your DB... Cut-over shutdown the production webserver mysqldump old import mysql to new configure your existing web/app server to point to new db
Multiple Web/App Servers Bring up new app server Test it by itself Add to load-balancing...
Load Balancing Goals: Load and/or Fault Tolerance Technologies DNS Round Robin Potential Windows / IE issues due to caching Open Source Software Apache reverse Proxy (Apache 2.2) HAProxy  Pound Hardware 10x or more performance than software some hosting vendors provide it as an add-on or part of a package

Recommended for you

Eventyret Om De Tre Bokkene Bruce
Eventyret Om De Tre Bokkene BruceEventyret Om De Tre Bokkene Bruce
Eventyret Om De Tre Bokkene Bruce
CNIE 2008 Copyright Library
CNIE 2008 Copyright LibraryCNIE 2008 Copyright Library
CNIE 2008 Copyright Library

copyright issues for libraries in Canada. 2008

copyrightcanadalibraries
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer

Artificial intelligence (AI) is everywhere, promising self-driving cars, medical breakthroughs, and new ways of working. But how do you separate hype from reality? How can your company apply AI to solve real business problems? Here’s what AI learnings your business should keep in mind for 2017.

virtual realitychatbotbig data
Multiple DB Servers Getting more involved... Master/Slave reads go to slaves transactional reads or guaranteed updated data reads go to master writes go to master Getting close to Rock Science... Master/Master (possibly with slaves) clusters
Other Easy Tricks Put static files on Amazon's S3 Images, JS, CSS, Videos Optimize Page Loads (not really scalability, but...) Put external &quot;stuff&quot; at the bottom of the page outside TABLES Ad Tags Google Analytics Digg buttons DIV's instead of tables if possible tables wait for all content to be loaded before rendering div's typically render piece by piece
Finally - The End Feedback to Yee or me: cfinne at venrock . com Follow-on questions or consults: cfinne at venrock . com Next Talk? Interaction Design - David Cortright Venture Capital - Some VC (Brian, Ilya, Dev...) Code / Web App Design - me (again???)
Links MySQL Slow Query Log:  http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html   MySQL General Query Log:  http://dev.mysql.com/doc/refman/5.0/en/query-log.html   MySQL Query Cache:  http://jayant7k.blogspot.com/2007/07/mysql-query-cache.html http://dev.mysql.com/doc/refman/5.0/en/query-cache.html   MySQL Optimize Queries and DB Indexes http://www.databasejournal.com/features/mysql/article.php/1382791   Memcached:  http://us3.php.net/memcache http://www.danga.com/memcached/  

Recommended for you

Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars

We asked LinkedIn members worldwide about their levels of interest in the latest wave of technology: whether they’re using wearables, and whether they intend to buy self-driving cars and VR headsets as they become available. We asked them too about their attitudes to technology and to the growing role of Artificial Intelligence (AI) in the devices that they use. The answers were fascinating – and in many cases, surprising. This SlideShare explores the full results of this study, including detailed market-by-market breakdowns of intention levels for each technology – and how attitudes change with age, location and seniority level. If you’re marketing a tech brand – or planning to use VR and wearables to reach a professional audience – then these are insights you won’t want to miss.

automotivesocial media marketinglinkedin marketing solutions
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & TextspeakTeaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & Textspeak

This document discusses how emojis, emoticons, and text speak can be used to teach students. It provides background on the origins of emoticons in 1982 as ways to convey tone and feelings in text communications. It then suggests that with text speak and emojis, students can translate, decode, summarize, play with language, and add emotion to language. A number of websites and apps that can be used for emoji-related activities, lessons, and discussions are also listed.

digital citizenshipenglish language learnersedtech
5 critical-optimizations.v2
5 critical-optimizations.v25 critical-optimizations.v2
5 critical-optimizations.v2

There are many ways to optimize your website, and it’s hard to know where to start. In this webinar we’ll show you five top performance optimizations and explain how each will impact your load time and order. We’ll also share tips and tricks on how to apply each, since the devil’s in the details. We’ll focus on the following five optimizations: * Domain Sharding * Consolidation * Inlining * Predict Head * Asynchronous Javascript Loading

wpodomain shardingweb performance optimization
Links Firebug: Firebug:  https://addons.mozilla.org/en-US/firefox/addon/1843   YSlow:  http://developer.yahoo.com/yslow/   PHP Facebook Sessions:  http://wiki.developers.facebook.com/index.php/PHP_Sessions   Live HTTP Headers:  https://addons.mozilla.org/en-US/firefox/addon/3829   Apache Prefork Config:  http://httpd.apache.org/docs/2.0/mod/prefork.html   Load balancing: Apache Reverse Proxy:  http://httpd.apache.org/docs/2.2/mod/mod_proxy.html   HAProxy: http://haproxy.1wt.eu/   Pound:  http://www.apsis.ch/pound

More Related Content

What's hot

SOA and web services
SOA and web servicesSOA and web services
SOA and web services
Sreekanth Narayanan
 
getting_rid_of_duplicate_content_iss-priyank_garg.ppt
getting_rid_of_duplicate_content_iss-priyank_garg.pptgetting_rid_of_duplicate_content_iss-priyank_garg.ppt
getting_rid_of_duplicate_content_iss-priyank_garg.ppt
zachbrowne
 
How I learned to stop worrying and love the .htaccess file
How I learned to stop worrying and love the .htaccess fileHow I learned to stop worrying and love the .htaccess file
How I learned to stop worrying and love the .htaccess file
Roxana Stingu
 
Web Performance Optimisation
Web Performance OptimisationWeb Performance Optimisation
Web Performance Optimisation
Chris Burgess
 
Why Pay for Performance When You Can Lead the World To Your Door for Free?
Why Pay for Performance When You Can Lead the World To Your Door for Free?Why Pay for Performance When You Can Lead the World To Your Door for Free?
Why Pay for Performance When You Can Lead the World To Your Door for Free?
Hamlet Batista
 
Reducing Server Resources: Improve Costs, SEO, Conversions & UX
Reducing Server Resources: Improve Costs, SEO, Conversions & UXReducing Server Resources: Improve Costs, SEO, Conversions & UX
Reducing Server Resources: Improve Costs, SEO, Conversions & UX
Michael Jones
 
prestiva_blackhat
prestiva_blackhatprestiva_blackhat
prestiva_blackhat
Murali Venkatesh
 
PHP Code And Search Engine Optimation
PHP Code And Search Engine OptimationPHP Code And Search Engine Optimation
PHP Code And Search Engine Optimation
Seo Indonesia
 
SEO Mistakes
SEO MistakesSEO Mistakes
SEO Mistakes
guest388802
 
GRUPO CONSTRUCTOR MIAHUATLAN - Tutorial: Google for Webmasters
GRUPO CONSTRUCTOR MIAHUATLAN - Tutorial: Google for WebmastersGRUPO CONSTRUCTOR MIAHUATLAN - Tutorial: Google for Webmasters
GRUPO CONSTRUCTOR MIAHUATLAN - Tutorial: Google for Webmasters
Edysur Construcciones
 
Charisma Productions Network - Tutorial: Google for Webmasters
Charisma Productions Network - Tutorial: Google for WebmastersCharisma Productions Network - Tutorial: Google for Webmasters
Charisma Productions Network - Tutorial: Google for Webmasters
Betty Andrews
 
Search Engine Optimization Tools - Tutorial: Google for Webmaster
Search Engine Optimization Tools - Tutorial: Google for WebmasterSearch Engine Optimization Tools - Tutorial: Google for Webmaster
Search Engine Optimization Tools - Tutorial: Google for Webmaster
Praveen Sudarsan
 
SMX East - SEO Tools Panel
SMX East - SEO Tools PanelSMX East - SEO Tools Panel
SMX East - SEO Tools Panel
Abby Hamilton
 
Findability Bliss Through Web Standards
Findability Bliss Through Web StandardsFindability Bliss Through Web Standards
Findability Bliss Through Web Standards
Aarron Walter
 

What's hot (14)

SOA and web services
SOA and web servicesSOA and web services
SOA and web services
 
getting_rid_of_duplicate_content_iss-priyank_garg.ppt
getting_rid_of_duplicate_content_iss-priyank_garg.pptgetting_rid_of_duplicate_content_iss-priyank_garg.ppt
getting_rid_of_duplicate_content_iss-priyank_garg.ppt
 
How I learned to stop worrying and love the .htaccess file
How I learned to stop worrying and love the .htaccess fileHow I learned to stop worrying and love the .htaccess file
How I learned to stop worrying and love the .htaccess file
 
Web Performance Optimisation
Web Performance OptimisationWeb Performance Optimisation
Web Performance Optimisation
 
Why Pay for Performance When You Can Lead the World To Your Door for Free?
Why Pay for Performance When You Can Lead the World To Your Door for Free?Why Pay for Performance When You Can Lead the World To Your Door for Free?
Why Pay for Performance When You Can Lead the World To Your Door for Free?
 
Reducing Server Resources: Improve Costs, SEO, Conversions & UX
Reducing Server Resources: Improve Costs, SEO, Conversions & UXReducing Server Resources: Improve Costs, SEO, Conversions & UX
Reducing Server Resources: Improve Costs, SEO, Conversions & UX
 
prestiva_blackhat
prestiva_blackhatprestiva_blackhat
prestiva_blackhat
 
PHP Code And Search Engine Optimation
PHP Code And Search Engine OptimationPHP Code And Search Engine Optimation
PHP Code And Search Engine Optimation
 
SEO Mistakes
SEO MistakesSEO Mistakes
SEO Mistakes
 
GRUPO CONSTRUCTOR MIAHUATLAN - Tutorial: Google for Webmasters
GRUPO CONSTRUCTOR MIAHUATLAN - Tutorial: Google for WebmastersGRUPO CONSTRUCTOR MIAHUATLAN - Tutorial: Google for Webmasters
GRUPO CONSTRUCTOR MIAHUATLAN - Tutorial: Google for Webmasters
 
Charisma Productions Network - Tutorial: Google for Webmasters
Charisma Productions Network - Tutorial: Google for WebmastersCharisma Productions Network - Tutorial: Google for Webmasters
Charisma Productions Network - Tutorial: Google for Webmasters
 
Search Engine Optimization Tools - Tutorial: Google for Webmaster
Search Engine Optimization Tools - Tutorial: Google for WebmasterSearch Engine Optimization Tools - Tutorial: Google for Webmaster
Search Engine Optimization Tools - Tutorial: Google for Webmaster
 
SMX East - SEO Tools Panel
SMX East - SEO Tools PanelSMX East - SEO Tools Panel
SMX East - SEO Tools Panel
 
Findability Bliss Through Web Standards
Findability Bliss Through Web StandardsFindability Bliss Through Web Standards
Findability Bliss Through Web Standards
 

Viewers also liked

La Liebre Y La Tortuga
La Liebre Y La TortugaLa Liebre Y La Tortuga
La Liebre Y La Tortuga
Carlos Pastorino
 
Jeopardy Blank
Jeopardy BlankJeopardy Blank
Jeopardy Blank
mop223
 
Jeopardy Blank
Jeopardy BlankJeopardy Blank
Jeopardy Blank
mop223
 
Eventyret Om De Tre Bokkene Bruce
Eventyret Om De Tre Bokkene BruceEventyret Om De Tre Bokkene Bruce
Eventyret Om De Tre Bokkene Bruce
guest6580b9
 
CNIE 2008 Copyright Library
CNIE 2008 Copyright LibraryCNIE 2008 Copyright Library
CNIE 2008 Copyright Library
tiessen77
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
Luminary Labs
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
LinkedIn
 
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & TextspeakTeaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & Textspeak
Shelly Sanchez Terrell
 

Viewers also liked (9)

Catalans
CatalansCatalans
Catalans
 
La Liebre Y La Tortuga
La Liebre Y La TortugaLa Liebre Y La Tortuga
La Liebre Y La Tortuga
 
Jeopardy Blank
Jeopardy BlankJeopardy Blank
Jeopardy Blank
 
Jeopardy Blank
Jeopardy BlankJeopardy Blank
Jeopardy Blank
 
Eventyret Om De Tre Bokkene Bruce
Eventyret Om De Tre Bokkene BruceEventyret Om De Tre Bokkene Bruce
Eventyret Om De Tre Bokkene Bruce
 
CNIE 2008 Copyright Library
CNIE 2008 Copyright LibraryCNIE 2008 Copyright Library
CNIE 2008 Copyright Library
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 
Teaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & TextspeakTeaching Students with Emojis, Emoticons, & Textspeak
Teaching Students with Emojis, Emoticons, & Textspeak
 

Similar to Scaling 101

5 critical-optimizations.v2
5 critical-optimizations.v25 critical-optimizations.v2
5 critical-optimizations.v2
Blaze Software Inc.
 
Intro to-html-backbone
Intro to-html-backboneIntro to-html-backbone
Intro to-html-backbone
zonathen
 
SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike Watson
SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike WatsonSharePoint Advanced Administration with Joel Oleson, Shane Young and Mike Watson
SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike Watson
Joel Oleson
 
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupWeb Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Jonathan Klein
 
Caching 101
Caching 101Caching 101
Caching 101
Andy Melichar
 
Intro to advanced web development
Intro to advanced web developmentIntro to advanced web development
Intro to advanced web development
Stevie T
 
Web performance optimization
Web performance optimizationWeb performance optimization
Web performance optimization
Kaliop-slide
 
Lecture 6 Data Driven Design
Lecture 6  Data Driven DesignLecture 6  Data Driven Design
Lecture 6 Data Driven Design
Sur College of Applied Sciences
 
Crash Course HTML/Rails Slides
Crash Course HTML/Rails SlidesCrash Course HTML/Rails Slides
Crash Course HTML/Rails Slides
Udita Plaha
 
Tips for a Faster Website
Tips for a Faster WebsiteTips for a Faster Website
Tips for a Faster Website
Rayed Alrashed
 
DrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizingDrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizing
Ashok Modi
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application development
zonathen
 
Apache Traffic Server
Apache Traffic ServerApache Traffic Server
Apache Traffic Server
supertom
 
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Bhupesh Bansal
 
Hadoop and Voldemort @ LinkedIn
Hadoop and Voldemort @ LinkedInHadoop and Voldemort @ LinkedIn
Hadoop and Voldemort @ LinkedIn
Hadoop User Group
 
Migrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical PerspectiveMigrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical Perspective
John Calvert
 
Optimizing wp
Optimizing wpOptimizing wp
Optimizing wp
Mark Kelnar
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
Andy Kucharski
 
Scaling PHP apps
Scaling PHP appsScaling PHP apps
Scaling PHP apps
Matteo Moretti
 
PHP North-East - Automated Deployment
PHP North-East - Automated DeploymentPHP North-East - Automated Deployment
PHP North-East - Automated Deployment
Michael Peacock
 

Similar to Scaling 101 (20)

5 critical-optimizations.v2
5 critical-optimizations.v25 critical-optimizations.v2
5 critical-optimizations.v2
 
Intro to-html-backbone
Intro to-html-backboneIntro to-html-backbone
Intro to-html-backbone
 
SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike Watson
SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike WatsonSharePoint Advanced Administration with Joel Oleson, Shane Young and Mike Watson
SharePoint Advanced Administration with Joel Oleson, Shane Young and Mike Watson
 
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupWeb Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
 
Caching 101
Caching 101Caching 101
Caching 101
 
Intro to advanced web development
Intro to advanced web developmentIntro to advanced web development
Intro to advanced web development
 
Web performance optimization
Web performance optimizationWeb performance optimization
Web performance optimization
 
Lecture 6 Data Driven Design
Lecture 6  Data Driven DesignLecture 6  Data Driven Design
Lecture 6 Data Driven Design
 
Crash Course HTML/Rails Slides
Crash Course HTML/Rails SlidesCrash Course HTML/Rails Slides
Crash Course HTML/Rails Slides
 
Tips for a Faster Website
Tips for a Faster WebsiteTips for a Faster Website
Tips for a Faster Website
 
DrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizingDrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizing
 
Intro to mobile web application development
Intro to mobile web application developmentIntro to mobile web application development
Intro to mobile web application development
 
Apache Traffic Server
Apache Traffic ServerApache Traffic Server
Apache Traffic Server
 
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
Voldemort & Hadoop @ Linkedin, Hadoop User Group Jan 2010
 
Hadoop and Voldemort @ LinkedIn
Hadoop and Voldemort @ LinkedInHadoop and Voldemort @ LinkedIn
Hadoop and Voldemort @ LinkedIn
 
Migrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical PerspectiveMigrating to SharePoint 2013 - Business and Technical Perspective
Migrating to SharePoint 2013 - Business and Technical Perspective
 
Optimizing wp
Optimizing wpOptimizing wp
Optimizing wp
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
 
Scaling PHP apps
Scaling PHP appsScaling PHP apps
Scaling PHP apps
 
PHP North-East - Automated Deployment
PHP North-East - Automated DeploymentPHP North-East - Automated Deployment
PHP North-East - Automated Deployment
 

Recently uploaded

Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
BookNet Canada
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
Andrey Yasko
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
Neo4j
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Bert Blevins
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 

Recently uploaded (20)

Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024Details of description part II: Describing images in practice - Tech Forum 2024
Details of description part II: Describing images in practice - Tech Forum 2024
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
Comparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdfComparison Table of DiskWarrior Alternatives.pdf
Comparison Table of DiskWarrior Alternatives.pdf
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfBT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdf
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly DetectionAdvanced Techniques for Cyber Security Analysis and Anomaly Detection
Advanced Techniques for Cyber Security Analysis and Anomaly Detection
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 

Scaling 101

  • 1. Scaling 101 Chris Finne CTO of Venrock's Quarry
  • 2. Venrock and the Quarry are looking for Summer Interns: Ruby on Rails Engineers Community Manager Digital Media Analyst Digital Media Associate Full Time Professional Web Engineers Mobile/Media/Social MVC / Full stack OS->DB->App->Code->Web Server->HTML/JS/CSS/Ajax->Flash www.venrock.com
  • 3. Scaling 101 - Assumptions / Misc Target Audience Engineers (but not professional web infrastructure) Give a &quot;lay of the land&quot; rather than heavy specifics < 20M database rows Will distribute the preso Links to various topics are provided as appendix Please interrupt with questions, but might table them for later About 30 slides
  • 4. Scaling can be rocket science...
  • 5. Doesn't have to be rocket science... Scaling 101 isn't hard Understand the principles If Scaling 101 isn't enough to handle your traffic... you've probably have enough traffic to get Series A funding Sometimes there is a quick-n-easy solution If not, follow basic problem solving cycle... analyze research trial-n-error (hopefully with testing ;-)
  • 6. Scaling 101 Principles - Slow to Fast Infrastructure Speed External network accessed Internal network accessed DB on another server: DB Delete DB Update DB Select (goes to disk) DB Select (table in memory) DB Select cached Memcached local filesystem local DB local memcached local app server memory Specific Examples Roundtrip query to Facebook Database table scans on large tables (>100 rows) Dynamically Rendering high volume generic pages Too many database calls per page load (>5-10)
  • 7. Typical Infrastructure Evolution Single Server - get the app out! Optimize to try to stay on a single server Dedicated Database Server Multiple Web/App Servers - Load Balancing Add More Database Servers More Separation - Web and App servers Specific Guidelines for when to level up...
  • 8. Specific Guidelines - Nada There aren't any. Why? heavy static files vs. very dynamic application code is different database activity is different lots of selects vs. inserts vs. updates vs. deletes lots of complex JOINs vs. simple selects traffic patterns 8, 12 or 24 hour day? Occasional Spikes (Digg, Slashdot) hardware is different from hosting vendor to hosting vendor
  • 9. Optimize - Profiling your app Questions to ask: Which pages are getting hit the most Google Analytics Web server logs Which pages take the longest to render Firebug - Net tab Yahoo's YSlow Add-on Apache Benchmark tool JMeter external monitoring site, e.g. Site24x7
  • 10. Optimize - Profiling your app Next question: What pieces of those long, popular pages are taking the longest? Facebook queries application code blocks database queries static file downloads (images,CSS, JS)
  • 11. Optimize - Profiling your app How to actually find the offenders ... Application Code: put debug statements to see where the most time is being spent Page Loading / Static file downloads Firefox Extensions: Yahoo YSlow for Firebug: see which pieces take the longest to download / finish rendering Live HTTP Headers: Are your static files being cached locally? Database MySQL slow query log MySQL Query log MySQL &quot;EXPLAIN&quot; Queries
  • 12. Optimize - Profiling your app Now what? Focus on the bottlenecks
  • 13. Optimize - Remedies Facebook queries Reduce Roundtrips to FB with more complex FQL (e.g. subqueries) Cache Results Use FBML where possible - make FB do the work fb:user fb:name fb:profile-pic Fix inefficient application code any examples?
  • 14. Optimize - Remedies Optimize SQL Queries Database Indexes Only select what you need to select Views, Stored Procedures Confirm static files are being cached locally in browser (Images, JS and CSS) Apache Config... Caching...
  • 15. Optimize - Caching What? - Expensive pieces Facebook User Information (24hrs) complex calculations generic pages (or fragments) complex, big or long DB queries
  • 16. Optimize - Caching Where to? Filesystem HTML pages served directly from Apache w/ no PHP expensive HTML fragments loaded via PHP User's Session Facebook User Info Application state Memcached - (or BerkeleyDB) HTML Session Facebook data (24hrs max) expensive DB query results Database Query Cache repeated queries
  • 17. Optimize - Apache Are you using all your resources? If you have 10 Apache processes (MaxClients) and 15 users hit your app at the same time, 10 will get served, 5 will get an error Do you need more Apache processes? No if your box's CPU and/or RAM are maxing out (use top) need top optimize the app or add more servers Yes if the requests involve waiting for a long time for Facebook to answer a query (i.e. Apache is just waiting) Add more processes (MaxClients)
  • 18. Optimize - Apache # prefork MPM # StartServers: number of server processes to start # MinSpareServers: minimum number of server processes which are kept spare # MaxSpareServers: maximum number of server processes which are kept spare # MaxClients: maximum number of server processes allowed to start # MaxRequestsPerChild: maximum number of requests a server process serves <IfModule mpm_prefork_module>     StartServers          5     MinSpareServers       5     MaxSpareServers      10     MaxClients          150     MaxRequestsPerChild   0 </IfModule>
  • 19. Multi-Server - Dedicated DB Needs to be sitting next to the web/app server with a fast link Port 3306 open from Web/App to DB servers MySQL User account has to allow connections from the web/app servers
  • 20. Multi-Server - Dedicated DB If standard hardware/slices: keep your DB server where it is setup a new slice as a web/app server get your new slice working test load-test cut-over your DNS address
  • 21. Multi-Server - Dedicated DB If DB performance is a bottleneck and you are going to a larger server for your DB... Configure / Test Configure the new DB mysqldump of your existing DB (do you have enough disk? dump over the wire) new DB: mysql < dump configure your new DB server as an Apache and PHP server as well for testing functional test / load test
  • 22. Multi-Server - Dedicated DB If DB performance is a bottleneck and you are going to a larger server for your DB... Cut-over shutdown the production webserver mysqldump old import mysql to new configure your existing web/app server to point to new db
  • 23. Multiple Web/App Servers Bring up new app server Test it by itself Add to load-balancing...
  • 24. Load Balancing Goals: Load and/or Fault Tolerance Technologies DNS Round Robin Potential Windows / IE issues due to caching Open Source Software Apache reverse Proxy (Apache 2.2) HAProxy Pound Hardware 10x or more performance than software some hosting vendors provide it as an add-on or part of a package
  • 25. Multiple DB Servers Getting more involved... Master/Slave reads go to slaves transactional reads or guaranteed updated data reads go to master writes go to master Getting close to Rock Science... Master/Master (possibly with slaves) clusters
  • 26. Other Easy Tricks Put static files on Amazon's S3 Images, JS, CSS, Videos Optimize Page Loads (not really scalability, but...) Put external &quot;stuff&quot; at the bottom of the page outside TABLES Ad Tags Google Analytics Digg buttons DIV's instead of tables if possible tables wait for all content to be loaded before rendering div's typically render piece by piece
  • 27. Finally - The End Feedback to Yee or me: cfinne at venrock . com Follow-on questions or consults: cfinne at venrock . com Next Talk? Interaction Design - David Cortright Venture Capital - Some VC (Brian, Ilya, Dev...) Code / Web App Design - me (again???)
  • 28. Links MySQL Slow Query Log: http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html MySQL General Query Log: http://dev.mysql.com/doc/refman/5.0/en/query-log.html MySQL Query Cache: http://jayant7k.blogspot.com/2007/07/mysql-query-cache.html http://dev.mysql.com/doc/refman/5.0/en/query-cache.html MySQL Optimize Queries and DB Indexes http://www.databasejournal.com/features/mysql/article.php/1382791 Memcached: http://us3.php.net/memcache http://www.danga.com/memcached/  
  • 29. Links Firebug: Firebug: https://addons.mozilla.org/en-US/firefox/addon/1843 YSlow: http://developer.yahoo.com/yslow/   PHP Facebook Sessions: http://wiki.developers.facebook.com/index.php/PHP_Sessions Live HTTP Headers: https://addons.mozilla.org/en-US/firefox/addon/3829 Apache Prefork Config: http://httpd.apache.org/docs/2.0/mod/prefork.html Load balancing: Apache Reverse Proxy: http://httpd.apache.org/docs/2.2/mod/mod_proxy.html HAProxy: http://haproxy.1wt.eu/ Pound: http://www.apsis.ch/pound