Mark Callaghan at
facebook tested the test release of MySQL 5.6.3 and he has found
some performance improvement with InoDB feature. Read
below...
Mark tried two of the previews for MySQL 5.6.3 at http://labs.mysql.com/. His first attempt
with the multi-threaded slave preview was not successful.
Parallel apply on the slave is serial when the master does not
also run 5.6.3. He said (I hope this changes as a typical
upgrade is first done on the slave.)
He was more successful with the InnoDB features preview. A
few more mutex contention bottlenecks were removed in it
and he wanted to compare the peak row update rate between it
and MySQL 5.1.52. he configured InnoDB to use a buffer pool
large enough to …
Another performance problem found by PoorMansProfiler
Innam rana said in his blog post on innodb
blog:
InnoDB has an internal file system management module that
primarily manages the space in the data files. One of the pain
points was the coarse level of locking used when a data file has
to be extended. More about this issue can be found here. In the latest labs release
we have fixed this problem.
When we need to extend a data file inside InnoDB we write zero
filled pages synchronously to the file. The user thread which is
extending the data file holds fil_system::mutex during the whole …
There are two sections for rows in the page format for InnoDB
compressed tables. The compressed section has one or more rows
and must be decompressed to access individual rows. The modification log has uncompressed rows and
rows can be accessed without decompressing. The modification log
is used to avoid decompressing and then possibly recompressing
the compressed section on every row change. The buffer pool also
has separate uncompressed copies of some pages so that every row
read does not require a page decompression.
I want to understand when a page must be decompressed or
recompressed. This is definitely an incomplete list.
- A page is decompressed when a row is read and the uncompressed version of the page is not in the buffer pool.
- I think a row can be deleted from the compressed section …
Introduction:
MySQL Cluster is a write-scalable, real-time, ACID-compliant
transactional database, combining 99.999% availability with the
low TCO of open source. Designed around a distributed,
multi-master architecture with no single point of failure, MySQL
Cluster scales horizontally on commodity hardware to serve read
and write intensive workloads, accessed via SQL and NoSQL
interfaces.
MySQL Cluster's real-time design delivers predictable,
millisecond response times with the ability to
service millions of operations per second. Support for
in-memory and disk-based data, automatic data partitioning
(sharding) with load balancing and the ability to add nodes to a
running cluster with zero downtime allows linear database
scalability to handle the most unpredictable web-based
workloads.
…
If the table has a multiple-column index, any leftmost prefix of
the index can be used by the optimizer to find rows. For example,
if you have a three-column index on (col1, col2, col3),
you have indexed search capabilities on (col1), (col1,
col2), and (col1, col2, col3). MySQL cannot use an
index if the columns do not form a leftmost prefix of the index.
Suppose that you have the SELECT statements shown here: SELECT * FROM
tbl_name WHERE col1=val1;SELECT * FROM
tbl_name WHERE col1=val1 AND
col2=val2;
SELECT * FROM tbl_name WHERE col2=val2;SELECT *
FROM tbl_name WHERE col2=val2 AND
col3=val3;If an index exists on (col1, col2, col3),
only the first two queries use the index. The third and fourth
queries do involve indexed columns, but (col2) and …
Using Net::HandlerSocket, here are some fun numbers for a single connection (open & close). When connecting to “localhost”, here’s the strace: open("/etc/hosts", O_RDONLY) = 3 fcntl(3, F_GETFD) = 0 fcntl(3, F_SETFD, FD_CLOEXEC) = 0 fstat(3, {st_mode=S_IFREG|0644, st_size=187, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b909a1a3000 read(3, "# Do not remove the following [...]
Check out this SlideShare Presentation: Partitions Performance with MySQL 5.1 and 5.5View more presentations from Giuseppe Maxia.
[Read more]Check out this SlideShare Presentation: 10x Performance ImprovementsView more presentations from Ronald Bradford.
[Read more]Check out this SlideShare Presentation: MySQL Monitoring 101View more presentations from Ronald Bradford.
[Read more]Check out this SlideShare Presentation: Top 20 Design Tips for MySQL Data ArchitectsView more presentations from Ronald Bradford.
[Read more]