Inside Hatena Bookmark's Backend

Size: px
Start display at page:

Download "Inside Hatena Bookmark's Backend"

Transcription

1 Inside Hatena Bookmark's Backend Naoya Ito CTO, Hatena co., ltd.

2 Agenda About Hatena Bookmark System Overview Backend Evolution mod_perl 2.0 Software Updates Caching on Reverse Proxy Other Topics

3 About Hatena Bookmark

4 Hatena Bookmark Social Bookmark Service It's not delicious

5 Overview The most popular social bookmark service in Japan Hatena Keywords and Tags Web APIs Digital Contents Grandprix Award

6 Numbers 35,000 users 45M PV/month 15,000 lines of code

7 Traffic

8 System Overview

9 reverse proxy User's Request bot / RSS / API mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl Other Services mysql mysql mysql mysql mysql (master) mysql

10 Hardware 17 DIY PC Servers 10 app servers 6 DB (1 master / 5 slaves) 1 Reverse Proxy

11 Software LAMP Fedora Core Apache 2.0 / Apache 2.2 MySQL 4.0 not PHP, not Python

12 Other Softwares Senna MRTG Nagios Capistrano (Switch Tower) Subversion

13 Hatena Framework Since 2001 MC of MVC V = TT or H::T DI Container with YAML Plug-In Helper Script / server.pl like Catalyst

14 Backend Evolution

15 Beginning... 3 servers 3 Servers Reverse Proxy (Apache 2.0) mod_proxy + mod_rewrite Application Server (mod_perl 1.99) DB

16 reverse proxy User's Request mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mysql (slave) mysql (slave) mysql (slave) mysql (slave) mysql (master) mysql (slave)

17 Reverse Proxy Setting RewriteRule ^/images/ - [L] RewriteRule ^/css/ - [L] RewriteRule ^/js/ - [L] RewriteRule ^/theme/ - [L] RewriteRule ^/(.*)$ [P]

18 Apache Tuning reverse proxy app server Purpose static files dynamic contents KeepAlive On Off MaxClient MPM prefork prefork memory size / proc Tiny Massive!

19 What is the "load"? I/O swap CPU It's difficult to fully use CPU Limitation of I/O and/or Memory

20 MySQL MySQL 4.0 MyISAM Simple and Easy Almost all of queries are SELECT! So, we don't need InnoDB MERGE table

21 3 + 1 = 4 servers Need additional MySQL High load Replication! MySQL's replication is easy and good.

22 reverse proxy User's Request mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl Other Services mysql mysql (slave) mysql (slave) mysql (slave) mysql (master) mysql (slave)

23 2 DB servers R to Slaves / CUD to Master We have O/R mapper Gathering connection logics in a class. Easy to extend for 2 servers. Class::DBI::Replication

24 On Memory Table Data Technique for MySQL Use tmpfs RAM disk for Linux 2.4 / 2.6 Move some/all files of table to tmpfs on your slave server. No Disk I/O with MySQL! Server crash is not a problem - just replica.

25 How to do it $ sudo mkdir -p /shm/mysql/bookmark $ sudo mount -t tmpfs -o size=1024m tmpfs /dev/shm $ sudo mount -t tmpfs -o size=1024m /dev/shm $ cd /var/lib/mysql/bookmark $ sudo cp *.* /shm/mysql/bookmark $ sudo vi /etc/my.cnf datadir=/shm/mysql/bookmark

26 Be careful Keep your tmpfs beging NOT full alter table, myisamchk needs some space. Need a large memory size of tmpfs + MySQL threads 4GB memory limit

27 MySQL for caching With tmpfs, you can use MySQL for caching like memcached. It can't be distributed completely. Flexible caching "select storabled_data from cache order by timestamp desc limit 5"

28 4 + 2 = 6 servers More Apache Max Client, High load...

29 reverse proxy User's Request mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl Other Services mysql mysql (slave) mysql (slave) mysql (slave) mysql (master) mysql (slave)

30 Load Balance Now we need load balance we can do it with Apache 2.0 mod_proxy + mod_rewrite use ReriteMap

31 Reverse Proxy Setting RewriteRule ^/images/ - [L] RewriteRule ^/css/ - [L] RewriteRule ^/js/ - [L] RewriteRule ^/theme/ - [L] RewriteMap backend rnd:/home/httpd/bookmark/lib/backend.txt RewriteRule ^/(.*)$ [P] # backend.txt

32 More Servers Traffics grow larger and larger. We need more servers. Just buy and add new servers. It's very simple.

33 reverse proxy User's Request mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl Other Services mysql mysql mysql mysql (slave) mysql (master) mysql (slave) mysql (slave)

34 Problems No failover with reverse proxy bots bots bots Too many connections with Apache::DBI

35 Load Balancer Hardware Switch Software UltraMonkey (LVS) Apache 2.2 (mod_proxy_balancer)

36 mod_proxy_balancer Already contained in Apache Easy! failover Load Balancer Manager little change from RewriteMap stable (probably)

37 Reverse Proxy Setting <Proxy balancer://bookmark> BalancerMember loadfactor=10 BalancerMember loadfactor=10 BalancerMember loadfactor=10 </Proxy> RewriteRule ^/(.*)$ balancer://bookmark/$1 [P]

38 Bots Yahoo! Slurp / Googlebot / Bloglines 10-20% requests Now separated from user's request Fasterfox Spidering Tools

39 reverse proxy User's Request bot / RSS / API mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl mod_perl Other Services mysql mysql mysql mysql mysql (master) mysql

40 Fasterfox / Spidering Tools Fasterfox not a big problem (only for.html) robots.txt to prevent prefetching Spidering Tools "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98)" kicked them manually with IP addresses We failed building some automation tools

41 Apache::DBI Problem Too many connections 50 procs = 50 connections x 10 servers = 500 connections

42 No more using Apache::DBI use pnotes() of mod_perl API share Perl variables in a Request Store connection handler to pnotes() 1 connection per 1 request Configure MySQL Thread Cache thread_cache_size = 50

43 mod_perl 2.0

44 mod_perl 1.99 Beta version Incompatible with 2.0 CGI.pm does not support 1.99 anymore

45 Why 2.0? A Little faster than 1.0 Apache 2 worker I/O Filtering Clean way to capture the data

46 Migration ( ) to 2.0 "Apache::" to "Apache2::" "handler ($$)" to "handler : method" "use Apache" to "use Apache2::*" RequestRec / RequestIO / Const...

47 ModPerl::MethodLookup $ perl -Mmod_perl2 -MModPerl::MethodLookup -e print_method send_http_header 'send_http_header' is not a part of the mod_perl 2.0 API use 'content_type' instead. To use method 'content_type' add: use Apache2::RequestRec ();

48 Handler example package Sandbox::Hello; use strict; use warnings; use Apache2::ReqeustRec(); use Apache2::RequestIO(); use Apache2::Const -compile => 'OK'; sub handler : method { my ($class, $r) $r->content_type('text/plain'); $r->print('hello, World!'); return Apache2::Const::OK; } 1;

49 ModPerl::VersionUtil use ModPerl::VersionUtil; if (ModPerl::VersionUtil->is_mp2) { require Apache2 (); require Apache2::RequestRec(); require Apache2::RequestIO (); } elsif (ModPerl::VersionUtil->is_mp19) { require Apache2; require Apache::RequestRec(); require Apache::RequestIO (); } elsif (ModPerl::VersionUtil->is_mp1) { require Apache; }

50 Apache2::Request Almost compatible with Apache::Request $apr->param(foo => 'bar') does not work well.

51 Our changes Migrate 1.99 to 2.0 Change request module from CGI to Apache2::Request We wrote the Adapter Use static linked httpd instead of DSO Result: 25% faster

52 Software Updates

53 Software Updates Linux packages... yum CPAN modules... manually :( Our modules... switchtower

54 switchtower # deploy our application to the server $./switchtower deploy # update development enviroment with svn $./switchtower current_update # update production environment $./switchtower -e production current_update # restart production web servers $./switchtower -e production restart

55 Caching on Reverse Proxy

56 Linked by Yahoo! News Massive accesses! Chance to Monetize! But we don't have enough resouces Site goes down

57 mod_hatena_cache Threshold of request #s in some period On reverse proxy C API with memcached Apache2 Output Filter Watching user's cookie

58 Other Topics

59 Restart? I always think if it could be restarted. " " HTML::Template "Copy & Paste", Dirty codes Better framework Need Test

60 We have Lager System Hatena Diary 300M PV/month 100 over servers half of servers are MySQL partitioning / balancing / algorithms... (like mixi.)

61 Next Step Solve "Single Point of Failure" Reverse proxy Master DB Distributed File System? Intelligent Load Balancer like UltraMonkey? from IT company to High-Tech company

62 Thank you!

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

Help! I need more servers! What do I do? Help! I need more servers! What do I do? Scaling a PHP application 1 2-Feb-09 Introduction A real world example The wonderful world of startups Who am I? 2 2-Feb-09 Presentation Overview - Scalability

More information

Real World Web Scalability. Ask Bjørn Hansen Develooper LLC

Real World Web Scalability. Ask Bjørn Hansen Develooper LLC Real World Web Scalability Ask Bjørn Hansen Develooper LLC Hello. 28 brilliant methods to make your website keep working past $goal requests/transactions/sales per second/hour/day Requiring minimal extra

More information

Mod_Perl. And why I don t care about your scorn. By Julian Brown cpanel Thursday Sept 14th, 2017

Mod_Perl. And why I don t care about your scorn. By Julian Brown cpanel Thursday Sept 14th, 2017 Mod_Perl And why I don t care about your scorn. By Julian Brown Developer @ cpanel Thursday Sept 14th, 2017 When I say mod_perl, think mod_perl2 It s about Trade Offs I use and prefer to use Mod_Perl in

More information

<Insert Picture Here> MySQL Web Reference Architectures Building Massively Scalable Web Infrastructure

<Insert Picture Here> MySQL Web Reference Architectures Building Massively Scalable Web Infrastructure MySQL Web Reference Architectures Building Massively Scalable Web Infrastructure Mario Beck (mario.beck@oracle.com) Principal Sales Consultant MySQL Session Agenda Requirements for

More information

1 Apache2::SizeLimit - Because size does matter.

1 Apache2::SizeLimit - Because size does matter. Apache2::SizeLimit - Because size does matter 1 Apache2::SizeLimit - Because size does matter 1 Apache2::SizeLimit - Because size does matter 1 11 Synopsis 11 Synopsis This module allows you to kill off

More information

How to pimp high volume PHP websites. 27. September 2008, PHP conference Barcelona. By Jens Bierkandt

How to pimp high volume PHP websites. 27. September 2008, PHP conference Barcelona. By Jens Bierkandt How to pimp high volume PHP websites 27. September 2008, PHP conference Barcelona By Jens Bierkandt 1 About me Jens Bierkandt Working with PHP since 2000 From Germany, living in Spain, speaking English

More information

Accelerate Your Server. Delivering Web Content Faster with mod_perl 2

Accelerate Your Server. Delivering Web Content Faster with mod_perl 2 Accelerate Your Server Delivering Web Content Faster with mod_perl 2 1 Apache 2, mod_perl 2 Discussing Apache version 2 Apache 2 is the latest version of the Apache web server mod_perl 2 is the latest

More information

LAMP Tuning. Sean Walberg Network guy, server ninja

LAMP Tuning. Sean Walberg Network guy, server ninja LAMP Tuning Sean Walberg Network guy, server ninja LAMP Linux server Apache Web Server PHP/Perl application MySQL server Started off with 2 servers, 10 now 65m pageviews/month 20mbit/s of web traffic Guiding

More information

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

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

More information

Scaling DreamFactory

Scaling DreamFactory Scaling DreamFactory This white paper is designed to provide information to enterprise customers about how to scale a DreamFactory Instance. The sections below talk about horizontal, vertical, and cloud

More information

Site Performance, Optimization and Scalability Alan Dixon

Site Performance, Optimization and Scalability Alan Dixon Site Performance, Optimization and Scalability Alan Dixon http://blackflysolutions.ca/ Khalid Baheyeldin http://2bits.com DrupalCamp Toronto 2011 Agenda Introduction Symptoms and Tips Hardware and Software

More information

Scalability of web applications

Scalability of web applications Scalability of web applications CSCI 470: Web Science Keith Vertanen Copyright 2014 Scalability questions Overview What's important in order to build scalable web sites? High availability vs. load balancing

More information

The WebGUI Runtime Environment. Roy Johnson Plain Black Corporation

The WebGUI Runtime Environment. Roy Johnson Plain Black Corporation The WebGUI Runtime Environment Roy Johnson Plain Black Corporation What is the WRE? All the supporting software required to host WebGUI Apache 2 / Mod_Perl 2 MySQL 5 Supporting Perl Modules AWStats Utilities

More information

MySQL and Virtualization Guide

MySQL and Virtualization Guide MySQL and Virtualization Guide Abstract This is the MySQL and Virtualization extract from the MySQL Reference Manual. For legal information, see the Legal Notices. For help with using MySQL, please visit

More information

CLOUD COMPUTING It's about the data. Dr. Jim Baty Distinguished Engineer Chief Architect, VP / CTO Global Sales & Services, Sun Microsystems

CLOUD COMPUTING It's about the data. Dr. Jim Baty Distinguished Engineer Chief Architect, VP / CTO Global Sales & Services, Sun Microsystems > CLOUD COMPUTING It's about the data Dr. Jim Baty Distinguished Engineer Chief Architect, VP / CTO Global Sales & Services, Sun Microsystems Cloud Computing it's about nothing new it changes everything

More information

Fixing Twitter.... and Finding your own Fail Whale. John Adams Twitter Operations

Fixing Twitter.... and Finding your own Fail Whale. John Adams Twitter Operations Fixing Twitter... and Finding your own Fail Whale John Adams Twitter Operations Operations Small team, growing rapidly. What do we do? Software Performance (back-end) Availability Capacity

More information

MySQL Cluster An Introduction

MySQL Cluster An Introduction MySQL Cluster An Introduction Geert Vanderkelen O Reilly MySQL Conference & Expo 2010 Apr. 13 2010 In this presentation we'll introduce you to MySQL Cluster. We ll go through the MySQL server, the storage

More information

Jarvis Web Gateway. Installation Instructions. Jonathan Couper-Smartt

Jarvis Web Gateway. Installation Instructions. Jonathan Couper-Smartt Jarvis Web Gateway Installation Instructions Jonathan Couper-Smartt jarvis@nsquared.co.nz Abstract: The Jarvis Web Gateway is a lightweight web-service designed to give Rich Internet Applications a rapid,

More information

Getting started with MySQL Proxy

Getting started with MySQL Proxy Getting started with MySQL Proxy Giuseppe Maxia QA Developer - MySQL AB Sofia - OpenFest 2007 Agenda Overview Some fun Injecting queries Filtering and rewriting queries Working with results Proxy for logging

More information

Installation Manual InfraManage.NET Installation Instructions for Ubuntu

Installation Manual InfraManage.NET Installation Instructions for Ubuntu Installation Manual InfraManage.NET Installation Instructions for Ubuntu Copyright 1996 2017 Timothy Ste. Marie Version 7.5.72SQL InfraManage.NET Installing InfraManage.NET Page 1 of 78 Table of Contents

More information

Carrier grade VoIP systems with Kamailio

Carrier grade VoIP systems with Kamailio Carrier grade VoIP systems with Kamailio Welcome! Kamailio project 1&1 Internet AG Linuxtag 2009, 24.06.2009 Outline 1. 1&1 VoIP backend purpose and usage architecture 2. Kamailio SIP server 3. High-availability

More information

<Insert Picture Here> Introduction to MySQL

<Insert Picture Here> Introduction to MySQL Introduction to MySQL Giuseppe Maxia MySQL Community Team Lead at Oracle about me -Giuseppe Maxia a.k.a. The Data Charmer MySQL Community Team Lead Long time hacking with MySQL features

More information

Stacking LAMPs. Tom Ryder

Stacking LAMPs. Tom Ryder Stacking LAMPs Tom Ryder tom@sanctum.geek.nz https://sanctum.geek.nz/ What is the LAMP stack? A web service stack: Linux Apache HTTPD MySQL (or MariaDB) PHP Very mature In web years, anyway...the late

More information

Course Outline. MySQL Database Administration & Design. Course Description: Pre-requisites: Course Content:

Course Outline. MySQL Database Administration & Design. Course Description: Pre-requisites: Course Content: MySQL Database Administration & Design Course Description: MySQL is the open source community's most popular Relational Database Management System (RDBMS) offering, and is a key part of LAMP - Linux, Apache,

More information

MyRocks deployment at Facebook and Roadmaps. Yoshinori Matsunobu Production Engineer / MySQL Tech Lead, Facebook Feb/2018, #FOSDEM #mysqldevroom

MyRocks deployment at Facebook and Roadmaps. Yoshinori Matsunobu Production Engineer / MySQL Tech Lead, Facebook Feb/2018, #FOSDEM #mysqldevroom MyRocks deployment at Facebook and Roadmaps Yoshinori Matsunobu Production Engineer / MySQL Tech Lead, Facebook Feb/2018, #FOSDEM #mysqldevroom Agenda MySQL at Facebook MyRocks overview Production Deployment

More information

HA solution with PXC-5.7 with ProxySQL. Ramesh Sivaraman Krunal Bauskar

HA solution with PXC-5.7 with ProxySQL. Ramesh Sivaraman Krunal Bauskar HA solution with PXC-5.7 with ProxySQL Ramesh Sivaraman Krunal Bauskar Agenda What is Good HA eco-system? Understanding PXC-5.7 Understanding ProxySQL PXC + ProxySQL = Complete HA solution Monitoring using

More information

Building a Scalable Architecture for Web Apps - Part I (Lessons Directi)

Building a Scalable Architecture for Web Apps - Part I (Lessons Directi) Intelligent People. Uncommon Ideas. Building a Scalable Architecture for Web Apps - Part I (Lessons Learned @ Directi) By Bhavin Turakhia CEO, Directi (http://www.directi.com http://wiki.directi.com http://careers.directi.com)

More information

Bringing code to the data: from MySQL to RocksDB for high volume searches

Bringing code to the data: from MySQL to RocksDB for high volume searches Bringing code to the data: from MySQL to RocksDB for high volume searches Percona Live 2016 Santa Clara, CA Ivan Kruglov Senior Developer ivan.kruglov@booking.com Agenda Problem domain Evolution of search

More information

Splitting and Merging. Down and Dirty Made Easy

Splitting and Merging. Down and Dirty Made Easy Splitting and Merging Down and Dirty Made Easy Splitting WebGUI Sites E unus pluribum Splitting WebGUI Sites Two possible ways Duplicate and cut-down No need for messy rewrite rules Entirely separate site

More information

Manual Mysql Query Cache Hit Rate 0

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

More information

Large-Scale Web Applications

Large-Scale Web Applications Large-Scale Web Applications Mendel Rosenblum Web Application Architecture Web Browser Web Server / Application server Storage System HTTP Internet CS142 Lecture Notes - Intro LAN 2 Large-Scale: Scale-Out

More information

An overview of Drupal infrastructure and plans for future growth. prepared by Kieran Lal for the Drupal Association

An overview of Drupal infrastructure and plans for future growth. prepared by Kieran Lal for the Drupal Association An overview of Drupal infrastructure and plans for future growth prepared by Kieran Lal for the Drupal Association Recommendations More system administration resources, tuning 12GB Database RAM growth

More information

Case Study. Performance Optimization & OMS Brainvire Infotech Pvt. Ltd Page 1 of 1

Case Study. Performance Optimization & OMS Brainvire Infotech Pvt. Ltd Page 1 of 1 Case Study Performance Optimization & OMS www.brainvire.com 2015 Brainvire Infotech Pvt. Ltd Page 1 of 1 Client Requirement The requirement of the client has been divided into two modules: Site Performance

More information

CACHE ME IF YOU CAN! GETTING STARTED WITH AMAZON ELASTICACHE. AWS Charlotte Meetup / Charlotte Cloud Computing Meetup Bilal Soylu October 2013

CACHE ME IF YOU CAN! GETTING STARTED WITH AMAZON ELASTICACHE. AWS Charlotte Meetup / Charlotte Cloud Computing Meetup Bilal Soylu October 2013 1 CACHE ME IF YOU CAN! GETTING STARTED WITH AMAZON ELASTICACHE AWS Charlotte Meetup / Charlotte Cloud Computing Meetup Bilal Soylu October 2013 2 Agenda Hola! Housekeeping What is this use case What is

More information

TomcatCon London 2017 Clustering Mark Thomas

TomcatCon London 2017 Clustering Mark Thomas TomcatCon London 2017 Clustering Mark Thomas Agenda Reverse Proxies Load-balancing Clustering Reverse Proxies bz.apache.org httpd instance Reverse Proxy Bugzilla (main) bz.apache.org/bugzilla httpd instance

More information

Upgrading MySQL Best Practices. Apr 11-14, 2011 MySQL Conference and Expo Santa Clara,CA by Peter Zaitsev, Percona Inc

Upgrading MySQL Best Practices. Apr 11-14, 2011 MySQL Conference and Expo Santa Clara,CA by Peter Zaitsev, Percona Inc Upgrading MySQL Best Practices Apr 11-14, 2011 MySQL Conference and Expo Santa Clara,CA by Peter Zaitsev, Percona Inc MySQL Upgrade How many of you have performed MySQL upgrade? Home many of you have done

More information

Global Servers. The new masters

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

More information

Apache Web Server Administration for Linux

Apache Web Server Administration for Linux or tri N s di IO n tio AT uc od pr re U ed AL riz ho ut na EV U is i ib d tie PY oh pr O n C io t bu Apache Web Server Administration for Linux Apache Web Server Administration for Linux (AWS201 version

More information

COPYRIGHTED MATERIAL

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

More information

MySQL Performance Tuning 101

MySQL Performance Tuning 101 MySQL Performance Tuning 101 Ligaya Turmelle MySQL Support Engineer ligaya@mysql.com 1 1 MySQL world's most popular open source database software a key part of LAMP (Linux, Apache, MySQL, PHP / Perl /

More information

Operational Efficiency Hacks. John Allspaw Operations Engineering, Flickr

Operational Efficiency Hacks. John Allspaw Operations Engineering, Flickr Operational Efficiency Hacks John Allspaw Operations Engineering, Flickr who am I? Manage the Flickr Operations group Wrote a geeky book: Efficiencies Efficiencies Doing more with the robots you ve got

More information

MarkLogic Server. Monitoring MarkLogic Guide. MarkLogic 5 October, Copyright 2012 MarkLogic Corporation. All rights reserved.

MarkLogic Server. Monitoring MarkLogic Guide. MarkLogic 5 October, Copyright 2012 MarkLogic Corporation. All rights reserved. Monitoring MarkLogic Guide 1 MarkLogic 5 October, 2011 Last Revised: 5.0-3, March, 2012 Copyright 2012 MarkLogic Corporation. All rights reserved. 1.0 Monitoring MarkLogic Server...4 1.1 Overview...4 1.2

More information

Voldemort. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation

Voldemort. Smruti R. Sarangi. Department of Computer Science Indian Institute of Technology New Delhi, India. Overview Design Evaluation Voldemort Smruti R. Sarangi Department of Computer Science Indian Institute of Technology New Delhi, India Smruti R. Sarangi Leader Election 1/29 Outline 1 2 3 Smruti R. Sarangi Leader Election 2/29 Data

More information

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8

1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 1 Copyright 2011, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 ADVANCED MYSQL REPLICATION ARCHITECTURES Luís

More information

Running MySQL on AWS. Michael Coburn Wednesday, April 15th, 2015

Running MySQL on AWS. Michael Coburn Wednesday, April 15th, 2015 Running MySQL on AWS Michael Coburn Wednesday, April 15th, 2015 Who am I? 2 Senior Architect with Percona 3 years on Friday! Canadian but I now live in Costa Rica I see 3-10 different customer environments

More information

Stored procedures - what is it?

Stored procedures - what is it? For a long time to suffer with this issue. Literature on the Internet a lot. I had to ask around at different forums, deeper digging in the manual and explain to himself some weird moments. So, short of

More information

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering

Developing and Testing Java Microservices on Docker. Todd Fasullo Dir. Engineering Developing and Testing Java Microservices on Docker Todd Fasullo Dir. Engineering Agenda Who is Smartsheet + why we started using Docker Docker fundamentals Demo - creating a service Demo - building service

More information

What is Drupal? What is this Drew-Paul thing you do?

What is Drupal? What is this Drew-Paul thing you do? What is Drupal? Or What is this Drew-Paul thing you do? Drupal for the average person Drupal lets me build websites that help people build their own websites without needing to know anything about programming

More information

Scaling Solr in the Cloud

Scaling Solr in the Cloud Scaling Solr in the Cloud By @ablyler & @LindsaySnider FROM @NutshellCRM www.nutshell.com Agenda About the Speakers About Nutshell Nutshell and Solr Solr Resource Usage Scaling Methods Questions and Answers

More information

Acceleration of Virtual Machine Live Migration on QEMU/KVM by Reusing VM Memory

Acceleration of Virtual Machine Live Migration on QEMU/KVM by Reusing VM Memory Acceleration of Virtual Machine Live Migration on QEMU/KVM by Reusing VM Memory Soramichi Akiyama Department of Creative Informatics Graduate School of Information Science and Technology The University

More information

Lassoing the Clouds: Best Practices on AWS. Brian DeShong May 26, 2017

Lassoing the Clouds: Best Practices on AWS. Brian DeShong May 26, 2017 Lassoing the Clouds: Best Practices on AWS Brian DeShong May 26, 2017 Who am I? Who am I? Who am I? Who am I? Agenda Agenda Running web servers Agenda Running web servers Serving static content Agenda

More information

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

DATABASE SYSTEMS. Database programming in a web environment. Database System Course, 2016 DATABASE SYSTEMS Database programming in a web environment Database System Course, 2016 AGENDA FOR TODAY Advanced Mysql More than just SELECT Creating tables MySQL optimizations: Storage engines, indexing.

More information

MySQL HA Solutions. Keeping it simple, kinda! By: Chris Schneider MySQL Architect Ning.com

MySQL HA Solutions. Keeping it simple, kinda! By: Chris Schneider MySQL Architect Ning.com MySQL HA Solutions Keeping it simple, kinda! By: Chris Schneider MySQL Architect Ning.com What we ll cover today High Availability Terms and Concepts Levels of High Availability What technologies are there

More information

System Administration. NFS & Web Servers

System Administration. NFS & Web Servers System Administration NFS & Web Servers NFS SERVER File System Operations Create file / directory Remove file / directory List directory Open file Read from file Write to file NFS Network file system File

More information

ModSecurity 2 Deployment

ModSecurity 2 Deployment ModSecurity 2 Deployment Installation ModSecurity can be deployed in embedded mode, when it is added directly into web server. Or it can function as a network gateway, combined with Apache (use 2.2.2 or

More information

MySQL Performance Improvements

MySQL Performance Improvements Taking Advantage of MySQL Performance Improvements Baron Schwartz, Percona Inc. Introduction About Me (Baron Schwartz) Author of High Performance MySQL 2 nd Edition Creator of Maatkit, innotop, and so

More information

Lassoing the Clouds: Best Practices on AWS. Brian DeShong May 26, 2017

Lassoing the Clouds: Best Practices on AWS. Brian DeShong May 26, 2017 Lassoing the Clouds: Best Practices on AWS Brian DeShong May 26, 2017 Who am I? Agenda Running web servers Serving static content Security-related concerns Databases Logging Regions + Availability Zones

More information

Apache Web Server Administration for Windows

Apache Web Server Administration for Windows or tri N s di IO n tio AT uc od pr re U ed AL riz ho ut na EV U is i ib d tie PY oh pr O n C io t bu Apache Web Server Administration for Windows Apache Web Server Administration for Windows (AWS101 version

More information

Move Exchange 2010 Database To Another Drive Powershell

Move Exchange 2010 Database To Another Drive Powershell Move Exchange 2010 Database To Another Drive Powershell Tip. How to move default database in Exchange 2010 / 2013. How to delete or move them to another drive automatically? Clear IIS logs:powershell script.

More information

CHAPTER 1: A REFRESHER ON WEB BROWSERS 3

CHAPTER 1: A REFRESHER ON WEB BROWSERS 3 INTRODUCTION xxiii PART I: FRONT END CHAPTER 1: A REFRESHER ON WEB BROWSERS 3 A Brief History of Web Browsers 3 Netscape Loses Its Dominance 4 The Growth of Firefox 4 The Present 5 Inside HTTP 5 The HyperText

More information

Lassoing the Clouds: Best Practices on AWS. Brian DeShong May 26, 2017

Lassoing the Clouds: Best Practices on AWS. Brian DeShong May 26, 2017 Lassoing the Clouds: Best Practices on AWS Brian DeShong May 26, 2017 Worked primarily in web development PHP (17 years!!!), MySQL, Oracle, Linux, Apache Highly-trafficked, scalable web applications Frequent

More information

1 Apache2::RequestUtil - Perl API for Apache

1 Apache2::RequestUtil - Perl API for Apache Apache2::RequestUtil - Perl API for Apache request record utils 1 Apache2::RequestUtil - Perl API for Apache request record utils 1 Apache2::RequestUtil - Perl API for Apache request record utils 1 11

More information

All Your URI are Belong to Us

All Your URI are Belong to Us All Your URI are Belong to Us Geoffrey Young geoff@modperlcookbook.org http://www.modperlcookbook.org/~geoff/ 1 Apache Request Cycle Client Request Logging URI-based Init Content URI Translation Fixups

More information

Contact: Method Park Wetterkreuz 19a Erlangen Germany. Phone Fax Internet

Contact: Method Park Wetterkreuz 19a Erlangen Germany. Phone Fax Internet System Requirements Contact: Method Park Wetterkreuz 19a 91058 Erlangen Germany Phone +49-9131-97206-550 Fax +49-9131-97206-200 E-mail stages-support@methodpark.de Internet www.methodpark.de Version: 7.1

More information

A Brief Introduction of TiDB. Dongxu (Edward) Huang CTO, PingCAP

A Brief Introduction of TiDB. Dongxu (Edward) Huang CTO, PingCAP A Brief Introduction of TiDB Dongxu (Edward) Huang CTO, PingCAP About me Dongxu (Edward) Huang, Cofounder & CTO of PingCAP PingCAP, based in Beijing, China. Infrastructure software engineer, open source

More information

Configure Sensu and other Actions to Register Clients

Configure Sensu and other Actions to Register Clients Configure Sensu and other Actions to Register Clients Contents Introduction Prerequisites Requirements Components Used Background Information Configure Install Epel Repository Install Erlang Install Redis,

More information

Hands-On Perl Scripting and CGI Programming

Hands-On Perl Scripting and CGI Programming Hands-On Course Description This hands on Perl programming course provides a thorough introduction to the Perl programming language, teaching attendees how to develop and maintain portable scripts useful

More information

Contents. Deployment: Automated Installation of Cygwin

Contents. Deployment: Automated Installation of Cygwin .. Introduction to Open Source About this Book The Origins of Open Source The Three Cs Should an Administrator Care About Open Source? Understanding the Open Source Licenses What Hardware and Software

More information

Migrating to MySQL. Ted Wennmark, consultant and cluster specialist. Copyright 2014, Oracle and/or its its affiliates. All All rights reserved.

Migrating to MySQL. Ted Wennmark, consultant and cluster specialist. Copyright 2014, Oracle and/or its its affiliates. All All rights reserved. Migrating to MySQL Ted Wennmark, consultant and cluster specialist Copyright 2014, Oracle and/or its its affiliates. All All rights reserved. MySQL is Everywhere MULTIPLE PLATFORMS Multiple Languages MULTIPLE

More information

MySQL Reference Architectures for Massively Scalable Web Infrastructure

MySQL Reference Architectures for Massively Scalable Web Infrastructure MySQL Reference Architectures for Massively Scalable Web Infrastructure MySQL Best Practices for Innovating on the Web A MySQL Strategy White Paper December 2010 Table of Contents Executive Summary...

More information

The first command should show your short hostname, and the second should show your fully qualified domain name (FQDN).

The first command should show your short hostname, and the second should show your fully qualified domain name (FQDN). Set the Hostname Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for setting your hostname. Issue the following commands

More information

Internet2 Meeting September 2005

Internet2 Meeting September 2005 End User Agents: extending the "intelligence" to the edge in Distributed Systems Internet2 Meeting California Institute of Technology 1 OUTLINE (Monitoring Agents using a Large, Integrated s Architecture)

More information

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

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

More information

SQL (and MySQL) Useful things I have learnt, borrowed and stolen

SQL (and MySQL) Useful things I have learnt, borrowed and stolen SQL (and MySQL) Useful things I have learnt, borrowed and stolen MySQL truncates data MySQL truncates data CREATE TABLE pets ( id INT UNSIGNED NOT NULL AUTO_INCREMENT, type CHAR(3) NOT NULL, PRIMARY KEY

More information

Polarion 18.2 Enterprise Setup

Polarion 18.2 Enterprise Setup SIEMENS Polarion 18.2 Enterprise Setup POL005 18.2 Contents Overview........................................................... 1-1 Terminology..........................................................

More information

Mashery Local Troubleshooting Guide

Mashery Local Troubleshooting Guide Local Troubleshooting Guide General Guidelines for how to Gather Detailed Information on an issue Run Local Debug Utilities (see installation and configuration guide for configuration details) Turn on

More information

Mysql Server 4.1 Manually Windows 7 Start Service

Mysql Server 4.1 Manually Windows 7 Start Service Mysql Server 4.1 Manually Windows 7 Start Service If you are not running the MySQL server as a service, use mysqladmin to manually remove the previous installation and MySQL service (if the server If you

More information

Percona XtraDB Cluster ProxySQL. For your high availability and clustering needs

Percona XtraDB Cluster ProxySQL. For your high availability and clustering needs Percona XtraDB Cluster-5.7 + ProxySQL For your high availability and clustering needs Ramesh Sivaraman Krunal Bauskar Agenda What is Good HA eco-system? Understanding PXC-5.7 Understanding ProxySQL PXC

More information

Replication features of 2011

Replication features of 2011 FOSDEM 2012 Replication features of 2011 What they were How to get them How to use them Sergey Petrunya MariaDB MySQL Replication in 2011: overview Notable events, chronologically: MySQL 5.5 GA (Dec 2010)

More information

Google Tag Manager. Google Tag Manager Custom Module for Magento

Google Tag Manager. Google Tag Manager Custom Module for Magento Google Tag Manager Custom Module for Magento TABLE OF CONTENTS Table of Contents Table Of Contents...2 1. INTRODUCTION...3 2. Overview...3 3. Requirements...3 4. Features...4 4.1 Features accessible from

More information

Lessons from database failures

Lessons from database failures Lessons from database failures Colin Charles, Chief Evangelist, Percona Inc. colin.charles@percona.com / byte@bytebot.net http://www.bytebot.net/blog/ @bytebot on Twitter Percona Webminar 18 January 2017

More information

mod_perl 2.0 Documentation

mod_perl 2.0 Documentation mod_perl 20 Documentation Table of Contents: mod_perl 20 Documentation A collection of the documents specific to the mod_perl 20 generation Last modified Sun Feb 16 01:36:39 2014 GMT 1 Table of Contents:

More information

FUJITSU Cloud Service S5 Installation and Configuration of MySQL on a CentOS VM

FUJITSU Cloud Service S5 Installation and Configuration of MySQL on a CentOS VM FUJITSU Cloud Service S5 Installation and Configuration of MySQL on a CentOS VM This guide details the steps required to install and configure MySQL on a CentOS VM Introduction The FUJITSU Cloud Service

More information

Designing, Scoping, and Configuring Scalable LAMP Infrastructure

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

More information

State of the Linux Kernel

State of the Linux Kernel State of the Linux Kernel Timothy D. Witham Chief Technology Officer Open Source Development Labs, Inc. 1 Agenda Process Performance/Scalability Responsiveness Usability Improvements Device support Multimedia

More information

No Schema Type For Mysql Type Date Drupal

No Schema Type For Mysql Type Date Drupal No Schema Type For Mysql Type Date Drupal I made a custom entity with a date field stored as datetime in mysql. It is important that your data is represented, as documented for your data type, e.g. a date

More information

Goal of the presentation is to give an introduction of NoSQL databases, why they are there.

Goal of the presentation is to give an introduction of NoSQL databases, why they are there. 1 Goal of the presentation is to give an introduction of NoSQL databases, why they are there. We want to present "Why?" first to explain the need of something like "NoSQL" and then in "What?" we go in

More information

How To Resize ext3 Partitions Without Losing Data

How To Resize ext3 Partitions Without Losing Data By Falko Timme Published: 2007-01-07 17:12 How To Resize ext3 Partitions Without Losing Data Version 1.0 Author: Falko Timme Last edited 12/31/2006 This article is about

More information

EASYLAMP REDHAT V1.0 DOCUMENT OWNER: OUDHUIS, JONATHAN INGRAM MICRO CLOUD EUROPE

EASYLAMP REDHAT V1.0 DOCUMENT OWNER: OUDHUIS, JONATHAN INGRAM MICRO CLOUD EUROPE EASYLAMP REDHAT V1.0 DOCUMENT OWNER: OUDHUIS, JONATHAN INGRAM MICRO CLOUD EUROPE CONTENTS 1 Introduction... 2 2 Creating and configuring a virtual machine... 3 3 Installing Apache... 10 4 Installing MariaDB...

More information

Web Architecture and Technologies

Web Architecture and Technologies Web Architecture and Technologies Ambient intelligence Fulvio Corno Politecnico di Torino, 2015/2016 Goal Understanding Web technologies Adopted for User Interfaces Adopted for Distributed Application

More information

The Care and Feeding of a MySQL Database for Linux Adminstrators. Dave Stokes MySQL Community Manager

The Care and Feeding of a MySQL Database for Linux Adminstrators. Dave Stokes MySQL Community Manager The Care and Feeding of a MySQL Database for Linux Adminstrators Dave Stokes MySQL Community Manager David.Stokes@Oracle.com Simple Introduction This is a general introduction to running a MySQL database

More information

Scaling for Humongous amounts of data with MongoDB

Scaling for Humongous amounts of data with MongoDB Scaling for Humongous amounts of data with MongoDB Alvin Richards Technical Director, EMEA alvin@10gen.com @jonnyeight alvinonmongodb.com From here... http://bit.ly/ot71m4 ...to here... http://bit.ly/oxcsis

More information

Introduction to Database Services

Introduction to Database Services Introduction to Database Services Shaun Pearce AWS Solutions Architect 2015, Amazon Web Services, Inc. or its affiliates. All rights reserved Today s agenda Why managed database services? A non-relational

More information

Distributed Architectures & Microservices. CS 475, Spring 2018 Concurrent & Distributed Systems

Distributed Architectures & Microservices. CS 475, Spring 2018 Concurrent & Distributed Systems Distributed Architectures & Microservices CS 475, Spring 2018 Concurrent & Distributed Systems GFS Architecture GFS Summary Limitations: Master is a huge bottleneck Recovery of master is slow Lots of success

More information

Kubernetes Integration with Virtuozzo Storage

Kubernetes Integration with Virtuozzo Storage Kubernetes Integration with Virtuozzo Storage A Technical OCTOBER, 2017 2017 Virtuozzo. All rights reserved. 1 Application Container Storage Application containers appear to be the perfect tool for supporting

More information

Writing Tests with Apache-Test Part II

Writing Tests with Apache-Test Part II Writing Tests with Apache-Test Part II Geoffrey Young geoff@modperlcookbook.org http://www.modperlcookbook.org/~geoff/ 1 Last Session... I introduced Apache-Test mechanics Everyone was impressed There's

More information

Architecture of a Real-Time Operational DBMS

Architecture of a Real-Time Operational DBMS Architecture of a Real-Time Operational DBMS Srini V. Srinivasan Founder, Chief Development Officer Aerospike CMG India Keynote Thane December 3, 2016 [ CMGI Keynote, Thane, India. 2016 Aerospike Inc.

More information

Mastering phpmyadmiri 3.4 for

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

More information

Real Life Web Development. Joseph Paul Cohen

Real Life Web Development. Joseph Paul Cohen Real Life Web Development Joseph Paul Cohen joecohen@cs.umb.edu Index 201 - The code 404 - How to run it? 500 - Your code is broken? 200 - Someone broke into your server? 400 - How are people using your

More information

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

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

More information