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

Caching 101
Caching 101Caching 101
Caching 101

An overview of caching, optimization, and performance measurement tips. Presented to the Detroit WordPress Meetup on April 10, 2017.

cachingoptimizationwordpress
How to Speed up your Website
How to Speed up your WebsiteHow to Speed up your Website
How to Speed up your Website

Learning how to speed up your website is one of the most important things you can do as fast loading speed is necessary for website success.

website
High Performance - Joomla!Days NL 2009 #jd09nl
High Performance - Joomla!Days NL 2009 #jd09nlHigh Performance - Joomla!Days NL 2009 #jd09nl
High Performance - Joomla!Days NL 2009 #jd09nl

This document provides an overview of optimizing the performance of Joomla! websites. It discusses basic principles like using content delivery networks and combining files. It recommends preparing Joomla! with tools like Firebug and enabling caching. Specific optimizations for templates and content are covered, like image resizing and subdomain delivery. Hosting configuration tips include MySQL optimization and using a CDN. The document uses a case study example and concludes with thanks.

joomlajd09nljoomladays
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

Measuring Web Performance
Measuring Web Performance Measuring Web Performance
Measuring Web Performance

Today, a web page can be delivered to desktop computers, televisions, or handheld devices like tablets or phones. While a technique like responsive design helps ensure that our web sites look good across that spectrum of devices we may forget that we need to make sure that our web sites also perform well across that same spectrum. More and more of our users are shifting their Internet usage to these more varied platforms and connection speeds with some moving entirely to mobile Internet. In this session we’ll look at the tools that can help you understand, measure and improve the web performance of your web sites and applications. The talk will also discuss how new server-side techniques might help us optimize our front-end performance. Finally, since the best way to test is to have devices in your hand, we’ll discuss some tips for getting your hands on them cheaply. This presentation builds upon Dave’s “Optimization for Mobile” chapter in Smashing Magazine’s “The Mobile Book.” This talk was given at the Responsive Web Design Summit hosted by Environments for Humans.

webperfresponsive designresponsive web design
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

What does it mean when someone says “My Site is slow now”? What is page speed? How do you measure it? How can you make it faster? We’ll try to answer these questions, provide you with a set of tools to use and explain how this relates to your server load. We will cover: - What is page load speed? – Tools used to measure performance of your pages and site – Six Key Improvements to make Drupal “run fast” ++ Performance Module settings and how they work ++ Caching – biggest gainer and how to implement Boost ++ Other quick hits: off loading search, tweaking settings & why running crons is important ++ Ask your host about APC and how to make sure its set up correctly ++ Dare we look at the database? Easy changes that will help a lot! - Monitoring Best practices – what to set up to make sure you know what is going on with your server – What if you get slashdoted? Recommendation on how to quickly take cover from a rhino.

performance drupal cms lamp page speed linux sys a
Tech Brief Questions
Tech Brief Questions Tech Brief Questions
Tech Brief Questions

The document provides questions about the technical requirements and considerations for a website or application project. It covers topics such as the purpose and functions of the site, hosting details, reporting needs, browser compatibility, content management, user generated content filtering, and pre-existing content import. The questions are intended to ensure all necessary technical details are addressed early in the project planning process.

domain name hosting
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

Intro to advanced web development
Intro to advanced web developmentIntro to advanced web development
Intro to advanced web development

The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive functioning. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.

html.htacceswordpress
By: Luis A. Colón Anthony Trivino
By: Luis A. Colón Anthony TrivinoBy: Luis A. Colón Anthony Trivino
By: Luis A. Colón Anthony Trivino

The document provides an overview of the Apache web server architecture. It describes how Apache uses a modular design with core components that define basic functionality and modules that implement request processing steps. The core handles HTTP connections and passes requests between modules. Modules can extend Apache's capabilities without changing the core. This modular design improves security, robustness and customization.

apache
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...

Users don’t care where their data lives. They just want to get their work done quickly and efficiently. They would prefer to do their work without opening three different applications and five different browser tabs. That means your applications need to share data and work well with other applications. So what can you do? Use XPages and Java, of course! Kathy and Julian will give you integration tips and examples of connecting your XPages apps to both IBM and non IBM technologies. Walk away with a head full of knowledge and a sample database full of working code. NOTE: this session is geared towards XPages and Java developers, beginners welcome! A presentation from Julian Robichaux (panagenda) and Kathy Brown (PSC Group).

connect2016ibmconnect2016xpages
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

Building faster websites: web performance with WordPress
Building faster websites: web performance with WordPressBuilding faster websites: web performance with WordPress
Building faster websites: web performance with WordPress

Nobody likes a slow website. Faster sites lead to happier users, and happier users lead to more conversions and revenue. That’s why you should take performance into account in your WordPress project. Learn what practical techniques and WordPress plugins to use in order to optimize your site for speed.

wordpressperformanceoptimization
Information on Various HTTP Error Codes
Information on Various HTTP Error CodesInformation on Various HTTP Error Codes
Information on Various HTTP Error Codes

HTTP (Hypertext Transfer Protocol) codes indicate a URL’s status and include various 3-digit error messages which describe the issues that are being encountered by the visitors.

http error codes
Frontend performance
Frontend performanceFrontend performance
Frontend performance

The document provides best practices for optimizing frontend performance by reducing page load time. It discusses ways to reduce the number of HTTP requests, DNS lookups, redirects and duplicate scripts. It also recommends techniques like minifying assets, leveraging caching, prioritizing critical components, optimizing images and using content delivery networks.

performancefrontend
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

Speed kills
Speed killsSpeed kills
Speed kills

Speed Kills. More accurately the lack of speed kills. It kills your visitors waiting for a page to load. It kills the search engines trying to index your site. It kills your number of page views, your rankings, your conversions, your user experience, your revenue, and the reach of your message. This presentation is all about tips and tricks for smaller Drupal sites to speed them up like the big boys at low or no cost. At A Small Orange we have a large number of clients who love Drupal and also love a value. We've learned a few things about site speed hosting Drupal sites on shared hosting over the years and we'd like to share that knowledge. We'll cover things like: Out of the box cacheing Other fun Drupal cacheing modules 3rd party services like CloudFlare Apache stuff like Mod Deflate

shared hostingsite speeda small orange
2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real

This document discusses how to scale PHP applications to meet high demand. It begins by noting that large companies like Facebook and Wikipedia use PHP. It then outlines several techniques for scaling PHP, including: using opcode caches to improve performance; storing sessions in a database rather than disk; leveraging in-memory data caches like Memcached and Redis; doing blocking work in background tasks via queues; and utilizing HTTP caching with a reverse proxy cache. The document emphasizes that performance is important for user experience and business results, and that these techniques can help PHP applications handle high traffic loads.

dustin whittlescaling php in the real worldphp
Geek Guide - Shared Hosting
Geek Guide - Shared HostingGeek Guide - Shared Hosting
Geek Guide - Shared Hosting

An AI assistant to help answer questions about cPanel. FTP Accounts: Create FTP accounts to allow file uploads. Mail: Manage email accounts, aliases, autoresponders, etc. MySQL Databases: Create and manage MySQL databases. PHPMyAdmin: A web-based MySQL administration interface. Software: Install and manage software like PHP, Perl, Python, etc. Statistics: View web server statistics like bandwidth usage. Subdomains: Create subdomains for your domain name. Webmail: Access your email via a web-based interface. Websites: Manage your domain name's website settings. WHM

cpanel hosting
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

Web performance optimization (WPO)
Web performance optimization (WPO)Web performance optimization (WPO)
Web performance optimization (WPO)

A presentation from SEO Campixx Barcamp 2011 in Berlin. Web Performance Optimization is about making websites faster. Here i discussed different measures and show the impact on competitive advantage and possibly rankings on Google. Undeniably you can say that better performance leads to more sales and better usability in terms of bouncing rates. View image slides here: http://b0i.de/wpopresentation

wpocrofast website
Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web Architecture

The document provides an introduction to basic web architecture, including HTML, URIs, HTTP, cookies, database-driven websites, AJAX, web services, XML, and JSON. It discusses how the web is a two-tiered architecture with a web browser displaying information from a web server. Key components like HTTP requests and responses are outlined. Extension of web architecture with server-side processing using languages like PHP and client-side processing with JavaScript are also summarized.

websharevisionteambarcamppp
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

David Calkins - Robots Everywhere
David Calkins - Robots EverywhereDavid Calkins - Robots Everywhere
David Calkins - Robots Everywhere

This document discusses the types and uses of robots, noting that there have been big changes in robots over the last 5 years. It outlines that robots can be autonomous or remotely operated, have bodies and minds, and can recognize faces and voices. Robots are used for tasks like vacuuming and dishwashing, as well as for home entertainment, security, and assisted living. Additionally, robots are beginning to be used in transportation, food service, work, sports, warfare, exploration, and more. The future of robots will depend on how humans program and apply them.

robotsdavidcalkinsweb2expo
Medical Cartoons
Medical CartoonsMedical Cartoons
Medical Cartoons

This document provides information about medical cartoons that can be used in PowerPoint presentations. It contains cartoons created by Val Jones, MD that can be used for personal PowerPoint shows with permission. Contacting the author is necessary to receive permission to distribute or publish the cartoons, or to view other samples.

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

Domain Name
Domain NameDomain Name
Domain Name
webhostingguy
 
facebook architecture for 600M users
facebook architecture for 600M usersfacebook architecture for 600M users
facebook architecture for 600M users
Jongyoon Choi
 
WordPress vs Other Content Management System
WordPress vs Other Content Management SystemWordPress vs Other Content Management System
WordPress vs Other Content Management System
HTS Hosting
 
Caching 101
Caching 101Caching 101
Caching 101
Andy Melichar
 
How to Speed up your Website
How to Speed up your WebsiteHow to Speed up your Website
How to Speed up your Website
HTS Hosting
 
High Performance - Joomla!Days NL 2009 #jd09nl
High Performance - Joomla!Days NL 2009 #jd09nlHigh Performance - Joomla!Days NL 2009 #jd09nl
High Performance - Joomla!Days NL 2009 #jd09nl
Joomla!Days Netherlands
 
Measuring Web Performance
Measuring Web Performance Measuring Web Performance
Measuring Web Performance
Dave Olsen
 
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
 
Tech Brief Questions
Tech Brief Questions Tech Brief Questions
Tech Brief Questions
webhostingguy
 
Intro to advanced web development
Intro to advanced web developmentIntro to advanced web development
Intro to advanced web development
Stevie T
 
By: Luis A. Colón Anthony Trivino
By: Luis A. Colón Anthony TrivinoBy: Luis A. Colón Anthony Trivino
By: Luis A. Colón Anthony Trivino
webhostingguy
 
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
panagenda
 
Building faster websites: web performance with WordPress
Building faster websites: web performance with WordPressBuilding faster websites: web performance with WordPress
Building faster websites: web performance with WordPress
Johannes Siipola
 
Information on Various HTTP Error Codes
Information on Various HTTP Error CodesInformation on Various HTTP Error Codes
Information on Various HTTP Error Codes
HTS Hosting
 
Frontend performance
Frontend performanceFrontend performance
Frontend performance
sacred 8
 
Speed kills
Speed killsSpeed kills
Speed kills
Josh Ward
 
2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real
PHP Conference Argentina
 
Geek Guide - Shared Hosting
Geek Guide - Shared HostingGeek Guide - Shared Hosting
Geek Guide - Shared Hosting
webhostingguy
 
Web performance optimization (WPO)
Web performance optimization (WPO)Web performance optimization (WPO)
Web performance optimization (WPO)
Mariusz Kaczmarek
 
Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web Architecture
Chamnap Chhorn
 

What's hot (20)

Domain Name
Domain NameDomain Name
Domain Name
 
facebook architecture for 600M users
facebook architecture for 600M usersfacebook architecture for 600M users
facebook architecture for 600M users
 
WordPress vs Other Content Management System
WordPress vs Other Content Management SystemWordPress vs Other Content Management System
WordPress vs Other Content Management System
 
Caching 101
Caching 101Caching 101
Caching 101
 
How to Speed up your Website
How to Speed up your WebsiteHow to Speed up your Website
How to Speed up your Website
 
High Performance - Joomla!Days NL 2009 #jd09nl
High Performance - Joomla!Days NL 2009 #jd09nlHigh Performance - Joomla!Days NL 2009 #jd09nl
High Performance - Joomla!Days NL 2009 #jd09nl
 
Measuring Web Performance
Measuring Web Performance Measuring Web Performance
Measuring Web Performance
 
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
 
Tech Brief Questions
Tech Brief Questions Tech Brief Questions
Tech Brief Questions
 
Intro to advanced web development
Intro to advanced web developmentIntro to advanced web development
Intro to advanced web development
 
By: Luis A. Colón Anthony Trivino
By: Luis A. Colón Anthony TrivinoBy: Luis A. Colón Anthony Trivino
By: Luis A. Colón Anthony Trivino
 
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
 
Building faster websites: web performance with WordPress
Building faster websites: web performance with WordPressBuilding faster websites: web performance with WordPress
Building faster websites: web performance with WordPress
 
Information on Various HTTP Error Codes
Information on Various HTTP Error CodesInformation on Various HTTP Error Codes
Information on Various HTTP Error Codes
 
Frontend performance
Frontend performanceFrontend performance
Frontend performance
 
Speed kills
Speed killsSpeed kills
Speed kills
 
2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real2013 - Dustin whittle - Escalando PHP en la vida real
2013 - Dustin whittle - Escalando PHP en la vida real
 
Geek Guide - Shared Hosting
Geek Guide - Shared HostingGeek Guide - Shared Hosting
Geek Guide - Shared Hosting
 
Web performance optimization (WPO)
Web performance optimization (WPO)Web performance optimization (WPO)
Web performance optimization (WPO)
 
Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web Architecture
 

Viewers also liked

David Calkins - Robots Everywhere
David Calkins - Robots EverywhereDavid Calkins - Robots Everywhere
David Calkins - Robots Everywhere
Rashmi Sinha
 
Medical Cartoons
Medical CartoonsMedical Cartoons
Medical Cartoons
Rashmi Sinha
 
How to get the most out of SlideShare
How to get the most out of SlideShareHow to get the most out of SlideShare
How to get the most out of SlideShare
Rashmi Sinha
 
Slide share nonprofit_gov_agencies
Slide share nonprofit_gov_agenciesSlide share nonprofit_gov_agencies
Slide share nonprofit_gov_agencies
Rashmi Sinha
 
Ajax Prediction
Ajax PredictionAjax Prediction
Ajax Prediction
Rashmi Sinha
 
IBM Fourth Quarter 2008 earnings
IBM Fourth Quarter 2008 earningsIBM Fourth Quarter 2008 earnings
IBM Fourth Quarter 2008 earnings
Rashmi Sinha
 

Viewers also liked (8)

Animations
AnimationsAnimations
Animations
 
David Calkins - Robots Everywhere
David Calkins - Robots EverywhereDavid Calkins - Robots Everywhere
David Calkins - Robots Everywhere
 
Medical Cartoons
Medical CartoonsMedical Cartoons
Medical Cartoons
 
gg
gggg
gg
 
How to get the most out of SlideShare
How to get the most out of SlideShareHow to get the most out of SlideShare
How to get the most out of SlideShare
 
Slide share nonprofit_gov_agencies
Slide share nonprofit_gov_agenciesSlide share nonprofit_gov_agencies
Slide share nonprofit_gov_agencies
 
Ajax Prediction
Ajax PredictionAjax Prediction
Ajax Prediction
 
IBM Fourth Quarter 2008 earnings
IBM Fourth Quarter 2008 earningsIBM Fourth Quarter 2008 earnings
IBM Fourth Quarter 2008 earnings
 

Similar to Scaling 101 test

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
 
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
 
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
 
Automated Deployment
Automated DeploymentAutomated Deployment
Automated Deployment
phpne
 
System Architecture at DDVE
System Architecture at DDVESystem Architecture at DDVE
System Architecture at DDVE
Alvar Lumberg
 
Hadoop World 2011: Building Web Analytics Processing on Hadoop at CBS Interac...
Hadoop World 2011: Building Web Analytics Processing on Hadoop at CBS Interac...Hadoop World 2011: Building Web Analytics Processing on Hadoop at CBS Interac...
Hadoop World 2011: Building Web Analytics Processing on Hadoop at CBS Interac...
Cloudera, Inc.
 
The Web Scale
The Web ScaleThe Web Scale
The Web Scale
Guille -bisho-
 

Similar to Scaling 101 test (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
 
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
 
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
 
Automated Deployment
Automated DeploymentAutomated Deployment
Automated Deployment
 
System Architecture at DDVE
System Architecture at DDVESystem Architecture at DDVE
System Architecture at DDVE
 
Hadoop World 2011: Building Web Analytics Processing on Hadoop at CBS Interac...
Hadoop World 2011: Building Web Analytics Processing on Hadoop at CBS Interac...Hadoop World 2011: Building Web Analytics Processing on Hadoop at CBS Interac...
Hadoop World 2011: Building Web Analytics Processing on Hadoop at CBS Interac...
 
The Web Scale
The Web ScaleThe Web Scale
The Web Scale
 

More from Rashmi Sinha

Growth hacking is unsexy
Growth hacking is unsexyGrowth hacking is unsexy
Growth hacking is unsexy
Rashmi Sinha
 
Hacking growth at slideshare
Hacking growth at slideshareHacking growth at slideshare
Hacking growth at slideshare
Rashmi Sinha
 
OPEN Forum: Women Business Owners
OPEN Forum: Women Business OwnersOPEN Forum: Women Business Owners
OPEN Forum: Women Business Owners
Rashmi Sinha
 
SlideShare Zeitgeist 2011
SlideShare Zeitgeist 2011SlideShare Zeitgeist 2011
SlideShare Zeitgeist 2011
Rashmi Sinha
 
SlideShare Zeitgeist 2010
SlideShare Zeitgeist 2010SlideShare Zeitgeist 2010
SlideShare Zeitgeist 2010
Rashmi Sinha
 
Why your startup needs multiple revenue models
Why your startup needs multiple revenue modelsWhy your startup needs multiple revenue models
Why your startup needs multiple revenue models
Rashmi Sinha
 
Because brands are people too (talk at Smash Summit 2010)
Because brands are people too (talk at Smash Summit 2010)Because brands are people too (talk at Smash Summit 2010)
Because brands are people too (talk at Smash Summit 2010)
Rashmi Sinha
 
Work wants to be social (talk at Web 2 Expo 2010)
Work wants to be social (talk at Web 2 Expo 2010)Work wants to be social (talk at Web 2 Expo 2010)
Work wants to be social (talk at Web 2 Expo 2010)
Rashmi Sinha
 
Sharing is the new lead gen - Talk at Web 2.0 expo
Sharing is the new lead gen - Talk at Web 2.0 expoSharing is the new lead gen - Talk at Web 2.0 expo
Sharing is the new lead gen - Talk at Web 2.0 expo
Rashmi Sinha
 
How to use SlideShare to promote your business (webinar)
How to use SlideShare to promote your business (webinar)How to use SlideShare to promote your business (webinar)
How to use SlideShare to promote your business (webinar)
Rashmi Sinha
 
10 things i wish i had known
10 things i wish i had known10 things i wish i had known
10 things i wish i had known
Rashmi Sinha
 
LeadShare for your domain
LeadShare for your domainLeadShare for your domain
LeadShare for your domain
Rashmi Sinha
 
SlideShare Zeitgeist 2009
SlideShare Zeitgeist 2009SlideShare Zeitgeist 2009
SlideShare Zeitgeist 2009
Rashmi Sinha
 
Fast Cheap Barely In Control Web2 Expo
Fast Cheap Barely In Control Web2 ExpoFast Cheap Barely In Control Web2 Expo
Fast Cheap Barely In Control Web2 Expo
Rashmi Sinha
 
Presentations As Social Media In (talk at Portland Presentation Camp)
Presentations As Social Media In (talk at Portland Presentation Camp)Presentations As Social Media In (talk at Portland Presentation Camp)
Presentations As Social Media In (talk at Portland Presentation Camp)
Rashmi Sinha
 
How Businesses can use Social Media (talk at TiE workshop)
How Businesses can use Social Media (talk at TiE workshop)How Businesses can use Social Media (talk at TiE workshop)
How Businesses can use Social Media (talk at TiE workshop)
Rashmi Sinha
 
Introducing SlideShare Business
Introducing SlideShare BusinessIntroducing SlideShare Business
Introducing SlideShare Business
Rashmi Sinha
 
Why Use AdShare
Why Use AdShareWhy Use AdShare
Why Use AdShare
Rashmi Sinha
 
Microsoft Parent Toolbox Channel On Slide Share
Microsoft Parent Toolbox Channel On Slide ShareMicrosoft Parent Toolbox Channel On Slide Share
Microsoft Parent Toolbox Channel On Slide Share
Rashmi Sinha
 

More from Rashmi Sinha (20)

Growth hacking is unsexy
Growth hacking is unsexyGrowth hacking is unsexy
Growth hacking is unsexy
 
Hacking growth at slideshare
Hacking growth at slideshareHacking growth at slideshare
Hacking growth at slideshare
 
OPEN Forum: Women Business Owners
OPEN Forum: Women Business OwnersOPEN Forum: Women Business Owners
OPEN Forum: Women Business Owners
 
Meet SlideShare
Meet SlideShareMeet SlideShare
Meet SlideShare
 
SlideShare Zeitgeist 2011
SlideShare Zeitgeist 2011SlideShare Zeitgeist 2011
SlideShare Zeitgeist 2011
 
SlideShare Zeitgeist 2010
SlideShare Zeitgeist 2010SlideShare Zeitgeist 2010
SlideShare Zeitgeist 2010
 
Why your startup needs multiple revenue models
Why your startup needs multiple revenue modelsWhy your startup needs multiple revenue models
Why your startup needs multiple revenue models
 
Because brands are people too (talk at Smash Summit 2010)
Because brands are people too (talk at Smash Summit 2010)Because brands are people too (talk at Smash Summit 2010)
Because brands are people too (talk at Smash Summit 2010)
 
Work wants to be social (talk at Web 2 Expo 2010)
Work wants to be social (talk at Web 2 Expo 2010)Work wants to be social (talk at Web 2 Expo 2010)
Work wants to be social (talk at Web 2 Expo 2010)
 
Sharing is the new lead gen - Talk at Web 2.0 expo
Sharing is the new lead gen - Talk at Web 2.0 expoSharing is the new lead gen - Talk at Web 2.0 expo
Sharing is the new lead gen - Talk at Web 2.0 expo
 
How to use SlideShare to promote your business (webinar)
How to use SlideShare to promote your business (webinar)How to use SlideShare to promote your business (webinar)
How to use SlideShare to promote your business (webinar)
 
10 things i wish i had known
10 things i wish i had known10 things i wish i had known
10 things i wish i had known
 
LeadShare for your domain
LeadShare for your domainLeadShare for your domain
LeadShare for your domain
 
SlideShare Zeitgeist 2009
SlideShare Zeitgeist 2009SlideShare Zeitgeist 2009
SlideShare Zeitgeist 2009
 
Fast Cheap Barely In Control Web2 Expo
Fast Cheap Barely In Control Web2 ExpoFast Cheap Barely In Control Web2 Expo
Fast Cheap Barely In Control Web2 Expo
 
Presentations As Social Media In (talk at Portland Presentation Camp)
Presentations As Social Media In (talk at Portland Presentation Camp)Presentations As Social Media In (talk at Portland Presentation Camp)
Presentations As Social Media In (talk at Portland Presentation Camp)
 
How Businesses can use Social Media (talk at TiE workshop)
How Businesses can use Social Media (talk at TiE workshop)How Businesses can use Social Media (talk at TiE workshop)
How Businesses can use Social Media (talk at TiE workshop)
 
Introducing SlideShare Business
Introducing SlideShare BusinessIntroducing SlideShare Business
Introducing SlideShare Business
 
Why Use AdShare
Why Use AdShareWhy Use AdShare
Why Use AdShare
 
Microsoft Parent Toolbox Channel On Slide Share
Microsoft Parent Toolbox Channel On Slide ShareMicrosoft Parent Toolbox Channel On Slide Share
Microsoft Parent Toolbox Channel On Slide Share
 

Recently uploaded

Destor.one - One Pager for Investment Round Dec22.pdf
Destor.one - One Pager for Investment Round Dec22.pdfDestor.one - One Pager for Investment Round Dec22.pdf
Destor.one - One Pager for Investment Round Dec22.pdf
Thales Jacobi
 
Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...
Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...
Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...
Lynch Creek Farm
 
The Strengths and Weaknesses of Each Zodiac Sign
The Strengths and Weaknesses of Each Zodiac SignThe Strengths and Weaknesses of Each Zodiac Sign
The Strengths and Weaknesses of Each Zodiac Sign
my Pandit
 
Cheslyn Jacobs- TymeBank: Building Consumer Trust in Digital Banking
Cheslyn Jacobs- TymeBank: Building Consumer Trust in Digital  BankingCheslyn Jacobs- TymeBank: Building Consumer Trust in Digital  Banking
Cheslyn Jacobs- TymeBank: Building Consumer Trust in Digital Banking
itnewsafrica
 
Introduction to Islamic Banking, concept, principal, practice .pdf
Introduction to Islamic Banking, concept, principal, practice .pdfIntroduction to Islamic Banking, concept, principal, practice .pdf
Introduction to Islamic Banking, concept, principal, practice .pdf
FaysalMahmud22
 
Globalization strategy for Meesho with respect to Shopee
Globalization strategy for Meesho with respect to ShopeeGlobalization strategy for Meesho with respect to Shopee
Globalization strategy for Meesho with respect to Shopee
AsmitaSinghaRoy1
 
Expert International Executive Recruiters for Global Expansion
Expert International Executive Recruiters for Global ExpansionExpert International Executive Recruiters for Global Expansion
Expert International Executive Recruiters for Global Expansion
Alliance Recruitment Agency - Staffing Agency In California, Esplanade Avenue, Pacifica, CA, USA
 
Game Product Manager VS Product Manager.pdf
Game Product Manager VS Product Manager.pdfGame Product Manager VS Product Manager.pdf
Game Product Manager VS Product Manager.pdf
shohreesmaili1
 
Entrepreneurial mindset: An Introduction to Entrepreneurship
Entrepreneurial mindset: An Introduction to EntrepreneurshipEntrepreneurial mindset: An Introduction to Entrepreneurship
Entrepreneurial mindset: An Introduction to Entrepreneurship
Sanjay Joshi
 
Navigating Change Strategies for Effective Transition and Operational Plannin...
Navigating Change Strategies for Effective Transition and Operational Plannin...Navigating Change Strategies for Effective Transition and Operational Plannin...
Navigating Change Strategies for Effective Transition and Operational Plannin...
Brian Frerichs
 
A STUDY OF MUTUAL FUND OF BANK OF INDIA .pdf
A STUDY OF MUTUAL FUND  OF BANK OF INDIA .pdfA STUDY OF MUTUAL FUND  OF BANK OF INDIA .pdf
A STUDY OF MUTUAL FUND OF BANK OF INDIA .pdf
rsonics22
 
Staffan Canback - The 18 Rays of Project Management
Staffan Canback - The 18 Rays of Project ManagementStaffan Canback - The 18 Rays of Project Management
Staffan Canback - The 18 Rays of Project Management
Tellusant, Inc.
 
THE IMPORTANCE OF CODING IN DEVOPS EXPLANATION
THE IMPORTANCE OF CODING IN DEVOPS EXPLANATIONTHE IMPORTANCE OF CODING IN DEVOPS EXPLANATION
THE IMPORTANCE OF CODING IN DEVOPS EXPLANATION
hrajkumar444
 
Discover who your target audience is and reach them
Discover who your target audience is and reach themDiscover who your target audience is and reach them
Discover who your target audience is and reach them
Quibble
 
Family/Indoor Entertainment Centers Market: Regulation and Compliance Updates
Family/Indoor Entertainment Centers Market: Regulation and Compliance UpdatesFamily/Indoor Entertainment Centers Market: Regulation and Compliance Updates
Family/Indoor Entertainment Centers Market: Regulation and Compliance Updates
AishwaryaDoiphode3
 
Importance of Quality Transformations in VUCA World
Importance of Quality Transformations in VUCA WorldImportance of Quality Transformations in VUCA World
Importance of Quality Transformations in VUCA World
Ankur860831
 
Credit Card Stats And Trends in 2024- Webpays
Credit Card Stats And Trends in 2024- WebpaysCredit Card Stats And Trends in 2024- Webpays
Credit Card Stats And Trends in 2024- Webpays
itio Innovex Pvt Ltv
 
DEKISH ELEVATOR INDIA PVT LTD Brochure.pdf
DEKISH ELEVATOR INDIA PVT LTD Brochure.pdfDEKISH ELEVATOR INDIA PVT LTD Brochure.pdf
DEKISH ELEVATOR INDIA PVT LTD Brochure.pdf
unosafeads
 
全国2024欧洲杯盘口正规平台-全球网络2024欧洲杯盘口平台 |【​网址​🎉ac10.net🎉​】
全国2024欧洲杯盘口正规平台-全球网络2024欧洲杯盘口平台 |【​网址​🎉ac10.net🎉​】全国2024欧洲杯盘口正规平台-全球网络2024欧洲杯盘口平台 |【​网址​🎉ac10.net🎉​】
全国2024欧洲杯盘口正规平台-全球网络2024欧洲杯盘口平台 |【​网址​🎉ac10.net🎉​】
andagarcia212
 
Local SEO Strategies: Dominate Local Search with Effective SEO Tactics
Local SEO Strategies: Dominate Local Search with Effective SEO TacticsLocal SEO Strategies: Dominate Local Search with Effective SEO Tactics
Local SEO Strategies: Dominate Local Search with Effective SEO Tactics
Woospers
 

Recently uploaded (20)

Destor.one - One Pager for Investment Round Dec22.pdf
Destor.one - One Pager for Investment Round Dec22.pdfDestor.one - One Pager for Investment Round Dec22.pdf
Destor.one - One Pager for Investment Round Dec22.pdf
 
Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...
Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...
Christmas Decorations_ A Guide to Small Christmas Trees, Candle Centerpieces,...
 
The Strengths and Weaknesses of Each Zodiac Sign
The Strengths and Weaknesses of Each Zodiac SignThe Strengths and Weaknesses of Each Zodiac Sign
The Strengths and Weaknesses of Each Zodiac Sign
 
Cheslyn Jacobs- TymeBank: Building Consumer Trust in Digital Banking
Cheslyn Jacobs- TymeBank: Building Consumer Trust in Digital  BankingCheslyn Jacobs- TymeBank: Building Consumer Trust in Digital  Banking
Cheslyn Jacobs- TymeBank: Building Consumer Trust in Digital Banking
 
Introduction to Islamic Banking, concept, principal, practice .pdf
Introduction to Islamic Banking, concept, principal, practice .pdfIntroduction to Islamic Banking, concept, principal, practice .pdf
Introduction to Islamic Banking, concept, principal, practice .pdf
 
Globalization strategy for Meesho with respect to Shopee
Globalization strategy for Meesho with respect to ShopeeGlobalization strategy for Meesho with respect to Shopee
Globalization strategy for Meesho with respect to Shopee
 
Expert International Executive Recruiters for Global Expansion
Expert International Executive Recruiters for Global ExpansionExpert International Executive Recruiters for Global Expansion
Expert International Executive Recruiters for Global Expansion
 
Game Product Manager VS Product Manager.pdf
Game Product Manager VS Product Manager.pdfGame Product Manager VS Product Manager.pdf
Game Product Manager VS Product Manager.pdf
 
Entrepreneurial mindset: An Introduction to Entrepreneurship
Entrepreneurial mindset: An Introduction to EntrepreneurshipEntrepreneurial mindset: An Introduction to Entrepreneurship
Entrepreneurial mindset: An Introduction to Entrepreneurship
 
Navigating Change Strategies for Effective Transition and Operational Plannin...
Navigating Change Strategies for Effective Transition and Operational Plannin...Navigating Change Strategies for Effective Transition and Operational Plannin...
Navigating Change Strategies for Effective Transition and Operational Plannin...
 
A STUDY OF MUTUAL FUND OF BANK OF INDIA .pdf
A STUDY OF MUTUAL FUND  OF BANK OF INDIA .pdfA STUDY OF MUTUAL FUND  OF BANK OF INDIA .pdf
A STUDY OF MUTUAL FUND OF BANK OF INDIA .pdf
 
Staffan Canback - The 18 Rays of Project Management
Staffan Canback - The 18 Rays of Project ManagementStaffan Canback - The 18 Rays of Project Management
Staffan Canback - The 18 Rays of Project Management
 
THE IMPORTANCE OF CODING IN DEVOPS EXPLANATION
THE IMPORTANCE OF CODING IN DEVOPS EXPLANATIONTHE IMPORTANCE OF CODING IN DEVOPS EXPLANATION
THE IMPORTANCE OF CODING IN DEVOPS EXPLANATION
 
Discover who your target audience is and reach them
Discover who your target audience is and reach themDiscover who your target audience is and reach them
Discover who your target audience is and reach them
 
Family/Indoor Entertainment Centers Market: Regulation and Compliance Updates
Family/Indoor Entertainment Centers Market: Regulation and Compliance UpdatesFamily/Indoor Entertainment Centers Market: Regulation and Compliance Updates
Family/Indoor Entertainment Centers Market: Regulation and Compliance Updates
 
Importance of Quality Transformations in VUCA World
Importance of Quality Transformations in VUCA WorldImportance of Quality Transformations in VUCA World
Importance of Quality Transformations in VUCA World
 
Credit Card Stats And Trends in 2024- Webpays
Credit Card Stats And Trends in 2024- WebpaysCredit Card Stats And Trends in 2024- Webpays
Credit Card Stats And Trends in 2024- Webpays
 
DEKISH ELEVATOR INDIA PVT LTD Brochure.pdf
DEKISH ELEVATOR INDIA PVT LTD Brochure.pdfDEKISH ELEVATOR INDIA PVT LTD Brochure.pdf
DEKISH ELEVATOR INDIA PVT LTD Brochure.pdf
 
全国2024欧洲杯盘口正规平台-全球网络2024欧洲杯盘口平台 |【​网址​🎉ac10.net🎉​】
全国2024欧洲杯盘口正规平台-全球网络2024欧洲杯盘口平台 |【​网址​🎉ac10.net🎉​】全国2024欧洲杯盘口正规平台-全球网络2024欧洲杯盘口平台 |【​网址​🎉ac10.net🎉​】
全国2024欧洲杯盘口正规平台-全球网络2024欧洲杯盘口平台 |【​网址​🎉ac10.net🎉​】
 
Local SEO Strategies: Dominate Local Search with Effective SEO Tactics
Local SEO Strategies: Dominate Local Search with Effective SEO TacticsLocal SEO Strategies: Dominate Local Search with Effective SEO Tactics
Local SEO Strategies: Dominate Local Search with Effective SEO Tactics
 

Scaling 101 test

  • 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