Showing entries 22976 to 22985 of 44125
« 10 Newer Entries | 10 Older Entries »
Linux cluster stack hits Debian squeeze

The full Linux cluster stack, including Pacemaker, Heartbeat, Corosync and related packages, cleared all hurdles and migrated to the Debian testing repository this morning. This means that Pacemaker and both messaging layers it supports will be in the upcoming Debian release, codenamed squeeze.

Credit goes to the debian-ha maintainers crowd for making this possible: Martin Loschwitz, …

[Read more]
Formal verification of PBXT locking code, my experience with verification tools

In the last few months we’ve got couple of bugs with the PBXT read/write locking code. One of the problems was directly in the lock/grant algorithm. It was strange to find such kind of error after quite long time of various testing and real-life usage. From the point of view of QA it was clear that manual code review was not efficient in this case.

Given all this I decided to try formal verification of the code. The specifics of the PBXT locking code is that it’s relatively small (about 100 LOC) but quite complex. The algorithm itself is not that trivial but the major source of complexity is concurrent execution of its parts. So if I had to manually create a finite state table for it then it would be essentially a cartesian product of states of all concurrent threads. In numbers that is if there is about 20-30 states per thread and there are 3 threads (empirically I estimated that threads beyond 3 don’t add more states) then I would …

[Read more]
Tech Messages | 2010-05-14

A special extended edition of Tech Messages for 2010-04-29 through 2010-05-14:

[Read more]
mysql_upgrade and Innodb Tables

Upgrading from MySQL 5.0 to MySQL 5.1 or Percona Server 5.1 you may run into issues with mysql_upgrade - it will identify some tables to be upgraded and will attempt to run REPAIR TABLE for them. This will fail with "The storage engine for the table doesn't support repair" error message. This seems to confuse a lot of people and I've seen people doing failsafe upgrade path of dumping and reloading complete database confused by this error message, which of course works, but can take quite a lot of time.

Another solution is to simply run ALTER TABLE tbl ENGINE=INNODB which will rebuild table with new MySQL version and normally will fix issues identified by mysql_upgrade.
You can use mysqlcheck -A --check-upgrade to identify tables which need to be fixed such a way.

With Oracle intentions to make Innodb default storage engine in next MySQL release I'm hopeful minor annoyances …

[Read more]
How to read Linux’s /proc/diskstats easily

These days I spend more time looking at /proc/diskstats than I do at iostat. The problem with iostat is that it lumps reads and writes together, and I want to see them separately. That’s really important on a database server (e.g. MySQL performance analysis).

It’s not easy to read /proc/diskstats by looking at them, though. So I usually do the following to get a nice readable table:

  • Grep out the device I want to examine.
  • Push that through “rel” from the Aspersa project.
  • Add column headers, then format it with “align” from the same project.

Here’s a recipe. You might want to refer to the kernel iostat documentation too.


wget http://aspersa.googlecode.com/svn/trunk/rel
wget http://aspersa.googlecode.com/svn/trunk/align
chmod +x rel align
while sleep 1; do grep sdb1 …
[Read more]
MySQL 5.1.46 With InnoDB Plugin Kicks Butt

We were discussing the recommendations we issue each quarter around MySQL and the question of using InnoDB plugin came up. We usually follow Planet MySQL closely, so we read what the blogs had to say and it was all good, but we decided to provide our users some data of our own. We used our own sysbench tests on to get the information we needed.
A Word About BenchmarksI don't trust most of the benchmarks that are published online because they really apply to the use case of whomever is writing the article. They are usually many factors that can influence them and I find it difficult to apply them as-is to our environment.

I do trust the benchmarks published online as a reference on how to create and run our own benchmarks. So this article is based on this premise. I recommend you to do your own homework to …

[Read more]
Sometimes, even a command line guy likes a GUI

As everyone knows, I am a command line guy. I am very much comfortable with the shell prompt and the command line SQL client. I do most of my work that way, and I am very much productive.
However, there comes a time when even for a command line enthusiast a GUI can be helpful.
Here comes the latest MySQL Workbench 5.2.
There are two areas where I feel that WB can give me a hand:
The first is when looking at tables that contain BLOB columns. Sure I can deal with them at the command line, but this editor makes my life easier.

When a column contains a BLOB, you can open the field viewer.

[Read more]
Log Buffer #189, A Carnival of the Vanities for DBAs

Welcome to Log Buffer, a weekly review of the database industry. This week’s issue Log Buffer #189 is generously published by Iggy Fernandez, editor of the quarterly journal of the Northern California Oracle User Group (NoCOUG).

As always, if you’d like to host your own issue of Log Buffer, simply reach out to the Log Buffer coordinator.

Please enjoy Iggy’s issue of

[Read more]
vmstat/iostat replacement for windows ?

I dislike the old perfmon interface and it's unreadable graphs and logs. For a long time I've been searching for a basic vmstat and/or iostat windows port, and one that doesn't rely on that nonsensical cygwin. If anybody knows of one, please leave a comment.
Here's a proof on concept I cooked up in 20 minutes using the PDH (performance data helper) functions. In a nutshell, it queries the PDH counters directly and I'm be free to displaythe data however I like.
Here's what I got so far:


proc_q_len pagefile interrupt/s cswitch/s %cpu_user %cpu_sys %cpu_idle %disk_busy %disk_read %disk_write
10 …
[Read more]
User’s Demographic Data From Facebook

Sometimes we may need to collect facebook user’s basic data for our website or application. Then we’ve to call graph api or legacy api or fql query to collect some specific data. This is a basic requirements for most of the fbconnect base website or facebook application. To simplify this task here I published some code so that you could easily use this code and can integrate in your site. Read Full Article

Showing entries 22976 to 22985 of 44125
« 10 Newer Entries | 10 Older Entries »