Posts

Amazon RDS Added Support for Second Generation Standard Instances

Image
Amazon Web Services announced General Availability of second-gen Standard instances (M3) in Amazon RDS, making RDS even better with almost 50% more computing power thanks to new hardware architecture (Intel Xeon E5-2670 CPU) and about 6% lower cost. In my previous post I wrote how did I upgrade db.m1.large to 1000IOPS which resulted single-digit ms MySQL read latency  - that was pretty nice surprise. This time I've decided to take advantage of faster CPU and lower cost offered by db.m3.large instance type. I was pretty aware that m3.large instance type is not EBS optimized (only db.m3.xlarge and above is) and was ready for performance drop, luckily it never happened - charts read the same except CPU load which seems to have dropped ~ 10%. Because I had multi-AZ RDS setup, the failover took ~ 30 seconds and upgrade was completed in 8 minutes. Nice. Amazon RDS Dashboard My recommendation is to upgrade your db.m1 instance type to db.m3 as soon as you can - not only you will ...

Reason to Upgrade Your RDS MySQL instance to Provisioned IOPS

Image
High-performance, provisioned IOPS storage was available in Amazon RDS for more than a year ago, as you can read from AWS article published on 9/25/2012. Recently our MySQL database has grown and contains more than 200 databases, with some of them containing millions of rows (and growing rapidly). Our Multi-AZ RDS instance is db.m1.large which provides pretty decent performance even when it is not EBS optimized. Squeezing more performance was one of my goals when decided to take the road to enable IOPS. You can start from 1000 IOPS with 1000 IOPS increments. I decided to go with 1000 for a start. Process for upgrading Multi-AZ instance is far from complicated - after making your selections through the dashboard UI and deciding to apply changes immediately, instance performs automated fail-over which minimizes the downtime for merely minute or so until DNS reacts to changes. Total upgrade took about 5 hours but system was never down and I did not notice any slowness. Once done, ...

Use 16GB SSD for Swap on Amazon Linux c3.large Instance

Image
Amazon announced new generation C3 instance types , which are compute optimized instances, available in 5 sizes: c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge and c3.8xlarge with 2, 4, 8, 16 and 32 vCPUs respectively. C3 instances will provide you with the highest performance processors and the lowest price/compute performance compared to all other Amazon EC2 instances. C3 instances also feature Enhanced Networking and SSD-based instance storage . For C3 Instances, each vCPU is a hardware hyperthread from 2.8 GHz Intel Xeon E5-2680v2 (Ivy Bridge) processors. Setting up c3.large instance with SSDs When setting up instance, make sure you add both Instance Store volumes. Its up to you how you like to set up your root storage, For this example I opted for 16GB, 480 provisioned IOPS (you need to maintain 30:1 ratio): Testing the SSD speed Once set up and server launched, we can use 2nd 16GB SSD (mounted on /dev/sdc) for swap on new Amazon Linux instance c3.large # Tes...

HowTo: MongoDB Tailable Cursors in Node.js

Image
MongoDB capped collections are great storing volatile information, like access and debug logs. If you need to monitor regular log file, you would probably type something like this in your command line: tail -f /var/log/access_log . Cool thing is that you can do the same with MongoDB capped collections : Capped collections are fixed-size collections that support high-throughput operations that insert, retrieve, and delete documents based on insertion order. Capped collections work in a way similar to circular buffers: once a collection fills its allocated space, it makes room for new documents by overwriting the oldest documents in the collection. Creating a capped collection is easy; so lets create capped collection named log and size of 16MB (the maximum size of BSON object if you did not know): mongo localhost/test > db.createCollection( "log", { capped: true, size: 16777216 } ) Capped collections act like any other collections, but they work in first-in-first-ou...

Elastic Load Balancing Supports Cross-Zone Load Balancing

Image
Amazon Web Services announced cross-zone load balancer, which supposed to further improve distribution of requests amongst all the instances behind the load balancer. If you enable cross-zone load balancing, you no longer have to worry that clients caching DNS information will result in requests being distributed unevenly, resulting more even load. I went ahead and tried it out myself. Enabling the Cross-Zone Load Balancing goes through the command line, you need to download and configure the tool on your computer before proceeding. Read the instructions how to download, install and configure ELB command line tools here . List all the load balancers: elb-describe-lbs Enable the cross-zone load balancing elb-modify-lb-attributes loadbalancer-id --crosszoneloadbalancing "enabled=true" Verifying: elb-describe-lb-attributes  loadbalancer-id  --headers CROSS_ZONE_LOADBALANCING  CROSS_ZONE_LOADBALANCING_ATTRIBUTE_VALUE CROSS_ZONE_LOADBALANCING  true ...

MongoDB Certified DBA

Image
MongoDB University Offers Comprehensive Exams Worldwide NEW YORK, NY- Nov 6, 2013 - I am very glad to announce that I have earned certification as a MongoDB Certified DBA, Associate Level .  About a month ago, I was offered to try out MongoDB Certified DBA exam as part of a pilot project, invitations only. Before that, I successfully passed both M101 and M102P courses (well that was almost a year ago).  Invitations were sent to a selected group only, and only 150 first were given a chance to try that exam. It was thrilling to receive congratulating email in my inbox today, saying that I have successfully passed this quite difficult exam. Certificate number is 100-000-011 which indicates me being 11th in the world getting this (links to verify will be available little bit later). According to The 451 Group's analysis of LinkedIn® member profiles, MongoDB is the most popular NoSQL database and now accounts for 49 percent of all mentions of NoSQL technologies. The ...

AWS OpsWorks - New Resources Tab

Image
AWS OpsWorks updated quietly their back-end today, and introduced new tab called Resources . Most interestingly, I had to update the IP address of one of our client servers because of migration from non-opsworks managed servers to new, OpsWorks managed server. And surprise - there was new tab! What you can do within the Resources tab? Register available volumes to existing stack Assign elastic IP to a different instance (even in different stack) Registering volumes You can find available volume and register volume to a Stack. Then, you can assign the volume to stopped instance, as seen on screen shot. You can change name and mounting point, if needed. Reassigning elastic IPs In my case, I had a server running with elastic IP assigned to it, and I did not want to go in and change A record because it would take too much time and it would probably upset client if DNS update may take up to 72 hours around the globe. Therefore, decided to point elastic IP to n...