Home |  MySQL Buzz |  FAQ |  Feeds |  Submit your blog feed |  Feedback |  Archive |  Aggregate feed RSS 2.0 English Deutsch Español Français Italiano 日本語 Русский Português 中文
Showing entries 1 to 30 of 64 Next 30 Older Entries

Displaying posts with tag: scaling (reset)

How to Scale Joomla on Multiple Servers
+0 Vote Up -0Vote Down
July 2, 2013 By Severalnines

Joomla! is estimated to be the second most used CMS on the internet after WordPress, with users like eBay, IKEA, Sony, McDonald’s and Pizza Hut. In this post, we will describe how to scale Joomla on multiple servers. This architecture not only allows the CMS to handle more users, by load-balancing traffic across multiple servers. It also brings high availability by providing fail-over between servers.

 

This post is similar to our previous posts on web application scalability and high availability:

  [Read more...]
Scaling Wordpress and MySQL on Multiple Servers for Performance
+0 Vote Up -0Vote Down
June 11, 2013 By Severalnines

Over the years, WordPress has evolved from a simple blogging platform to a CMS. Over seven million sites use it today, including the likes of CNN, Forbes, The New York Times and eBay. So, how do you scale Wordpress on multiple servers for high performance? 

 

This post is similar to our previous post on Drupal, Scaling Drupal on Multiple Servers with Galera Cluster for MySQL but we will focus on Wordpress, Percona XtraDB Cluster and GlusterFS using Debian Squeeze 64bit.

read more

MySQL Web Reference Architectures: On Demand
Employee_Team +2 Vote Up -0Vote Down

Last week we ran a live webinar presenting the new MySQL Web Reference Architectures (http://www.mysql.com/why-mysql/white-papers/mysql-reference-architectures-for-scalable-web-infrastructure/), a set of documented and repeatable best practices for building highly available, scaleable and secure database infrastructure to power new generations of web and mobile services.

The webinar replay is now available on-demand (http://www.mysql.com/news-and-events/web-seminars/mysql-reference-architectures-best-practices-for-web-mobile-cloud-applications/) so you can listen in from the comfort of your own desk…or commute.

As a taster - we discuss sizing and design patterns - you can see a sample below:



  [Read more...]
MySQL 5.6 Replication: New Resources for Database Scaling and HA
Employee_Team +8 Vote Up -0Vote Down
MySQL 5.6 reached GA (General Availability) today and is packed with a wealth of new features and capabilities.  Exciting stuff!
MySQL 5.6 also introduces the largest set of enhancements to replication ever delivered in a single release, including: - 5x higher performance to improve consistency across a cluster and reduce the risks of data loss in the event of a master failing - Self-healing clusters with automatic failover and recovery from outages or planned maintenance - Assured data integrity with checksums implemented across the replication workflow - DevOps automation
Of course, getting started with all of these enhancements can be a challenge - whether you are new to MySQL replication or an experienced user. So two new Guides are available to help take advantage of

  [Read more...]
Webinar on PHP and MySQL Replication
+2 Vote Up -0Vote Down
Using MySQL replication gives you an opportunity to scale out read queries. However, MySQL replication is asynchronous; the slave may fall behind. This Wednesday, January 23 2013, I'll be presenting a free webinar about using MySQL replication on busy PHP web sites.  Register here:  http://www.percona.com/webinars/readwrite-splitting-mysql-and-php Applications have variable tolerance
Deep Dive into GTIDs and MySQL 5.6 - What, Why and How
Employee_Team +6 Vote Up -0Vote Down

Global Transaction Identifiers (GTIDs) are one of the key replication enhancements in MySQL 5.6. GTIDs make it simple to track and compare replication across a master - slave topology. This enables:

- Much simpler recovery from failures of the master,

- Introduces great flexibility in the provisioning and on-going management of multi-tier or ring (circular) replication topologies.

A new on-demand MySQL 5.6 GTID webinar (http://www.mysql.com/news-and-events/web-seminars/mysql-replication-simplifying-scaling-and-ha-with-gtids/) delivered by the replication engineering team is now available, providing deep insight into the design and implementation of GTIDs, and how they enable users to simplify MySQL scaling and HA. The webinar covers:

- Concepts: What is

  [Read more...]
Serving Clients Rather than Falling Over
+1 Vote Up -0Vote Down

Dawnstar Australis (yes, nickname – but I know him personally – he speaks with knowledge and authority) updates on The Real Victims Of The Click Frenzy Fail: The Australian Consumer after his earlier post from a few months ago.

Colourful language aside, I believe he rightfully points out the failings of the organising company and the big Australian retailers. From the Open Query perspective we can just review the situation where sites fall over under load. Contrary to what they say, that’s not a cool indication of popularity. Let’s compare with the real world:

  • Brick & Mortar store does something that turns out popular and we see a huge queue outside, people need to wait for
  •   [Read more...]
    MySQL Cluster to InnoDB Replication Howto
    +6 Vote Up -0Vote Down

    In this blog post I will show you how to setup a replication from MySQL Cluster  (ndbcluster) to a regular MySQL Server (InnoDB). If you want to understand the concepts, check out part 7 of our free MySQL Cluster training.

    First of all we start with a MySQL Cluster looking like this, and what we want to do is to setup replication server to the Reporting Server (InnoDB slave).



    0 0 1 125 713 Severalnines AB 5 1 837 14.0 Normal 0 false false false EN-US JA X-NONE






      [Read more...]
    Scaling 101 - We are Failing the Next Generation
    +1 Vote Up -0Vote Down
    The other day Twitter was down and I had no place to comment on Twitter being down. This got us to talking about scaling at work. I was reminded of the recent slides posted from Instagram about their scaling journey. They are great slides. There is only one problem I have with them. They are just the same slides that you would find from 2000 about scaling.

    I have to say, I like Instagram. My daughter has something like 1,000 followers on Instagram. And good for them for being bought by Facebook for a bajillion dollars. This is not a dig on them really. This is a dig on our industry. Why did Instagram have to learn the hard way how to scale their app? I want to point out some of their issues and discuss why its silly they had to learn this the hard way.

    Single machine



      [Read more...]
    Jetpants: a toolkit for huge MySQL topologies
    +2 Vote Up -0Vote Down

    From a Tumblr engineering blog post:

    Tumblr is one of the largest users of MySQL on the web. At present, our data set consists of over 60 billion relational rows, adding up to 21 terabytes of unique relational data. Managing over 200 dedicated database servers can be a bit of a handful, so naturally we engineered some creative solutions to help automate our common processes.

    Today, we’re happy to announce the open source release of Jetpants, Tumblr’s in-house toolchain for managing huge MySQL database topologies. Jetpants offers a command suite for easily cloning replicas,

      [Read more...]
    MySQL Cluster on Raspberry Pi
    +5 Vote Up -1Vote Down

    Earlier this week, Andrew Morgan wrote a piece on running MySQL Cluster on Raspberry Pi. Since the term “Cluster” is hideously overloaded, I’ll note that we’re talking about the NDB cluster storage engine here, a very specific architecture originally acquired by MySQL AB from Ericsson (telco).

    Raspberry Pi is a new single-board computer based on the ARM processor series (same stuff that powers most mobile phones these days), and it can run Linux without any fuss. Interfaces include Ethernet, USB, and HDMI video, and the cost is $25-50. I’m looking

      [Read more...]
    MySQL Scaling breakfast seminar – London, April 25th
    Employee +2 Vote Up -0Vote Down

    I’ll be presenting on/demoing MySQL Cluster 7.2 at this free breakfast seminar in Oracle’s London office on 25th April – starting with coffee at 9:00 and ending with lunch at 13:00 (quite a generous take on

      [Read more...]
    Synchronously Replicating Databases Across Data Centers – Are you Insane?
    Employee_Team +0 Vote Up -0Vote Down
     

    Well actually….no. The second Development Milestone Release of MySQL Cluster 7.2 introduces support for what we call “Multi-Site Clustering”. In this post, I’ll provide an overview of this new capability, and considerations you need to make when considering it as a deployment option to scale geographically dispersed database services.

    You can read more about MySQL Cluster 7.2.1 in the article posted on the MySQL Developer Zone

    MySQL Cluster has long offered Geographic Replication, distributing clusters to remote data centers to reduce the affects of geographic latency by pushing data closer to the user, as well as providing a capability for

      [Read more...]
    Synchronously Replicating Databases Across Data Centers – Are you Insane?
    Employee_Team +4 Vote Up -0Vote Down
     

    Well actually….no. The second Development Milestone Release of MySQL Cluster 7.2 introduces support for what we call “Multi-Site Clustering”. In this post, I’ll provide an overview of this new capability, and considerations you need to make when considering it as a deployment option to scale geographically dispersed database services.

    You can read more about MySQL Cluster 7.2.1 in the article posted on the MySQL Developer Zone

    MySQL Cluster has long offered Geographic Replication, distributing clusters to remote data centers to reduce the affects of geographic latency by pushing data closer to the user, as well as providing a capability for disaster

      [Read more...]
    Scaling Web Databases, Part 3: SQL & NoSQL Data Access
    Employee_Team +3 Vote Up -0Vote Down
    0 0 1 281 1602 Homework 13 3 1880 14.0 Normal 0 false false false EN-US JA X-NONE

    Supporting successful services on the web means scaling your back-end databases across multiple dimensions. This blog focuses on scaling access methods to your data using SQL and/or NoSQL interfaces.

      [Read more...]
    Scaling Web Databases, Part 2: Adding Nodes, Evolving Schema with Zero Downtime
    Employee_Team +3 Vote Up -0Vote Down

    In my previous post, I discussed scaling web database performance in MySQL Cluster using auto-sharding and active/active geographic replication - enabling users to scale both within and across data centers.  

    I also mentioned that while scaling write-performance of any web service is critical, it is only 1 of multiple dimensions to scalability, which include:

    - The need to scale operational agility to keep pace with demand. This means being able to add capacity and performance to the database, and to evolve the schema – all without downtime;

    - The need to scale queries by having flexibility in the APIs used to access the database – including SQL and NoSQL interfaces;

    - The need to scale the database while maintaining continuous availability.

      [Read more...]
    I wrote a new tool that runs aggregation queries over MySQL sharded databases using Gearman.
    +2 Vote Up -1Vote Down
    I created a new tool this week:
    http://code.google.com/p/shard-query

    As the name Shard-Query suggests, the goal of the tool is to run a query over multiple shards, and to return the combined results together as a unified query. It uses Gearman to ask each server for a set of rows and then runs the query over the combined set. This isn't a new idea, however, Shard-Query is different than other Gearman examples I've seen, because it supports aggregation.

    It does this by doing some basic query rewriting based on the input query.

    Take this query for example:
    select c2, 
           sum(s0.c1), 
           max(c1) 
     from t1 as s0 
     join t1 using (c1,c2) 
     where c2 = 98818 
     group by c2;
    


    The tool will split this up into two queries.

    This first query will be sent to each shard. Notice











      [Read more...]
    Log Buffer #182, a Carnival of the Vanities for DBAs
    +3 Vote Up -0Vote Down

    This is the 182nd edition of Log Buffer, the weekly review of database blogs. Make sure to read the whole edition so you do not miss where to submit your SQL limerick!

    This week started out with me posting about International Women’s Day, and has me personally attending Confoo (Montreal) which is an excellent conference I hope to return to next year. I learned a lot from confoo, especially the blending nosql and sql session I attended.

    This week was also the Hotsos Symposium. Doug’s

      [Read more...]
    Liveblogging at Confoo: Blending NoSQL and SQL
    +3 Vote Up -0Vote Down

    Persistence Smoothie: Blending NoSQL and SQL – see user feedback and comments at http://joind.in/talk/view/1332.

    Michael Bleigh from Intridea, high-end Ruby and Ruby on Rails consultants, build apps from start to finish, making it scalable. He’s written a lot of stuff, available at http://github.com/intridea. @mbleigh on twitter

    NoSQL is a new way to think about persistence. Most NoSQL systems are not ACID compliant (Atomicity, Consistency, Isolation, Durability).

    Generally, most NoSQL systems have:

    • Denormalization
    • Eventual Consistency
    • Schema-Free
    • Horizontal Scale

    NoSQL tries to scale (more) simply, it is starting to go







      [Read more...]
    Scaling - going from 2 to X data nodes
    +2 Vote Up -0Vote Down
    When moving from two data nodes to a bigger Cluster it is not necessarily true that you will have better performance. In fact you can get worse.

    Here are some things to think about:
    • Database Load (traffic to Cluster) - if you can handle query load X on a two node cluster and move the same load X to a four data node cluster you will likely get new_load_X=0.8X, i.e., a performance degradation. This has to do with 1) buffers are not filled up fast enough so the data nodes will do "timeout" based sending or 2) that the access patterns aren't scaling. To correct 1) you need to increase the load on the cluster so that internal communication buffers fill up faster.
    Access pattern related "problems":

    • For primary key operations (reads, updates, deletes) you will always go to the correct node to fetch the data with PK






      [Read more...]
    Spider and vertical partition engines with new goodies
    +4 Vote Up -0Vote Down



    The Spider storage engine should be already known to the community. Its version 2.5 has recently been released, with new features, the most important of which is that you can execute remote SQL statements in the backend servers. The method is quite simple. Together with Spider, you also get an UDF that executes SQL code in a remote server. You send a query with parameters saying how to connect to the server, and check the result (1 for success, 0 for failure). If the SQL involves a SELECT, the result can be sent to a temporary table. Simple and effective.

    In addition to the Spider engine, Kentoku




      [Read more...]
    OSCON Tutorial - Scaling a web application (mostly PHP/MySQL)
    Employee +1 Vote Up -0Vote Down
    A quick blog post from the OSCON floor where I just finished a 3.5 hour tutorial on "Scaling a Web Application (mostly PHP/MySQL)". To be honest I submitted this talk as a 45 min talk and clicked the wrong button and ended up being handed a tutorial which I think turned out to be a good thing. After all, we could spend days and years talking about scaling.

    One of my goals in this presentation wasn't just to talk about tips and examples, but also talk about the general business of scaling and creating scaling plans, scenario planning or capacity planning. This I believe is almost always more important than coming up with the small tips that fix a site when you have a problem!

    Thanks to Ronald Bradford for showing up for the last hour of the presentation and helping out, it's good to have help and from a knowledgeable



      [Read more...]
    Ladies and gentlemen, check your assumptions
    +1 Vote Up -0Vote Down

    I spent some time earlier this week trying to debug a permissions problem in Drupal.

    After a lot of head-scratching, it turned out that Drupal assumes that when you run INSERT queries sequentially on a table with an auto_increment integer column, the values that are assigned to this column will also be sequential, ie: 1, 2, 3, …

    This might be a valid assumption when you are the only user doing inserts on a single MySQL server, but unfortunately that is not always the situation in which an application runs.

    I run MySQL in a dual-master setup, which means that two sequential INSERT statements will never return sequential integers.  The value will always be determined by the  auto_increment_increment and auto_increment_offset settings in the configuration file.

    In my case, one master will only assign even numbers, the other only uneven ones.

    My

      [Read more...]
    libmemcached packages
    +0 Vote Up -0Vote Down

    Ronald Bradford last week posted about memcached not being multi-threaded on Ubuntu, something he discovered via some small utilities that are bundled with libmemcached, written by Brian Aker.

    When I noticed there were no Ubuntu packages for libmemcached (or the CLI tools) I decided to create some.

    For your enjoyment: http://ubuntu.cafuego.net/dists/jaunty-cafuego/memcached/ (Source debs are included)

    The repository also contains a memcached that has been re-compiled with multithreading enabled.

    MySQL 5.4 Scaling on Nehalem with Sysbench
    Employee +1 Vote Up -0Vote Down
    As a final followup to my MySQL 5.4 Scalability on 64-way CMT Servers blog, I'm posting MySQL 5.4 Sysbench results on a Sun Fire X4270 platform using the Intel x86 Nehalem chip (2 sockets/8 cores/16 threads). All CPUs were turned on during the runs. The my.cnf was the same as described in the previous blog.

    The Sysbench version used was 0.4.12, and the read-only runs were invoked with the following command:

    sysbench --max-time=300 --max-requests=0 --test=oltp --oltp-dist-type=special --oltp-table-size=10000000 \
       --oltp-read-only=on --num-threads=[NO_THREADS] run
    

    The "oltp-read-only=on" parameter was omitted for the read-write tests. The my.cnf file listed in my previous blog was also used unchanged for these tests.

    Here are the results graphically running on Linux.

      [Read more...]
    MySQL 5.4 Sysbench Scalability on 64-way CMT Servers
    Employee +1 Vote Up -0Vote Down
    As a followup to my MySQL 5.4 Scalability on 64-way CMT Servers blog, I'm posting MySQL 5.4 Sysbench results on the same platform. The tests were carried out using the same basic approach (i.e. turning off entire cores at a time) - see my previous blog for more details.

    The Sysbench version used was 0.4.8, and the read-only runs were invoked with the following command:

    sysbench --max-time=300 --max-requests=0 --test=oltp --oltp-dist-type=special --oltp-table-size=10000000 \
       --oltp-read-only=on --num-threads=[NO_THREADS] run
    
    The "oltp-read-only=on" parameter was omitted for the read-write tests. The my.cnf file listed in my previous blog was also used unchanged for these tests.

    Here is the data presented graphically. Note that the number of vCPUs is the same as the number of active

      [Read more...]
    MySQL 5.4 Scalability on 64-way CMT Servers
    Employee +1 Vote Up -0Vote Down
    Today Sun Microsystems announced MySQL 5.4, a release that focuses on performance and scalability. For a long time it's been possible to escape the confines of a single system with MySQL, thanks to scale-out technologies like replication and sharding. But it ought to be possible to scale-up efficiently as well - to fully utilize the CPU resource on a server with a single instance.

    MySQL 5.4 takes a stride in that direction. It features a number of performance and scalability fixes, including the justifiably-famous Google SMP patch along with a range of other fixes. And there's plenty more to come in future releases. For specifics about the MySQL 5.4 fixes, check out Mikael Ronstrom's blog.

    So how well does MySQL 5.4 scale? To help answer the question I'm going to take a look at some performance data from one of Sun's CMT

      [Read more...]
    MySQL 5.4 Scaling on Nehalem with Sysbench
    Employee +0 Vote Up -0Vote Down
    As a final followup to my MySQL 5.4 Scalability on 64-way CMT Servers blog, I'm posting MySQL 5.4 Sysbench results on a Sun Fire X4270 platform using the Intel x86 Nehalem chip (2 sockets/8 cores/16 threads). All CPUs were turned on during the runs. The my.cnf was the same as described in the previous blog.

    The Sysbench version used was 0.4.12, and the read-only runs were invoked with the following command:

    sysbench --max-time=300 --max-requests=0 --test=oltp --oltp-dist-type=special --oltp-table-size=10000000 \\
       --oltp-read-only=on --num-threads=[NO_THREADS] run
    

    The "oltp-read-only=on" parameter was omitted for the read-write tests. The my.cnf file listed in my previous blog was also used unchanged for these tests.

    Here are the results graphically running on Linux.

      [Read more...]
    MySQL 5.4 Scaling on Nehalem with Sysbench
    Employee +0 Vote Up -0Vote Down
    As a final followup to my MySQL 5.4 Scalability on 64-way CMT Servers blog, I'm posting MySQL 5.4 Sysbench results on a Sun Fire X4270 platform using the Intel x86 Nehalem chip (2 sockets/8 cores/16 threads). All CPUs were turned on during the runs. The my.cnf was the same as described in the previous blog.

    The Sysbench version used was 0.4.12, and the read-only runs were invoked with the following command:

    sysbench --max-time=300 --max-requests=0 --test=oltp --oltp-dist-type=special --oltp-table-size=10000000 \\
       --oltp-read-only=on --num-threads=[NO_THREADS] run
    

    The "oltp-read-only=on" parameter was omitted for the read-write tests. The my.cnf file listed in my previous blog was also used unchanged for these tests.

    Here are the results graphically running on Linux.

      [Read more...]
    MySQL 5.4 Sysbench Scalability on 64-way CMT Servers
    Employee +0 Vote Up -0Vote Down
    As a followup to my MySQL 5.4 Scalability on 64-way CMT Servers blog, I'm posting MySQL 5.4 Sysbench results on the same platform. The tests were carried out using the same basic approach (i.e. turning off entire cores at a time) - see my previous blog for more details.

    The Sysbench version used was 0.4.8, and the read-only runs were invoked with the following command:

    sysbench --max-time=300 --max-requests=0 --test=oltp --oltp-dist-type=special --oltp-table-size=10000000 \\
       --oltp-read-only=on --num-threads=[NO_THREADS] run
    
    The "oltp-read-only=on" parameter was omitted for the read-write tests. The my.cnf file listed in my previous blog was also used unchanged for these tests.

    Here is the data presented graphically. Note that the number of vCPUs is the same as the number of

      [Read more...]
    Showing entries 1 to 30 of 64 Next 30 Older Entries

    Planet MySQL © 1995, 2014, Oracle Corporation and/or its affiliates   Legal Policies | Your Privacy Rights | Terms of Use

    Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.