I spoke with Brian Aker last week about the issues I found with decrement and increment while working on my book "Developing Web Applications with Apache, MySQL, Memcached, and Perl". He suggested I make sure that I was using the latest libmemcached. I checked, and the version of libmemcached that is included with Memcached::libmemcached is 0.21 - this is the version of Memcached::libmemcached I obtained from using CPAN (perhaps CPAN needs a new bundle...). So, I obtained the most recent version of Memcached::libmemcached from the subversion repository at https://perl-libmemcached.googlecode.com/svn, and it includes the lastest libmemcached, version 0.25. To make a long story short, I re-wrote my test script to test each operation individualy and time that, as well as compare the times to Cache::Memcached. The numbers are great and are reason enough to use …
[Read more]
I'm busy working on my book, "Developing Web Applications with
Apache, MySQL, Memcached, and Perl", writing about how
Libmemcached (particularly the perl interface to libmemcached,
Cache::Memcached::libmemcached/Memcached::libmemcached) is
faster. And it is, except when I was writing a test script to
compare, I first used Daisuke Maki's script that comes with
Cache::Memcached::libmemcached, tools/benchmark.pl (which I
modified to only compare Cache::Memcached to
Cache::Memcached::libmemcached)
==== Benchmark "Simple get() (scalar)" ====
Rate perl_memcached libmemcached
perl_memcached 6784/s -- -78%
libmemcached 30488/s 349% --
==== Benchmark "Simple get_multi() (scalar)" ====
Rate perl_memcached libmemcached
perl_memcached 1806/s -- -84%
libmemcached 11494/s 537% --
==== Benchmark "Serialization with get()" ====
Rate perl_memcached libmemcached
perl_memcached 6402/s -- …
The perl script is mainly created to avoid manual Mysql Server Maintenance. The script uses Perl module DBI. You need to provide access credentials and database name(optional). Regarding Analyse, Optimize…
The post Perl Script for Analyze – Optimize – Repair Mysql Databases first appeared on Change Is Inevitable.
The Monolith Toolkit of scripts for DBA routines. 0.4.3 has been released. You can download it here: http://code.google.com/p/monolith-toolkit/
Some information on the toolkit and what it contains:
- mt-backup-parallel -> runs mysql backups in parallel super fast, has lots of reporting features
- mt-check-replication -> script to report on replication status for slave servers
- mt-rhcluster-check-filesystems -> reports on redhat cluster filesystems (for mysql active/passive clustering)
- mt-rhcluster-script-wrapper -> wrapper script for running any of these scripts on a redhat cluster, chooses the active node to run the script on
- mt-connections-log -> logs connections to mysql to disk, reports on threshold overages
- mt-flush-tables-sequence -> runs through schema.tables to flush in …
Monolith: MySQL server monitoring. I only have servers that run Redhat/Debian/Ubuntu Linux x86 and x86_64. I don’t have machines to test MySQL monitoring for the following OSes. Perhaps you would like to be a test candidate for the new version of Monolith? If so, let me know and you’ll be on the list, as well as get beta testing credit.
OSX Server: PPC and Intel
AIX
FreeBSD / OpenBSD / NetBSD
Windows Server
Solaris: Intel & Sparc
Linux servers that are NOT Intel based.
What this involves: testing the client script, perl modules, snmp stats, and other functions that may require a custom client script for that architecture.
Some days ago, I released version 0.11 of mylvmbackup a Perl script that performs consistent backups of a MySQL server by using LVM filesystem snapshots. The source archive as well as a generic RPM can be found on the project home page, packages for many Linux distributions are available on the openSUSE Build service.
This release includes some new functionality as well as numerous bug fixes and improvements, most notably:
- Added support for using rsnap as a backup backend (Matt Lohier)
- The documentation is now maintained in POD style instead of asciidoc (Matthew Boehm)
- Support using non-GNU tar and …
Some days ago, I released version 0.11 of mylvmbackup a Perl script that performs consistent backups of a MySQL server by using LVM filesystem snapshots. The source archive as well as a generic RPM can be found on the project home page, packages for many Linux distributions are available on the openSUSE Build service.
This release includes some new functionality as well as numerous bug fixes and improvements, most notably:
- Added support for using rsnap as a backup backend (Matt Lohier)
- The documentation is now maintained in POD style instead of asciidoc (Matthew Boehm)
- Support using non-GNU tar and …
|
I talked several times about partitioning usability. In my many tests of
partitioning I found myself in need of generating list of
partitions for a given range. I made the Partition Helper to scratch this particular itch, i.e. making partitions reasonably quickly and without thinking too much. |
The Partition Helper is a Perl script that converts some …
[Read more]Download Maatkit
The December release is here! There are some goodies in this release, but the major one is an initial version of mk-log-parser, a slow log analysis tool that is carefully designed (with lots of input from Percona consultants) to make slow log analysis as productive and easy as possible. It’s based on a [...]
I recently found myself wishing for an async library for MySQL. My goal is to be able to fire off queries to a group of federated servers in parallel and aggregate the results in my code.
With the standard client (DBD::mysql), I'd have to query the servers one at a time. If there are 10 servers and each query takes 0.5 seconds, my code would stall for 5 seconds. But by using an async library, I could fire off all the queries and fetch the results as they become available. The overall wait time should not be much more than 0.5 seconds.
While I found little evidence of anyone doing this in practice, my search led me to the perl-mysql-async project on Google Code. It's a pure-Perl implementation of the MySQL 4.1 protocol and an asyncronous client that uses …
[Read more]