Golang is awesome. My 1st Language back in 1994 was C. Then the
following year my Computer Science Dept. switched from C/Pascal
to C++. I even like C++ but I like C more mainly because of
nostalgia.
Enter Go. The Syntax for me is a mix between JSON, and C. I love
it. I've created 3 new servers all doing a ton of TPS. What I
would like to share with you is some GO code to that handels
websockets
If you are building a server using websockets, over secure TCP
your browser behaves slightly differently than a client side
application using a websocket library. Specifically when working
with wss (secure websockets) across domains.
Its up to the client to respect Origin, so a client implementing
a websocket doesn't have to set the Origin Header, but your
browser does. This is done on purpose and its a good thing. To
get websockets to work over secure sockets, let's make our
assumptions consistent and do …
A few days ago Percona benchmarked our agents’ performance overhead in two extreme deployment scenarios. We engaged Percona to do this (on a paid basis) because of their sterling reputation for independent, objective third-party evaluations.
Background
As you may know, I worked at Percona for nearly five years and participated in many of these paid evaluations myself. There is no one more highly qualified to evaluate a product’s performance than Vadim Tkachenko at Percona. I know because I worked closely with him to evaluate products including Clustrix and others.
Vadim and I corresponded and planned the evaluation over a series of many months, and Vadim ran and re-ran benchmarks until we agreed it met our mutual standards.
At this point Vadim wrote a blog post, which you can find linked above. Prior to …
[Read more]Today, our team is glad to announce the release of the new version of Devart's data generator tool – dbForge Data Generator for MySQL v1.5!
My job is almost completely reliant upon my ability to perform work in lab of virtual machines. Almost every action plan I write is tested locally. When I need to troubleshoot an issue for a client one of the most common first steps I’ll perform is attempting to recreate the issue in a virtual environment so I can work on it there without the risk of impacting client data.
I believe that having a place to test and grow your skills is an absolute necessity for anyone working in the IT field today regardless of your specialization, even if you’re an IT generalist. But every now and then I hear about individuals who have issues with their virtual machines or with the virtual environment provided by their employer, so I figured this was a good time to share my method of creating a virtual lab. More specifically, one that allows you to do virtual work on a commodity laptop, one that won’t break down if you lose connectivity, one that …
[Read more]What are odds MySQL table can be recovered?
This is the most asked question. Every single customer asks if their MySQL table can be recovered. Although it’s not possible to answer that with 100% confidence there are ways to estimate recovery chances. I will describe few tricks.
Generally speaking, if data is on media there are high odds TwinDB data recovery toolkit can fetch it. Where to look for depends on accident type.
Online MySQL data recovery toolkit
On our Data Recovery portal you can upload an .ibd file and check if the InnoDB tablespace contains any good records. The table space may be corrupt. The tool should handle that.
DROP TABLE or DATABASE with innodb_file_per_table=OFF
If …
[Read more]Here are the slides for my talk at Percona Live Europe in Amsterdam, 2015, for my “Performance Schema and Sys Schema in MySQL 5.7”:
Thanks for all that attended, and the good questions and feedback!
Last week we released MySQL Router into our Labs and we need to provide a few extra details on how to actually use it.
Requirements
- A modern OS which comes with a compiler supporting C++11. For example, Ubuntu 14.04 and later, Oracle Linux 7, OS X 10.10.
…
Long time has passed since the first time ProxySQL was announced
in October 2013 .
A lot of changes happened from that day: ProxySQL was initially
just a prototype, and had many many limitations.
Quickly these limitations became a showstopper for future
development, but that was expected from a simple prototype.
Since then it was completely rewritten, and after almost 2 years
I am glad to announce that ProxySQL is now a proxy with a long
list of features, stable and production ready.
Please join me and attend my session at Percona Live where I will present the new
exciting features of ProxySQL , a High Availability proxy
designed to solve real issues of MySQL setups from small to very
large production environments.
LAMP is short for Linux, Apache, MySQL, PHP. This tutorial shows how you can install an Apache webserver on a Debian 8 (Jessie) server with PHP (mod_php) and MySQL / MariaDB support. A LAMP setup is a perfect basis for CMS systems like Joomla, Wordpress or Drupal.
In a previous blog post, we showed you how to install Kubernetes on CentOS 7. Since then, there’s been a number of changes and we’ve seen the first production-ready release. The “minion” term has been changed to “node” and thousands of bug fixes and new features introduced.
In this blog post, we’re going to play with Kubernetes application clustering and pods. We’ll use Wordpress as the application, with a single MySQL server. We will also have HAProxy and Keepalived to provide simple packet forwarding (for external network) with high availability capability. We assume a Kubernetes master and three Kubernetes nodes are already deployed on CentOS 7 using instructions described in our …
[Read more]