TAG | Oracle
Both MariaDB and Percona Server are forks of MySQL and strive to be drop in replacements for MySQL from a binary, api compatibility, and command line perspective.
It’s great to have an alternative to MySQL since you never know what might happen to it given that Oracle bought it for 1 billion dollars. In this blog post I set out to see if these MySQL forks would work 100% with AppDynamics for Databases. If you’re not familiar with the AppDynamics for Databases product I suggest you take a few minutes to read this other blog post.
Getting both MariaDB and Percona Server installed onto test instances was pretty simple. I chose to use 2 Red Hat Enterprise Linux (RHEL) servers running on Amazon Web Services (AWS) for no particular reason other than they were quick and easy to get running. My first step was to make sure that MySQL was gone from my RHEL servers by running “yum remove mysql-server”.
Installing both MariaDB and Percona Server consisted of setting up yum repository files (documented here and here) and running the yum installation commands. This took care of getting the binaries installed so the rest of the process was related to starting and configuring the individual database servers.
The startup command for both MariaDB and Percona Server is “/etc/init.d/mysql start” so you can see that these products really do strive for direct drop in adherence to MySQL. As you can see in the screen grabs below I ended up running MariaDB 10.0.3 and Percona Server 5.5.31-30.3.
Connected to each of these databases were 1 instance of WordPress and 1 instance of Drupal in a nearly “out of the box” configuration besides adding a couple of new posts to each CMS to help drive a small amount of load. I didn’t want to set up a load testing tool so I induced a high disk I/O load on each server by running the UNIX command “cat /dev/zero > /tmp/zerofile”. This command pumps the number 0 into that file as fast as it can basically crushing the disk. (Use Ctrl-C to kill this command before you fill up your disk.)
Getting the monitoring set up was really easy. I used a test instance of AppDynamics for Databases to remotely monitor each database instance (yep, no agent install required). To initiate monitoring I opened up my AppDynamics for Databases console, navigated to the agent manager, clicked the “add agent” button, and filled in the fields as shown below (I selected MySQL as the database type):
My remote agent didn’t connect the first time I tired this because I forgot to configure iptables to let my connection through even though I had set up my AWS firewall rules properly (facepalm). After getting iptables out of the way (I just turned it off since these were test instances) my database monitoring connections came to life and I was off and running.
Taking a look at all of the data pouring into AppDynamics for Databases I can see that it is 100% compatible with MariaDB and Percona Server. There are no errors being thrown and the data is everything that it should be.
The beauty of my induced disk I/O load was that just by clicking around the web interface of WordPress and Drupal I was getting slow response times. That always makes data more interesting to look at. So here are some screen grabs for each database type for you to check out…
If you’re currently running MySQL you might want to check out MariaDB and Percona Server. It’s possible that you might see some performance improvements since the storage engine for MariaDB and Percona is XtraDB as opposed to MySQL’s InnoDB. Having choices in technology is a great thing. Having a unified monitoring platform for your MySQL, MariaDB, Percona Server, Oracle, SQL Server, Sybase, IBM DB2, and PostgreSQL database is even better. Click here to get started with your free trial of AppDynamics for Databases today.Link to this post:
Relational databases are still an important application component even in today’s modern application architectures. There is usually at least one relational database lurking somewhere within the overall application flow and understanding the behavior of these databases is major factor in rapidly troubleshooting application problems. In 2009, Amazon launched their RDS service which basically allows anyone to spin up a MySQL, Oracle, or MS-SQL instance whenever the urge strikes.
While this service is amazingly useful there are also some drawbacks:
- You cannot login and access the underlying OS of your database instance. This means that you can’t use any agent based monitoring tools to get the visibility you really want.
- The provided CloudWatch monitoring metrics are high level statistics and not helpful in troubleshooting SQL issues.
The good news is that you can monitor all of your Amazon RDS instances using AppDynamics for Databases (AppD4DB) and in this article I will show you how. If you’re unfamiliar with AppD4DB click here for an introduction.
Setting Up A Database Instance In RDS
Creating a new database instance in RDS is really simple.
Step 1, login to your Amazon AWS account and open the RDS interface.
Step 2, Initiate the “Launch a DB Instance” workflow.
Step 3, select the type of instance you want to launch. In this case we will use MySQL but I did test Oracle and MS-SQL too.
Step 4, fill in the appropriate instance details. Pay attention to the master user name and password as we will use those later when we create our monitoring configuration (although we could create a new user only for monitoring if we want).
Step 5, finish the RDS workflow. Notice I called the database “wordpress” as I will use it to host a WordPress instance. Also notice that we chose to use the “default” DB security group. You will need to access the security group settings after your new instance is created so that you allow access to the database from the internet. For the sake of testing I opened up my database to 0.0.0.0/0 (not shown in this workflow) which allows the entire internet to connect to my database if they have the credentials. You should be much more selective if you have a real database instance with production applications connected.
Step 6, wait for your instance to be created and watch for the “available” status. When you click on the database instance row you will see the details populate in the “Description” tab below. We will use the “Endpoint” information to connect AppD4DB to our new instance. (At this point you can also build the database structure and connect your application to your running instance.)
Monitor Your Database With AppD4DB
Step 1, enable database monitoring from the “Agent Manager” tab in AppD4DB. Notice we map RDS “Endpoint” to AppD4DB “Hostname or IP Address” and in this case we are using the RDS “Master Username” and “Master Password” for “Username” and “Password” in AppD4DB. Also, since Amazon does not allow any access to the associated OS (via SSH or any other method) we cannot enable OS monitoring.
Step 2, start your new database monitoring and use your application. Here is a screen grab showing a couple of slow SQL queries.
So here is what I found for each type of database offered by Amazon RDS.
- MySQL: Fully functional database monitoring.
- Oracle: Fully functional database monitoring.
- MS-SQL: All database monitoring functionality works except for File I/O Statistics. This means that we are 99% functional and capture everything else as expected including the ability to show SQL execution plans.
Amazon RDS makes it fast and easy to stand up MySQL, MS-SQL and Oracle databases. AppDynamics for Databases makes it fast and easy to monitor your RDS databases at the level required to solve your application and database problems. Sounds like a perfect match to me. Sign up for your free trial of AppD4DB and see for yourself today.Link to this post:
It’s been almost two years since I joined AppDynamics and it’s been one of the best career moves I’ve ever made. I used to work at a competitor, and quickly realized I was working for the wrong company. Sometimes you just have to trust your gut feeling when it comes to technology–you’ve either got a product that’s special or you don’t, and I know what it’s like to experience both feelings.
At AppDynamics the technology is definitely special, but I also joined a group of like-minded people who shared the same passion as I did for application monitoring. The no-compromise approach to figuring out new ways of doing things that couldn’t be done previously, along with a laser-focus on solving real world problems for customers, is pretty inspiring. Things are never perfect at any company but the passion to make our customers successful, and the will to win business professionally, is unique at AppDynamics. We really believe that enterprise software doesn’t have to suck, it should never be shelfware, and it should be affordable by everyone–which is one of the reasons why we created a free product AppDynamics Lite that now has over 100,000 users and our commercial product AppDynamics Pro is reasonably priced.
In just two years we’ve disrupted an application monitoring market that was previously dominated by expensive complex solutions that quite frankly sucked. This disruption was one of the reasons why Gartner recognized AppDynamics as a Leader in their 2012 APM Magic Quadrant, and we’ve only been selling our product for two years! This speaks volumes for what we’ve achieved in such a short period of time. What’s also great is that our customers are very vocal about their success; our case study page is packed with customer success stories, with several customers willing to publish actual ROI results from their AppDynamics deployments. How many real customer ROI stories have you read recently from any vendor? My guess is not many.
One online community that provides an accurate inside look at companies is Glassdoor.com. It basically lets employees rate different aspects of the company they work for, from compensation all the way through to culture and leadership. If you search for all the APM companies on Glassdoor.com that are currently recognized in the Gartner’s APM Magic Quadrant, here is what the top 10 looks like:
*Glassdoor ratings correct as of 1/10/2013
I’m pretty proud to work for a company where employees are very satisfied and give their CEO 100% approval. That says a lot about the success and leadership of the company–happy employees also means a happy place to work and trust me, this is pretty important when you spend most of your life at work!
One company that didn’t score well was Compuware. Only 38% of employees would recommend a friend and only 68% approve of their CEO. Not particularly encouraging when you need your employees to innovate, run through walls, and beat the competition. A hedge fund recently put an offer on the table to take Compuware private–let’s hope those guys can get the employees jazzed.
If you’re looking for the next challenge, cool technology and a great place to work, you should consider joining AppDynamics. We’ve got 21 positions currently open and we need great people to help scale the great company we’re building!
With customers like Netflix, Orbitz, Fox News, Vodafone and Yahoo you’ll experience the ins and outs of monitoring some of the largest applications in the world.
Oh, and you get to work with a superhero like me!
Appman.Link to this post: