The first selection in selecting run-time environment is done by
selecting the binary. The original NDB run-time environment was a
single-threaded environment where we executed everything except
IO threads in a single thread. This environment actually still
exists and is selected by running with the binary ndbd. The new
multithreaded environment is selected by running with the binary
ndbmtd. The ndbmtd can clearly scale far beyond ndbd, but ndbd
can still have advantages in environments which has a low load
and needs optimisation on latency. Since ndbd does receive on
socket, execution of signals and send of signals in the same
thread it can have shorter latency at the cost of scalability.
Most of the rest of this description discusses ndbmtd
configuration. The ThreadConfig variable doesn't apply to running
with ndbd since ndbd uses hard-coded thread configuation
consisting of 1 main thread.
When configuring the MySQL Cluster run-time …
The run-time environment in MySQL Cluster have always been geared
towards high throughput, but also at having many features
providing real-time access to the data in MySQL Cluster.
Real-time features have included the possibility to lock the
memory such that no swapping occurs. It has also included the
ability to control placement of the many threads introduced in
the MySQL Cluster 7.x series.
In the latest version of MySQL Cluster 7.x we have improved these
real-time features and enabled a higher level of control over how
those features are configured in the MySQL Cluster data
nodes.
Given the high flexibility of configuring MySQL Cluster 7.x we
have moved away from global config variables affecting all
threads and instead moved towards using the ThreadConfig variable
to specify the configured behavior of MySQL Cluster data nodes.
The global variables are still in use, but they only set the
default value, this value …
What does it mean if MySQL returns the ‘Incorrect key file for table’ error for one of my queries? The answer is complicated and depends on which storage engine is returning the error. We have debugged two cases which we describe here.
File system out of space
When running the random query generator, one of the queries failed.
Query: SELECT * FROM (mysql . general_log AS table1 INNER JOIN INFORMATION_SCHEMA . INNODB_BUFFER_PAGE AS table2 ON ( table2 . SPACE = table1 . user_host ) ) ORDER BY table1 . thread_id LIMIT 168 failed: 126 Incorrect key file for table '/data/mysql7/performance_schema_vardir/tmp/#sql_6b8_17.MYI'; try to repair it
Since this query requires a sort, MySQL creates a hidden temporary table called ‘#sql_6b8_17.MYI’ to hold the intermediate results. While the query was executing, some operation performed on the MyISAM table returned an error. What could it be?
MySQL maps the …
[Read more]The MySQL Insights Survey 2013 was conducted during September 2013. Over 200 international respondents, who are followers of SkySQL and MariaDB Twitter and Facebook pages, took part. The aim was to provide insight into their experiences and opinions about the future of open source databases. We have five key findings below.
November 19, 2013 By Severalnines
The Severalnines team is pleased to announce the release of ClusterControl 1.2.4. This release contains key new features along with performance improvements and bug fixes.
We have outlined some of the key features below. For additional details about the release:
- 1.2.4 ChangeLog
- Documentation
- Upgrade instructions
This Week in Website Performance is a weekly feature of the Monitis.com blog. It summarizes recent articles about website performance. How to make yourweb site better, how to improve your users experience when they come to your website and how to optimize the overall experience. Why? Because your friends at Monitis.com care.
Improving website performance – 10 tips
Author: palepurple.
Discussed in this short article are 10 useful tips for a LAMP (Linux/apache/mySQL/PHP) based website. This is a nice round up of various tips seen in many similar articles. It’s a great way to get started if you are getting into performance optimization on this platform, or maybe it’s time to take another look to be sure things are …
[Read more][…] For more info, check http://insidemysql.com/announcing-new-yum-repositories-for-mysql/ […]
Recently I wrote about one advantage of MySQL statement-based
replication. In the comments of that post Andrew Moore
pointed out that I can set
slave_exec_mode=IDEMPOTENT on my replicas in order
to get similar behavior in row-based replication. Thanks Andrew!
Now I'm going to highlight an advantage of row-based replication in MySQL. Again this is not one of the advantages documented in the manual, but it's one that I think is important.
Here it is:
- Row-based replication does not write to the binary log if you execute a statement that doesn't change any data.
- Statement-based replication writes all successful inserts, updates, and deletes to the binary log …
The MariaDB project is pleased to announce the immediate availability of MariaDB 10.0.6. This is a Beta release. See the Release Notes and Changelog for detailed information on this release and the What is MariaDB 10.0? page in the AskMonty Knowledgebase for general information about the MariaDB 10.0 series.
[Read more]Reading Ernie’s post today inspired me to write about something I’ve been wanting to write about for a while: how much of a performance impact you should expect from network latency.
Hypothetical Numbers
I’m going to throw out some web-application ‘back of the envelope’ numbers which I will then use for examples:
- The goal is to generate a page within 200-500ms.
- Network latency between the application server and DB server is 0.5-1ms.
There will be use-cases which have goals far more agressive than this, for example advertising server goals are closer to 50ms. I have also seen network latency well below 1ms. I encourage commenters to correct me where they disagree ;)
Analysis
So if we say that a typical web page …
[Read more]