Showing entries 15953 to 15962 of 44964
« 10 Newer Entries | 10 Older Entries »
Marinating in 2013

What a flashback this week. Staring at a text terminal trying to establish a connection with a remote server, I began to fret whether I would get my homework assignment done on time. My mind raced back to college nights years ago in the Fishbowl, hunched over an Athena workstation. Would this be another late night fueled by Jolt cola in order to get my problem set done?

Thankfully, no!

Embarking on my first software class in quite a while was relatively painless, and I have Sheeri Cabral and her detailed guidance to thank. This week I started the …

[Read more]
Why your cloud is speeding for a scalability cliff

Read the original article at Why your cloud is speeding for a scalability cliff

Also find Sean Hull’s ramblings on twitter @hullsean. Don’t believe me that you’re headed for the cliff? A startup scales up to no avail Towards the end of 2012 I worked with an internet startup in the online education space. Their web application was not unusual, built in PHP and using Linux, Apache & Mysql [...]

For more articles like these go to Sean Hull's Scalable Startups

Related posts:

  1. 3 Ways to Boost Cloud Scalability
  2. Cloud Operations …
[Read more]
Global transaction ID in MariaDB

The main goal of global transaction ID is to make it easy to promote a new master and switch all slaves over to continue replication from the new master. This is currently harder than it could be, since the current replication position for a slave is specified in coordinates that are specific to the current master, and it is not trivial to translate them into the corresponding coordinates on the new master. Global transaction ID solves this by annotating each event with the global transaction id which is unique and universal across the whole replication hierarchy.

In addition, there are at least two other main goals for MariaDB global transaction ID:

  1. Make it easy to setup global transaction ID, and easy to provision a new slave into an existing replication hierarchy.
  2. Fully support …
[Read more]
A quick introduction to innodb_ruby

In On learning InnoDB: A journey to the core I introduced a new library and command-line tool in the innodb_ruby project. Now I’ll show off a few of the things it can do. I won’t try to explain all of the InnoDB structures exposed, since that will get the demos here way off track. We’ll come back to those structures later on!

Installing innodb_ruby

If you’re familiar with Ruby and gems (or you just happen to have a well-configured Ruby installation), I regularly push innodb_ruby gems to RubyGems, so you should only need to:

gem install innodb_ruby

If that doesn’t work, you might want to check out The RubyGems manual to try and get your installation working. …

[Read more]
Serious build and testing automation

Here at Percona we’ve spent a lot of time improving our development and testing practices. Why? Because constant innovation keeps us ahead and more productive. We want to work smarter, not harder. One of the tools we use is the Jenkins Continuous Integration server.

We use Jenkins pretty heavily to help with out development processes and workflow. The flexibility, modularity and plugin availability are great advantages to Jenkins, and it being free and open source software that we can freely modify and bug fix is immensely valuable (indeed, I now maintain the Jenkins Bazaar plugin).

We currently have:

  • approximately 32 slaves performing builds
  • 151 top level jobs (many of these are matrix jobs)
  • 2,578 …
[Read more]
On the clarity of licensing

Being clear in licensing is a great benefit to users. I’m quite proud that with Drizzle we got to a really simple situation:

  • server is GPLv2
  • client libraries are BSD licensed and are fresh implementations

We had the complete okay from Sun to have libdrizzle be BSD licensed and for us to work on that.

On learning InnoDB: A journey to the core

I’ve been using InnoDB for about a decade now, and up to now have understood it well enough to make it do what I wanted, most of the time. However in order to achieve some goals related to efficiency, I’ve found it necessary to take my understanding to the next level. Unfortunately, the InnoDB documentation was pretty lacking in clear explanations of InnoDB’s internal data structures. Reading the code turned out to be the only way to find the information I needed.

However I quickly found that the structures and their usage (and especially their inter-relationships) are way too complex to keep in your head just based on reading the code. Additionally it’s only really possible to hope you’ve understood the structure correctly just based on reading (and for me, there were a lot of misunderstandings along the way).

An approach I’ve long taken to understanding something that is complex and poorly documented is the …

[Read more]
MySQL RDS 'GoSH' is broken

RDS has created some basic tooling for looking at the internal status variables within MySQL called Global Status History or "GoSH" though unfortunately the tooling is broken.

The tooling, detailed at the following link here is meant to snapshot the output of "show status" and squirt the data into a table in the MySQL schema called mysql.rds_global_status_history.

The issue is that the bootstrapped event called 'ev_rds_gsh_collector' is missing and therefore the procedures to enable the snapshotting fail.

It appears that whenever an RDS instance is started (or bounced) the contents of the 'mysql' schema is re-created - therefore the injection of the row into the event table is missing from whatever init script AWS has.

To 'fix' GoSH you can …

[Read more]
Benchmarking ProxySQL 1.4.4

Comparing ProxySQL 1.4.3 vs. 1.4.4

ProxySQL 1.4.4 has recently been released (GA on Dec 20, 2017) which naturally leads to the question “What performance gains are to be expected when moving to the new version?”. In this article we compare performance between 1.4.3 and 1.4.4 in a CPU bound workload. The instances are configured with the default settings for the initial benchmark and then again after tuning one specific variable, mysql-max_stmts_per_connection, which can lead to substantial performance gains.

Lets first discuss what the ProxySQL variable mysql-max_stmts_per_connection affects and how it is evaluated. ProxySQL maintains a counter for each backend connection which increments each time a statement is prepared on that connection. Just before the connection is returned to the pool, this counter is evaluated against mysql-max_stmts_per_connection, and if the threshold is …

[Read more]
Untrusted downloads and MySQL

When the MySQL version from your distribution isn't good enough you need to download the latest Oracle MySQL. There are more possibilities like Percona Server and MariaDB, but that's not what this post is about.

The dowload site for MySQL is https://www.mysql.com/downloads/mysql/ and contains to a mirror.php script which ask you if you like to login with a Oracle Web Account and then chooses a mirror for you. You don't have to login. Then you will be redirected to the chosen mirror. In my case this is https://cdn.mysql.com

Firefox will give you a "This Connection is Untrusted" dialog. If you click on "Technical details" it will show the following error:

cdn.mysql.com uses an invalid security certificate.

The certificate is only valid for the following names:
  a248.e.akamai.net , *.akamaihd.net , …

[Read more]
Showing entries 15953 to 15962 of 44964
« 10 Newer Entries | 10 Older Entries »