Growing in web environment at XING



Similar documents
Drupal Performance Tuning

Serving 4 million page requests an hour with Magento Enterprise

Tipping The Scale Tips, Tools, and Techniques For Building Scalable. Steve French Senior Software Engineer digg.com

Large Scale file storage with MogileFS. Stuart Teasdale Lead System Administrator we7 Ltd

How Comcast Built An Open Source Content Delivery Network National Engineering & Technical Operations

making drupal run fast

SCALABILITY. Hodicska Gergely. Web Engineering Manager as Ustream. May 7, 2012

Explain how to prepare the hardware and other resources necessary to install SQL Server. Install SQL Server. Manage and configure SQL Server.

always available Cloud

Scaling Graphite Installations

Scripts. MIT s Dynamic Web Hosting Service

Layers of Caching: Key to scaling your website. Lance Albertson -- Narayan Newton

Maintaining a Microsoft SQL Server 2008 Database

Adding scalability to legacy PHP web applications. Overview. Mario Valdez-Ramirez

Specification and Implementation of Dynamic Web Site Benchmarks. Sameh Elnikety Department of Computer Science Rice University

Performance for Site Builders

ZingMe Practice For Building Scalable PHP Website. By Chau Nguyen Nhat Thanh ZingMe Technical Manager Web Technical - VNG

Varnish the Drupal way

Architecting ColdFusion For Scalability And High Availability. Ryan Stewart Platform Evangelist

Nagios and Cloud Computing

Very Large Enterprise Network, Deployment, Users

WordPress Optimization

Java, PHP & Ruby - Cloud Hosting

Scalability of web applications. CSCI 470: Web Science Keith Vertanen

Big Data with Component Based Software

Drupal Performance Tips and Tricks. Khalid Baheyeldin. Drupal Camp Toronto 2014

SCALABLE DATA SERVICES

Tushar Joshi Turtle Networks Ltd

IdP Clustering. You want to prevent service outages. High Availability and Load Balancing. Possible problems: HW failures

Enterprise Network Deployment, 10,000 25,000 Users

Monitoring MySQL. Kristian Köhntopp

Web Performance. Sergey Chernyshev. March '09 New York Web Standards Meetup. New York, NY. March 19 th, 2009

Course Syllabus. At Course Completion

OVERVIEW Methodology Objectives Terminology Recommended Test Protocol... 3 CLOUD SERVICES VS. DEDICATED HOSTING...

Apache Usage. Apache is used to serve static and dynamic content

A 100k Users.. Now What?

Very Large Enterprise Network Deployment, 25,000+ Users

Course. Overview. Length: 5 Day(s) Published: English. IT Professionals. Level: Type: Method: Delivery. Enroll now (CAL)

CLOUD DEVELOPMENT BEST PRACTICES & SUPPORT APPLICATIONS

Performance Tuning and Optimization for high traffic Drupal sites. Khalid Baheyeldin Drupal Camp, Toronto May 11 12, 2007

Course Syllabus. Maintaining a Microsoft SQL Server 2005 Database. At Course Completion

High Availability Solutions for the MariaDB and MySQL Database

Ensuring scalability and performance with Drupal as your audience grows

STREAMEZZO RICH MEDIA SERVER

Cloud Based Application Architectures using Smart Computing

Monitoring MySQL. Presented by, MySQL & O Reilly Media, Inc. A quick overview of available tools

Simple Tips to Improve Drupal Performance: No Coding Required. By Erik Webb, Senior Technical Consultant, Acquia

Scalable Web Programming. CS193S - Jan Jannink - 1/12/10

Designing, Optimizing and Maintaining a Database Administrative Solution for Microsoft SQL Server 2008

Drupal in the Cloud. by Azhan Founder/Director S & A Solutions

Designing, Scoping, and Configuring Scalable Drupal Infrastructure. Presented by David Strauss

Wikimedia architecture. Mark Bergsma Wikimedia Foundation Inc.

Ruby on XING. Dr. Felix Menden Dr. Johannes Mainusch. Agenda. January 2008, Hamburg XING AG

Apache Performance Tuning

Case Studies PHP 2015

DBMS Project. COP Spring Final Submission Report

Simplifying Your IT Helpdesk with Request Tracker

5 Mistakes to Avoid on Your Drupal Website

MS Design, Optimize and Maintain Database for Microsoft SQL Server 2008

History of Disaster - The BioWare Community Site

MakeMyTrip CUSTOMER SUCCESS STORY

Introduction 1 Performance on Hosted Server 1. Benchmarks 2. System Requirements 7 Load Balancing 7

Performance Tuning and Optimizing SQL Databases 2016

iweb Management Packages - List of supported services and software

4x High Performance for Drupal. Presented by Fabian Franz. Step by Step

Achieving Zero Downtime and Accelerating Performance for WordPress

CloudLinux is a proven solution for shared hosting providers that:

Are You Ready for the Holiday Rush?

Efficient Network Marketing - Fabien Hermenier A.M.a.a.a.C.

The deployment of OHMS TM. in private cloud

Hosting as a Service (HaaS) Playbook. Version 0.92

Parallels Plesk Automation

Removing Failure Points and Increasing Scalability for the Engine that Drives webmd.com

Expert PHP and MySQL. Application Desscpi and Development. Apress" Marc Rochkind

Monitoring Remedy with BMC Solutions

Enterprise-level EE: Uptime, Speed, and Scale

Appendix A Core Concepts in SQL Server High Availability and Replication

IncidentMonitor Server Specification Datasheet

COURSE CONTENT FOR WINTER TRAINING ON Web Development using PHP & MySql

Wikimedia Infrastructure. Roan Kattouw

Cloud Storage. Parallels. Performance Benchmark Results. White Paper.

Implementing Internet Storage Service Using OpenAFS. Sungjin Dongguen Arum

A New Tool for Monitoring CMS Tier 3 LHC Data Analysis Centers

Linux Tools for Monitoring and Performance. Khalid Baheyeldin November 2009 KWLUG

TRACE PERFORMANCE TESTING APPROACH. Overview. Approach. Flow. Attributes

PGCon PostgreSQL Performance Pitfalls

RED HAT SOFTWARE COLLECTIONS BRIDGING DEVELOPMENT AGILITY AND PRODUCTION STABILITY

Maintaining Non-Stop Services with Multi Layer Monitoring

Pro Puppet. Jeffrey McCune. James TurnbuII. Apress* m in

Implement Hadoop jobs to extract business value from large and varied data sets

How To Make A Mobile Bridge Work For You

SAP HANA Cloud Applications Partner Program Certification

Application note: Connecting the to a Database

Random Walk Shoes. Setting Up a Web Server

Hadoop and its Usage at Facebook. Dhruba Borthakur June 22 rd, 2009

High Performance Ruby on Rails and MySQL. David Berube

never 20X spike ClustrixDB 2nd Choxi (Formally nomorerack.com) Customer Success Story Reliability and Availability with fast growth in the cloud

Case Study - I. Industry: Social Networking Website Technology : J2EE AJAX, Spring, MySQL, Weblogic, Windows Server 2008.

Dedicated Server Support

FOSSC Oman Michael Meskes. Mission impossible? Can I Replace My Business Critical IT With Open Source?

Transcription:

Growing in web environment at XING Jens Muecke Nuernberg, 06/24/2010

Content 1. Introduction into XING 2. Why does performance matter? 3. Solving growing pains 4. Why Open Source? Jens Muecke, Nuernberg, 06/24/2010 2

Introduction into XING

01 Introduction into XING Leading Business Social Network in Europe > 9 million members > 700.000 premium members Highly interactive community > 38.000 groups > 150.000 events per year 50 releases per year ~100 employes at engineering Jens Muecke, Nuernberg, 06/24/2010 4

02 Introduction into XING infrastructure: scale out not scale up > 300 servers > 30% MySQL servers two data centers full redundancy Jens Muecke, Nuernberg, 06/24/2010 5

03 Introduction into XING In peek times, >50 thoused logged in users Users logged in Germany vs. Serbia Jens Muecke, Nuernberg, 06/24/2010 6

04 Introduction into XING LAMP Linux Apache MySQL Perl Jens Muecke, Nuernberg, 06/24/2010 7

05 Introduction into XING The true is more like: Linux memcached Apache HTTPD Gearman MySQL nagios Perl Apache Shindig Ruby on Rails prototype.js Lighttpd Git FAI munin CPAN Modules... Jens Muecke, Nuernberg, 06/24/2010 8

Why does performance matter?

01 Why does performance matter? http://radar.oreilly.com/2009/06/bing-and-google-agree-slow-pag.html Delays under half a second impact business metrics The cost of delay increases over time and persists Jens Muecke, Nuernberg, 06/24/2010 10

02 Why does performance matter? http://radar.oreilly.com/200906221737.jpg Jens Muecke, Nuernberg, 06/24/2010 11

03 Why does performance matter? Jens Muecke, Nuernberg, 06/24/2010 12

04 Why does performance matter? Full Story at http://www.youtube.com/watch?v=bqse51-gr2s Conclusion High performance brings more then user satisfaction Jens Muecke, Nuernberg, 06/24/2010 13

Solving growing pains

01 Solving growing pains Cheap standard hardware Identify bottleneck by constantly monitoring all systems and solve them itteratively How to scale out? Jens Muecke, Nuernberg, 06/24/2010 15

02 Solving growing pains At the beginning internet application server Jens Muecke, Nuernberg, 06/24/2010 16

03 Solving growing pains Next steps... SSL/LoadBalancer internet database application servers Jens Muecke, Nuernberg, 06/24/2010 17

04 Solving growing pains step by step add new servers for one job memcached static content cron job Jens Muecke, Nuernberg, 06/24/2010 18

05 Solving growing pains vertical scaling merge different Tables on User ID First name Last name 1 Michael Otto 2 Norbert Schuler different servers Message ID User ID Subject 1 2 Hi 2 1 Re: Hi Jens Muecke, Nuernberg, 06/24/2010 19

06 Solving growing pains vertical scaling our $CONTEXT_MAIN = 1; our $CONTEXT_MSG = 10; # query user my $sql = 'select first_name from user limit 20'; my @users = db::query_hashrefs($context_main, $sql); # query message my $sql = 'select subject from message limit 20'; my @users = db::query_hashrefs($context_msg, $sql); Jens Muecke, Nuernberg, 06/24/2010 20

07 Solving growing pains horizontal scaling seperate data User ID First name Last name 1 Michael Otto 2 Norbert Schuler in different clusters User ID First name Last name 3 Hanno Zulla 4 Heiner Juergensen Jens Muecke, Nuernberg, 06/24/2010 21

08 Solving growing pains vertical scaling our $CONTEXT_USR1 = 1; our $CONTEXT_USR2 = 2; # query user my $sql = 'select first_name from user where id=1'; my @users = db::query_hashrefs($context_usr1, $sql); one table required to store clusterid Jens Muecke, Nuernberg, 06/24/2010 22

09 Solving growing pains separate application read write slave/lvs master replication Jens Muecke, Nuernberg, 06/24/2010 23

10 Solving growing pains separate read and write our $CONTEXT_MAIN_READ = 1; our $CONTEXT_MAIN_WRITE = 2; # query user my $sql = 'select first_name from user limit 20'; my @res = db::query_hashrefs($context_main_read, $sql); # update email my $sql = 'update user set email=...'; db::query($context_main_write, $sql); Jens Muecke, Nuernberg, 06/24/2010 24

11 Solving growing pains Delivering of user images <4kb of size often 10-20 per page Usage of SSD instead of spinning disks decrease seeking time from 3.5 msec to 0.2 msec Jens Muecke, Nuernberg, 06/24/2010 25

12 Solving growing pains Jens Muecke, Nuernberg, 06/24/2010 26

13 Solving growing pains Jens Muecke, Nuernberg, 06/24/2010 27

14 Solving growing pains Jens Muecke, Nuernberg, 06/24/2010 28

15 Solving growing pains Viewport load content, when user is scrolling down http://github.com/xing/prototype-within-viewport Jens Muecke, Nuernberg, 06/24/2010 29

16 Solving growing pains - 50%!!! Jens Muecke, Nuernberg, 06/24/2010 30

17 Solving growing pains Best Practices for Speeding Up Your Web Site http://developer.yahoo.com/performance/rules.html Cache Control Header GZip Components CSS at top script at bottom... Jens Muecke, Nuernberg, 06/24/2010 31

18 Solving growing pains There are so many more but it's all about monitoring and fixing it (devide & conquer) FireBug and Speed Tracer munin Jens Muecke, Nuernberg, 06/24/2010 32

19 Solving growing pains Jens Muecke, Nuernberg, 06/24/2010 33

Why Open Source?

01 Why Open Source? Trust and security Possibility to understand Trace bottlenecks Community watch the code Jens Muecke, Nuernberg, 06/24/2010 35

02 Why Open Source? Development and feedback Active community People to hire Conferences to share knowledge More motivation Jens Muecke, Nuernberg, 06/24/2010 36

02 Why Open Source? Save, and return control No license cost You can buy support Use open standards Jens Muecke, Nuernberg, 06/24/2010 37

Thank you for your kind attention! Presentation Titel Author City, 24/06/10 38