Showing entries 10173 to 10182 of 43993
« 10 Newer Entries | 10 Older Entries »
Making HAProxy 1.5 replication lag aware in MySQL

HAProxy is frequently used as a software load balancer in the MySQL world. Peter Boros, in a past post, explained how to set it up with Percona XtraDB Cluster (PXC) so that it only sends queries to available nodes. The same approach can be used in a regular master-slaves setup to spread the read load across multiple slaves. However with MySQL replication, another factor comes into play: replication lag. In this case the approach mentioned for Percona XtraDB Cluster does not work that well as the check we presented only returns ‘up’ or ‘down’. We would like to be able to tune the weight of a replica inside HAProxy depending on its replication lag. This is what we will do in this post using HAProxy 1.5.

Agent …

[Read more]
Chegg

Pythian revamped Chegg’s MySQL architecture and processes and has provided 24×7 operations and incident management support and continual architectural guidance for Chegg’s MySQL, MongoDB,and Cassandra environments for the past five years—prior to, during, and after their IPO. Pythian also spearheaded an implementation on Amazon Web Services’ cloud for the elasticity needed by an educational application’s cyclical peaks. Chegg’s partnership with Amazon and Pythian has allowed for rapid growth and constant evolution without sacrificing performance. Many years later, Chegg still has no in-house DBAs, and relies on Pythian’s expertise for all their data management needs.

Chegg Case Study

Drop Table slow


A few days back we were given a MySQL database hosted in EC2 with around 5TB data to move some of the tables to a new server.  The intention was to share the tables between 2 EC2 instances. Since AWS had the option to take online snapshots, the plan was to take a snapshot, create a new machine with that snapshot and drop the unwanted tables.So everything went as planned until creating a new machine with the snapshot.  The real challenge was dropping the unwanted tables.  It took around 4 minutes to Drop a table whose size is 20GB.  It took 20 minutes to drop a 100GB table. The time kept on increasing for larger tables. MySQL even went to “defunct” when we killed the drop query and at times crashed. To track down this issue we executed drop table in one session and checked the processlist from another session that gave the below output.
mysql> show processlist \G

*************************** 1. row …

[Read more]
Monitor MySQL Performance Interactively With VividCortex

If you’re monitoring MySQL performance on dozens or hundreds of servers, chances are you have a “rainbow chart” – a time-series chart with hundreds of tiny area graphs stacked on top of each other, crawling imperceptibly one pixel at a time across the big-screen monitor in your office. The trouble with these charts is they’re hard to see. It takes many minutes for enough new pixels to display after a change. In the meantime you can’t see the change clearly.

At VividCortex, we think we’ve found a better way to keep tabs on what’s going on in your infrastructure: a bubble visualization. It is compact, and immediately communicates current status and trend, with visualizations that your eye interprets in a glance.

This is the Activity layout on the Hosts dashboard. It’s designed to scale to hundreds, even thousands of hosts. Tabular layouts and strip-charts won’t do the trick, but live, interactive bubbles will. …

[Read more]
Scaling TokuDB Performance with Binlog Group Commit

TokuDB offers high throughput for write intensive applications, and the throughput scales with the number of concurrent clients.  However, when the binary log is turned on, TokuDB 7.5.2 throughput suffers.  The throughput scaling problem is caused by a poor interaction between the binary log group commit algorithm in MySQL 5.6 and the way TokuDB commits transactions.   TokuDB 7.5.4 for Percona Server 5.6 fixes this problem, and the result is roughly an order of magnitude increase in SysBench throughput for in memory workloads.

MySQL uses two phase commit protocol to synchronize the MySQL binary log with the recovery logs of the storage engines when a transaction commits.  Since fsync’s are used to ensure the durability of the data in the various logs, and fsync’s can be very slow, the fsync can easily become a bottleneck.  A …

[Read more]
InnoDB’s multi-versioning handling can be Achilles’ heel

I believe InnoDB storage engine architecture is great for a lot of online workloads, however, there are no silver bullets in technology and all design choices have their trade offs. In this blog post I’m going to talk about one important InnoDB limitation that you should consider.

InnoDB is a multiversion concurrency control (MVCC) storage engine which means many versions of the single row can exist at the same time. In fact there can be a huge amount of such row versions. Depending on the isolation mode you have chosen, InnoDB might have to keep all row versions going back to the earliest active read view, but at the very least it will have to keep all versions going back to the start of SELECT query which is currently running.

In most cases this is not a big deal – if you have many short transactions happening you will have only a few row versions to deal with. If you just use the system for reporting queries but do not …

[Read more]
Memory summary tables in Performance Schema in MySQL 5.7

One of great innovation in MySQL 5.7 is memory summary tables в Performance Schema and corresponding views in sys schema

And as troubleshooting freak I have huge reason to greet this feature.

Before version 5.7 we had very limited abilities to diagnose memory issues in MySQL. We could use operating system tools, such as vmstat, top, free, but they only showed what MySQL server uses memory, but do not show how. In version 5.7 things changed.

Lets examine what can we study about memory usage by MySQL Server.

At first, this is total amount of memory, used by all internal MySQL structures:

mysql> select * from …

[Read more]
How to install osCommerce on Ubuntu 14.04 (Trusty Tahr)

How to install osCommerce on Ubuntu 14.04 (Trusty Tahr)

This document describes how to install osCommerce in Ubuntu 14.04. Open Source Commerce (osCommerce) is a popular e-Commerce and online store-management software program that may be easily used on any web server with PHP and MySQL installed. osCommerce is available to users as a free software under the General Public License (GNU) The versatile and fuss-free software enables easy setting up and maintenance of e-stores using minimal effort. This tutorial describes the process of installing osCommerce on Ubuntu 14.04.

How to install osCommerce on Ubuntu 14.04 (Trusty Tahr)

How to install osCommerce on Ubuntu 14.04 (Trusty Tahr) This document describes how to install osCommerce in Ubuntu 14.04. Open Source Commerce (osCommerce) is a popular e-Commerce and online store-management software program that may be easily used on any web server with PHP and MySQL installed. osCommerce is available to users as a free software under the General Public License (GNU) The versatile and fuss-free software enables easy setting up and maintenance of e-stores using minimal effort. This tutorial describes the process of installing osCommerce on Ubuntu 14.04.

How to install osCommerce on Ubuntu 14.04 (Trusty Tahr)

How to install osCommerce on Ubuntu 14.04 (Trusty Tahr) This document describes how to install osCommerce in Ubuntu 14.04. Open Source Commerce (osCommerce) is a popular e-Commerce and online store-management software program that may be easily used on any web server with PHP and MySQL installed. osCommerce is available to users as a free software under the General Public License (GNU) The versatile and fuss-free software enables easy setting up and maintenance of e-stores using minimal effort. This tutorial describes the process of installing osCommerce on Ubuntu 14.04.

Showing entries 10173 to 10182 of 43993
« 10 Newer Entries | 10 Older Entries »