Showing entries 8161 to 8170 of 44045
« 10 Newer Entries | 10 Older Entries »
SketchRank: Faster Ranking with Sketches

For the past few years I've been writing and speaking about time-series storage, a problem inspired by what I help build at VividCortex and also my personal projects. I've been thinking about a related problem for much longer, but I haven't had to work on it until now: ranking.

At VividCortex, we have a new tool called the Profiler. It allows you to rank within various categories of metrics, like MySQL or OS metrics, by a dimension, like count. You can rank top processes by total CPU time or memory, MySQL queries by execution time, and so on. We can do this for arbitrary time ranges.

The ranking is performed on the sums of values within each time range. If we're ranking by CPU usage during a 300 second window, we look at the CPU usage measurements for each process at every second, sum those values up, and …

[Read more]
mysql_real_connect is not thread safe

The "mysql_real_connect" function is used by MySQL clients, including multi-threaded clients,  to connect to a MySQL server.  The "mysql_real_connect" function is allowed to be run by concurrent threads without application level serialization.  Unfortunately, the thread sanitizer found a data race in the "mysql_real_connect" function when processing the …

[Read more]
Now available in swanhart-tools: NATIVE asynchronous query execution for any MySQL client!

There is often a need to run queries in the background in MySQL. This generally is accomplished using a message queue (like gearman), or by using extensions to a client (PHP has such extensions) or by using MariaDB's native async query interface (C client only I think).

While such solutions work well, they don't work for say a GO client, or for the mysql command line client itself.

I present "async"; part of the Swanhart Toolkit (http://github.com/greenlion/swanhart-tools). Async is a stored procedure and event based solution for asynchronous queries.

It consists of:


  • A queue table to hold the SQL to run, the state of execution, error messages, etc
  • A settings table that controls the number of parallel threads to use for executing queries
  • A stored routine …
[Read more]
MySQL Replication failover: Maxscale vs MHA (part 3)

In our previous two posts we described in depth how MySQL Master-HA (MHA) and MaxScale + MariaDB Replication Manager (MRM) both perform their so called slave promotions (also known as master failover). MHA has been created by Yoshinori Matsunobu when he still worked for DeNA and the product has been available for over five years. MaxScale is a MySQL proxy created by MariaDB and the combination with the MariaDB Replication Manager has only been added recently.

When we compare the two procedures, it is apparent they both have good sides and bad sides for automated failover. Both support adding and removing virtual ips and both check the entire topology during failover. It is difficult to say which one is better and which one is …

[Read more]
MySQL connection using SSL… or not ?

In this blog post, we’ll discuss how we can determine if a MySQL connection is using SSL.

Since MySQL 5.7.5 the server generates SSL certificates (see auto_generate_certs) by default if compiled with SSL, or uses mysql_ssl_rsa_setup if compiled with YaSSL.

But how can we check to see if our MySQL client connection uses SSL ?

When using an interactive client, it’s easy! You have two options:

1. Check the status(s):

mysql> s
--------------
mysql  Ver 14.14 Distrib 5.7.11, for Linux (x86_64) using  EditLine wrapper
Connection id:          7 …
[Read more]
Percona Server 5.7.10-3 GA is now available

Percona is glad to announce the first GA release of Percona Server 5.7.10-3 on February 23, 2016. Download the latest version from the Percona web site or from the Percona Software Repositories.

Based on MySQL 5.7.10, including all the bug fixes in it, Percona Server 5.7.10-3 is the current GA release in the Percona Server 5.7 series. All of Percona’s software is open-source …

[Read more]
Percona XtraBackup 2.4.1 GA is now available

Percona is glad to announce the first GA release of Percona XtraBackup 2.4.1 on February 23rd 2016. Downloads are available from our download site and from apt and yum repositories.

Percona XtraBackup enables MySQL backups without blocking user queries, making it ideal for companies with large data sets and mission-critical applications that cannot tolerate long periods of downtime. Offered free as …

[Read more]
More on references

In a few different places I saw comments about my last blog post about references and performance where commentators noted that my example was pointless. Which of course is true and to some degree the point.

I read a lot of PHP code and from time to time I see people with a non-PHP background (or otherwise influenced) putting references everywhere they pass arrays or such in order to prevent copies. I knew this was a bad practice in PHP 5 and wanted to verify this in PHP 7. For readers with a stronger PHP background this doesn't come to mind and so comments are like "what if I want to modify the data?" which might lead to something like this:

function modify(&$data) {
    $data["foo"] = "bar";
}
$data = [ /* huuuuuge array */ ];
modify($data);

In this code, from a performance perspective, the reference likely …

[Read more]
How to get max attribute value in jquery

Sometimes you have a many tag with same class and attribute with value but you need to find maximal value of attribute from that comman class In bellow you have same html tagpre classcode languagehtmlltulgtltli classtest dataid3gthiltligtltli classtest datai

What to do with optimizer hints after an upgrade?

At a recent optimizer webinar, I talked about MySQL introducing a new style for hints, and that MySQL 5.7 also added support for more hints, see Sergey Glukhov’s blog. A question I got at the end of the webinar was what to do with the hints in the application code after an upgrade?…

Showing entries 8161 to 8170 of 44045
« 10 Newer Entries | 10 Older Entries »