I think most people will agree that one of the biggest advantages of MySQL Community Server is that it’s free. Being free doesn’t get you a multi-million user community though; MySQL offers a great array of transactional engines, advanced high-availability features, robust I/O performance, and it powers many of the top-500 internet sites. When it […]
Lately I’ve had to do some environment load testing so I wrote this quick script. It can be modified as needed but the basic idea is that it spawns $x threads (–threads) and then sends two connections (or however many you want with –per-connection=) per thread to the URL (–url=). You can have it wait a configurable time between connections as well (–wait=).
The url is appended with a 32 character randomized string so that any database/caching on the backend of the site isn’t serving data from a warm cache. You can hunt down the string length for 32 and change it to whatever you want. Feel free to change and use as needed, just keep my info at top.
#!/usr/bin/python ################################################################################ ## DATE: 2010-10-26 ## AUTHOR: Matt Reid ## MAIL: mreid@kontrollsoft.com ## SITE: http://kontrollsoft.com ## LICENSE: BSD http://www.opensource.org/licenses/bsd-license.php …[Read more]
UPDATE: An on-demand replay for the webinar discussed below is
available here:
http://mysql.com/news-and-events/on-demand-webinars/display-od-572.html
And there is a new whitepaper for MySQL Replication posted
here:
http://mysql.com/why-mysql/white-papers/mysql-wp-replication.php
The recent announcement of the MySQL 5.5 Release
Candidate included some pretty staggering increases in
performance and scalability.
Replication is also an area where many enhancements have been
made including semi-synchronous replication, replication
heartbeating, fsync tuning, relay log recovery, per-server
replication filtering, etc.
On Tuesday 12th October, Dr. Lars Thalmann who leads the
engineering team responsible for the development and
implementation of these …
There’s a new version of the dbbenchmark tool available. Now we’re creating the MySQL connection pool thread count based on automatic reporting of core quantity. There is still the same method to set the thread count manually if you are interested in finding your system’s thread limits. Download the MySQL benchmarking script now and add your server performance to the community database of results!
If you’ve ever needed to know how the data and index percentages per table engine were laid out on your MySQL server, but didn’t have the time to write out a query… here it is!
select (select (sum(DATA_LENGTH)+sum(INDEX_LENGTH))/(POW(1024,3)) as total_size from tables) as total_size_gb, (select sum(INDEX_LENGTH)/(POW(1024,3)) as index_size from tables) as total_index_gb, (select sum(DATA_LENGTH)/(POW(1024,3)) as data_size from tables) as total_data_gb, (select ((sum(INDEX_LENGTH) / ( sum(DATA_LENGTH) + sum(INDEX_LENGTH)))*100) as perc_index from tables) as perc_index, (select ((sum(DATA_LENGTH) / ( sum(DATA_LENGTH) + sum(INDEX_LENGTH)))*100) as perc_data from tables) as perc_data, (select ((sum(INDEX_LENGTH) / ( sum(DATA_LENGTH) + sum(INDEX_LENGTH)))*100) as perc_index from tables where ENGINE='innodb') as innodb_perc_index, (select ((sum(DATA_LENGTH) / ( sum(DATA_LENGTH) + sum(INDEX_LENGTH)))*100) as perc_data from tables where ENGINE='innodb') as …[Read more]
UPDATE: New room assignments for the MySQL
Cluster and Replication Enhancements sessions
With the MySQL Sunday event at Oracle Open World
rapidly approaching, and registrations to the event 10x higher
than originally forecast, I thought it would be a good time to
highlight sessions that are specifically addressing MySQL high
availability, including MySQL Cluster .
You can see details and logistics of all of the sessions here
MySQL Cluster
Andrew Morgan and I will be presenting the latest enhancements in
the world of …
aka “How to use multiple MySQL Servers and Workbench in Snow Leopard without using Terminal… and live happily ever after”
The MySQL Community is a world of command-line aficionados. Many people, including myself, show their love to the simple-but-powerful interface of the mysql command-line client, but not everybody is keen to use a bash shell and give up its GUI, no matter how powerful the software is.
Until recently, GUI tools for MySQL were half baked solutions: in the end, there was always something that you had to do via the command line. Today, you can install, set up and use MySQL on your Mac with Snow Leopard without using Terminal, at all.
My Special Needs
Before digging into the details of the installation, let me describe what I need on my Mac. I use various versions of MySQL and I often need to run 2 or more instances at the same time. I constantly build, install and uninstall versions of …
[Read more]Clients often ask what the differences are between the various InnoDB isolation levels, or what ACID means. Here are some simple explanations for those that have not yet read the manual and committed it to memory.
READ UNCOMMITTED
Every select operates without locks so you don’t get consistency
and might have dirt reads, which are potentially earlier versions
of data. So, no ACID support here.
READ COMMITTED
Has consistent reads without locks. Each consistent read, even
within the same transaction, sets and reads its own fresh
snapshot.
REPEATABLE READ
The InnoDB default isolation level for ACID compliance. All reads
within the same transaction will be consistent between each other
– ie, the C in ACID. All writes will be durable, etc etc.
SERIALIZABLE
Same as REPEATABLE READ but MySQL converts regular select …
In this latest release I’ve added a basic MySQL connection pool to the benchmarking script which improves the method in which connections to MySQL are handled and reused. In addition, there have been some optimizations made to the thread handler functions for better debug reporting. Download the latest release now and see how your MySQL server performs against the rest of the community! Download here: download page.
Here are some quick commands for installing the proper packages and requirements for the MySQL dbbenchmark program.
export PKG_PATH="ftp://openbsd.mirrors.tds.net/pub/OpenBSD/4.7/packages/amd64/"
pkg_add -i -v wget
wget http://dbbenchmark.googlecode.com/files/dbbenchmark-version-0.1.beta_rev26.tar.gz
pkg_add -i -v python
Ambiguous: choose package for python
a 0:
1: python-2.4.6p2
2: python-2.5.4p3
3: python-2.6.3p1
Your choice: 2
pkg_add -i -v py-mysql
pkg_add -i -v mysql
pkg_add -i -v mysql-server
ln -s /usr/local/bin/python2.5 /usr/bin/python
gzip -d dbbenchmark-version-0.1.beta_rev26.tar.gz
tar -xvf dbbenchmark-version-0.1.beta_rev26.tar
cd dbbenchmark-version-0.1.beta_rev26
./dbbenchmark.py --print-sql
- login to mysql and execute sql commands
./dbbenchmark.py