At the UC 2010 I will have a session on
MySQL Cluster Performance Tuning. This session
will address a lot of the most common performance problems I see
in my day to day job with Cluster. A small excerpt of the talk is
below here and many other things will be addressed in the session
(JOINs, schema optimization, batching, indexes, parameter tuning
etc). I hope to see you there!
First a bit on ndb_autoincrement_prefetch_sz
and
then blobs!
ndb_autoincrement_prefetch_sz
One thing is contention on auto_increments, which can really slow
down performance.
By default the ndb_autoincrement_prefetch_sz=1
. This
means that the mysqld will cache one auto_increment number and
then go down to the data …
In vBulletin Board System there is session table contains online user information and tracking, in which forum now, what the current URL now, So it is have huge concurrent update statement, By default this table is MEMORY engine because its data not important in case MySQL restart.
I notice early loaded in MySQL and server, So I do full tuning for the server then analyze slow query using
I’ve been wanting to write a backup script for a while now that does the following: reads the partition information for the directory that you are backing up into and computes the used/available/percentage-available space. Then it reads the total data size from the MySQL tables and ensures that you have enough space on disk (for [...]
Last week a customer called me and reported that MySQL was 30
times slower than MS SQL server. Oooops. That's a lot. No way to
argue or throw smoke bombs. 30 times slower! It was a standard
installation of MySQL (typical install option) on plain Windows 7
and the same for MS SQL Server 2008. The test run was a batch of
30.000 INSERT commands in an SQL script. Runtime was 1 minute on
MSSQL and 30 minutes on MySQL. Some tests later we found out that
it was only bad on InnoDB. MyISAM was as fast as MSSQL. (I didn't
care which one was a bit faster. I didn't care as long as InnoDB
was 30 times slower) Finally we nailed the problem down to one
parameter in MySQL: innodb_flush_log_at_trx_commit Each INSERT
statement is a single transaction (autocommit mode). MySQL is
configured very faithfully and ensures that each …
You have to love all the debating going on over NOSQL -vs- SQL don’t you? With my UC session on choosing the right data storage tools ( does this sound better then SQL-vs-NoSQL?) I have been trying to stay current with the mood of the community so i can make my talk more relevant. Today I was catching up on reading a few blogs posts and I thought I would pass along these two: Pro SQL and Pro NoSQL … these represent the two very different views on this subject. (Note I think there are misleading facts and figures in these that should be flushed out more, but they are a good sample of what I am talking about). …
[Read more]I am giving a talk in a couple of weeks at the 2010 MySQL User Conference that will touch on use cases for NOSQL tools -vs- More relational tools, the talk is entitled “Choosing the Right Tools for the Job, SQL or NOSQL”. While this talk is NOT supposed to be a deep dive into the good, bad, and ugly of these solutions, rather a way to discuss potential use cases for various solutions and where they may make a lot of sense, being me I still felt a need to at least do some minor benchmarking of these solutions. The series of posts I wrote last year over on mysqlperformanceblog.com comparing Tokyo Tyrant to both MySQL and Memcached was fairly popular. In fact the initial set of benchmark scripts I used for that series actually has been put to good use since then testing out …
[Read more]Persistence Smoothie: Blending NoSQL and SQL – see user feedback and comments at http://joind.in/talk/view/1332.
Michael Bleigh from Intridea, high-end Ruby and Ruby on Rails consultants, build apps from start to finish, making it scalable. He’s written a lot of stuff, available at http://github.com/intridea. @mbleigh on twitter
NoSQL is a new way to think about persistence. Most NoSQL systems are not ACID compliant (Atomicity, Consistency, Isolation, Durability).
Generally, most NoSQL systems have:
- Denormalization
- Eventual Consistency
- Schema-Free
- Horizontal Scale
NoSQL tries to scale (more) simply, it is starting to go mainstream – NY …
[Read more]Most of this stuff is not PHP specific, and Python or Ruby or Java or .NET developers can use the tools in this talk.
The session on joind.in, with user comments/feedback, is at http://joind.in/talk/view/1320.
Slides are at http://talks.php.net/show/confoo10
“My name is Rasmus, I’ve been around for a long time. I’ve been doing this web stuff since 1992/1993.”
“Generally performance is not a PHP problem.” Webservers not config’d, no expire headers on images, no favicon.
Tools: Firefox/Firebug extension called YSlow
(developed by yahoo) gives you a grade on your site.
Google has
developed the …
In my last blog post, I showed how we can get some raw
performance information from /proc into the MySQL database using
a LOAD DATA INFILE (LDI) command.
I've modified that LDI call slightly to set the `other` column to
equal the sum total of the CPU counters for those rows which
begin with 'cpu'.
original:
other = IF(@the_key like 'cpu%', NULL , @val1);
new:
other = IF(@the_key like 'cpu%', user + nice + system + idle +
iowait + irq + softirq + steal + guest, @val1);
Top provides a useful output that looks something like the
following:
top - 04:59:14 up 14 days, 3:34, 1 user, load average: 0.00, 0.00, 0.00 Tasks: 216 total, 1 running, 215 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.0%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 8172108k total, 5115388k used, 3056720k free, 315180k buffers Swap: 2097144k total, 0k …[Read more]
System administrators familiar with the Linux operating system
use the tools in the 'procps' toolset all the time. Tools which
read from /proc include top, iostat, vmstat, sar and others. The
files in /proc contain useful information about the performance
of the system. Most of the files are documented in the Linux kernel documentation. You can also check
man 5 proc.
Most performance monitoring tools invoke other tools like iostat
to collect performance information instead of reading from the
/proc filesytem itself. This begs the question, what can you do
if you don't have access to those tools? Perhaps you are using a
hosted Linux database and have no access to the underlying shell
to execute tools like iostat or top? How could you gather
information about the performance of the actual system without
being allowed to run the tools?
…