Just came across this paper: Optimizing MySQL Database Application Performance with Solaris Dynamic Tracing
Looks useful.
| Previous 30 Newer Entries | Showing entries 31 to 60 of 60 |
Just came across this paper: Optimizing MySQL Database Application Performance with Solaris Dynamic Tracing
Looks useful.
Just came across this paper: Optimizing MySQL Database Application Performance with Solaris Dynamic Tracing
Looks useful.
This Thursday (February 12th, 14:00 UTC), MC Brown will give a MySQL University session on Using DTrace with MySQL. MC has been involved not just with documenting DTrace but also with DTrace development; see his recent blog post for details.
For MySQL University sessions, point your browser to this page. You need a browser with a working Flash plugin. You may register for a Dimdim account, but you don't have to. (Dimdim is the conferencing system we're using for MySQL
[Read more...]My presentation at LOSUG on tuesday went down like a house on fire - I think it would be safe to say that the phrase for the evening was ‘It’s a cache!’.
For that to make sense, you need to look at the slides, which are now available here.
Attendance was great, but it seems the last minute change of day meant that some people missed the session. We had 151 people register, and about 80 turned up on the night.
Next Tuesday (27th Jan), I’ll be speaking at the London OpenSolaris User Group again. For those that follow the LOSUG meetings, we normally the third thursday of the month, but due to the overwhelming popularity of the event this month (more 100 registrations so far) we have had to push the event back to the last Tuesday of the month.
This month, I’ll be talking about the DTrace probes that we have added into MySQL and demonstrating their use and functionality. Along the way I’ll also cover some of the internals of MySQL and how it works (and how they relate to the DTrace probes we’ve added), how to use the probes to analyze and diagnose your queries, and how I’ve already used the DTrace probes to
[Read more...]
This Thursday (December 18th), Martin "MC" Brown will talk about using DTrace with MySQL. MC is the Solaris (and, naturally, DTrace and ZFS) expert on the Sun Database Group documentation team. He's helped the openSolaris team port MySQL to openSolaris.
Note that we'll be using a new session address / Dimdim URL:
http://webmeeting.dimdim.com/portal/JoinForm.action?confKey=mysqluniversity
You can bookmark this address, since it will remain valid for all future MySQL University sessions. Remember, though, that the meeting room will
[Read more...]
There have been plenty of blog entries and writings about the MySQL Query Analyzer, for what I think are good reasons. Labeling it a potential Killer App, causing many MySQL users to become paying Sun customers, may be a daring thing. However, the Query Analyzer might very well have what it takes. The key benefit of it is that it identifies the source of performance bottlenecks. In that sense, one could perhaps instead call it a
So it’s been a while since I’ve hit my blog, but I feel compelled to respond to Baron’s post, and many of the other (perhaps short sighted) criticisms out there against this new functionality that we’ve been working on for so long.
Everybody seems to be saying that this functionality should be implemented in the server, or that the better way to do this is to use these patches which add functionality to the logging that MySQL already provides. Well guess what people - what does that give you, other than some more details on you queries?
More I/O.
What’s bad on a database server?
More I/O.
Query Analyzer, whilst it does currently use a proxy to collect the statistics, doesn’t hit your disk at all. Everything is collected
[Read more...]

Angelo recently showed an easy way to dump SQL queries using DTrace, while reading the articles I felt that some important information is missing: The name of the user executing the query and the selected database. So I sat down a few minutes and tried to collect that data.
For the database name I found a quite simple solution: It is passed as parameter to the check_user() function to MySQL so we can easily add a thread-local variable to keep that name. Simple script for that:
[Read more...]#!/usr/sbin/dtrace -s
#pragma D option quiet
pid$1::*check_user*:entry
{
self->db = arg4 ? copyinstr(arg4) : "(no schema)";
}
pid$1::*dispatch_command*:entry
{
printf("%s: %s\n", self->db,
#!/usr/sbin/dtrace -qws
BEGIN
{
freopen("/tmp/sqls");
}
pid$1::*dispatch_command*:entry
{
printf("%d::%s\n",tid,copyinstr(arg2));
}
To save Solaris from a certain death ?
Reading Planet MySQL the last couple of hours I'm trying really hard to convince myselve the Solaris offensive there is not orchestrated.. but I can't.
It might ofcourse be the fresh MySQL users that Sun brought in on their platform that started out blogging but hey .. I`m paranoia right :)
Are they really trying to get at least a fraction of the MySQL community on Solaris. Do they really think they can ? Yes they lost a zillion of Solaris customers that were running a proprietary database to MySQL on Linux users ,, but why would they want to move back to a semi proprietary setup ?
According to Linuxjournal Alan Cox seems to think that ZFS is the only thing that is keeping Solaris alive. I don't think DTrace was a bigg mass tool that would convince the crowds to suddenly move to an other operating system.
So is Sun trying to Lock
[Read more...](Note: This post is relevant only if you want to have 'DTr ace' support in the MySQL server. Packages for Solaris are available at http://dev.mysql.com/downloads/. You can install the MySQL packages for Solaris 10 on Open Solaris)
We shall use the Sun Studio C/C++ compilers and linkers to build MySQL 6.0 alpha on Open Solaris b98 on a x86 system.
$ ./configure --enable-dtrace CC=cc CXX= CC --without-falcon --prefix=/export/home/amit/mysql60-install # MySQL 6.0 alpha contains DTrace probes. To enable it use
(Note: This post is relevant only if you want to have 'DTr ace' support in the MySQL server. Packages for Solaris are available at http://dev.mysql.com/downloads/. You can install the MySQL packages for Solaris 10 on Open Solaris)
We shall use the Sun Studio C/C++ compilers and linkers to build MySQL 6.0 alpha on Open Solaris b98 on a x86 system.
$ ./configure --enable-dtrace CC=cc CXX= CC --without-falcon --prefix=/export/home/amit/mysql60-install # MySQL 6.0 alpha contains DTrace probes. To enable it
(Please note that you will have to build MySQL from sources only if you want to try out the DTrace facilities. Otherwise, binary packages are available for installation)
We shall use the Sun Studio C/C++ compilers and linkers to build MySQL 6.0 alpha on Open Solaris b98 on a x86 system.
Note:
Please make sure that the location of the Sun tools are ahead in your PATH. GNU tools should be located later in the PATH. For eg.
[Read more...]
#!/usr/sbin/dtrace -qs
pid$1::*dispatch_command*:entry
{
printf("%d::%s\n",tid,copyinstr(arg2));
}
You need to pass the pid of the mysql process as the first argument to this script.
I decided to take the new probes for a spin. Oh, and rather than do it on a Solaris system, I figured I'd give it a shot on my Intel Core 2 Duo MacBook Pro, since MacOS X 10.5 (Leopard) supports Dtrace.
To begin with I pulled down and built MySQL 6.0.5 from Bit Keeper, thanks to some help from Brian Aker.
[Read more...]
I decided to take the new probes for a spin. Oh, and rather than do it on a Solaris system, I figured I'd give it a shot on my Intel Core 2 Duo MacBook Pro, since MacOS X 10.5 (Leopard) supports Dtrace.
To begin with I pulled down and built MySQL 6.0.5 from Bit Keeper, thanks to some help from Brian Aker.
[Read more...]
I decided to take the new probes for a spin. Oh, and rather than do it on a Solaris system, I figured I'd give it a shot on my Intel Core 2 Duo MacBook Pro, since MacOS X 10.5 (Leopard) supports Dtrace.
To begin with I pulled down and built MySQL 6.0.5 from Bit Keeper, thanks to some help from Brian Aker.
[Read more...]We have fixed the issue with the PHP dtrace extension not working in Cool Stack 1.2. As I mentioned in my announcement post, we had already identified the issue but didn't have time to fix it before the release. The issue was that /usr/ccs/bin/ld was being used to do the linking but this doesn't work for dtrace as some initialization code needs to be called from the .init section and this is not setup correctly if we don't use 'cc' to do the linking (rather than 'ld').
So a simple addition to the configure line:
LD="cc"
did the trick.
We now have two files : dtrace_1.2_sparc.so and dtrace_1.2_x86.so posted.
[Read more...]We have fixed the issue with the PHP dtrace extension not working in Cool Stack 1.2. As I mentioned in my announcement post, we had already identified the issue but didn't have time to fix it before the release. The issue was that /usr/ccs/bin/ld was being used to do the linking but this doesn't work for dtrace as some initialization code needs to be called from the .init section and this is not setup correctly if we don't use 'cc' to do the linking (rather than 'ld').
So a simple addition to the configure line:
LD="cc"
did the trick.
We now have two files : dtrace_1.2_sparc.so and dtrace_1.2_x86.so posted.
[Read more...]We have fixed the issue with the PHP dtrace extension not working in Cool Stack 1.2. As I mentioned in my announcement post, we had already identified the issue but didn't have time to fix it before the release. The issue was that /usr/ccs/bin/ld was being used to do the linking but this doesn't work for dtrace as some initialization code needs to be called from the .init section and this is not setup correctly if we don't use 'cc' to do the linking (rather than 'ld').
So a simple addition to the configure line:
LD="cc"
did the trick.
We now have two files : dtrace_1.2_sparc.so and dtrace_1.2_x86.so posted.
[Read more...]In a previous post, I mentioned the availability of the dtrace extension for Cool Stack's PHP. Using this extension and the Cool Stack MySQL, it is possible to analyze the performance of your application running on this stack. At JavaOne, we demoed this using the open source MediaWiki and SugarCRM applications. dtrace is especially useful in analyzing complex multi-tier applications like AMP. Thanks to Angelo Rajadurai for the creation of the scripts that I describe below.
Analyzing PHP calls
So, let's look at a simple dtrace script that counts how many times a particular PHP function is called :
#!/usr/sbin/dtrace -Zqs
php*:::function-entry
/arg0/
{
@[copyinstr(arg0)]=count();
}
You can copy
[Read more...]During JavaOne this year Rags and I did a hands on lab on DTrace. The topic was "Using DTrace on Java and other Web 2.0 Languages in Solaris". Due to some unforeseen reason the lab was scheduled from 8:45 PM to 10:45 PM (Yes PM) and that to on the day of the big party at JavaOne. So I was expecting to be speaking to an empty room but lo and behold we had close to 100 engineers ( a few pretty drunk) and most stayed until the finished the
[Read more...]Dtrace is one of the coolest things in Solaris 10, adding great observability to applications. A Dtrace provider for PHP that adds probes to function entry and exit points has long been available. I finally got around to integrating this with the php in Cool Stack.
Bryan Cantrill has some excellent examples of how to use dtrace to trace through your php code, down to the system libraries and kernel (if you want to go that far !) .
Instructions for installing the php dtrace extension
1. Download the shared library for the extension :
[Read more...]
| Previous 30 Newer Entries | Showing entries 31 to 60 of 60 |