I’ve tried to use Amazon Relational Database Service. Easy to scale-up appeals to me.
Official Getting Started Guide is very good. I almost followed this document.
Works on Mac OSX 10.5.8.
% rds-create-db-instance --db-instance-identifier myinstance --allocated-storage 5 --db-instance-class db.m1.small --engine MySQL5.1 --master-username mymasteruser --master-user-password **** --db-name MyDatabase --headers
It takes several minutes.
% rds-describe-db-instances --headers
Unable to find a $JAVA_HOME at "/usr/", continuing with system-provided Java...
Unable to find a $JAVA_HOME at "/usr/", continuing with system-provided Java...
DBINSTANCE DBInstanceId Class Engine Storage Master Username Status AZ Backup Retention
DBINSTANCE myinstance db.m1.small mysql5.1 5 mymasteruser creating us-east-1d 1
SECGROUP Name Status
SECGROUP default active
PARAMGRP Group Name Apply Status PARAMGRP default.mysql5.1 in-sync
% rds-describe-db-instances --headers
Unable to find a $JAVA_HOME at "/usr/", continuing with system-provided Java...
Unable to find a $JAVA_HOME at "/usr/", continuing with system-provided Java...
DBINSTANCE DBInstanceId Created Class Engine Storage Master Username Status Endpoint Address Port AZ Backup Retention
DBINSTANCE myinstance 2009-10-30T07:01:42.163Z db.m1.small mysql5.1 5 mymasteruser available myinstance.cpxpgflqvl3w.us-east-1.rds.amazonaws.com 3306 us-east-1d 1
SECGROUP Name Status
SECGROUP default active
PARAMGRP Group Name Apply Status
PARAMGRP default.mysql5.1 in-sync
There is an error about $JAVA_HOME, but it works.
% rds-authorize-db-security-group-ingress default --ec2-security-group-name mytestgroup --ec2-security-group-owner-id 69145810****
You can see ec2-security-group-name (Security Groups) and ec2-security-group-owner-id (Owner) on AWS Management Console for EC2.
Login to EC2 server, then:
# mysql -h myinstance.cpxpgflqvl3w.us-east-1.rds.amazonaws.com -P 3306 -u mymasteruser -p
Create snapshot, and delete.
% rds-create-db-snapshot myinstance --db-snapshot-identifier myinstance-snapshot % rds-delete-db-instance myinstance --skip-final-snapshot true --headers
It takes a couple of minutes.
Restore.
% rds-restore-db-instance-from-db-snapshot myinstance2 --db-snapshot-identifier myinstance-snapshot
Modify instance size (scale-up).
% rds-modify-db-instance myinstance --db-instance-class db.m1.large --apply-immediately
small to large takes about 5 minutes. (mysqldumped-size is 700MB)
similar post:
tpcc-mysql rough benchmark for Amazon RDS



tpcc-mysql rough benchmark for Amazon RDS
I tried to do tpcc-mysql benchmark for Amazon RDS. Before do that, did the same test for EC2 small instance.
From EC2 small instance to small. Fedora8 and MySQL 5.0.45. Default configuration. (no change for a my.cnf; innodb_buffer_pool_size = 8388608)
Changed to innodb_buffer_pool_size = 1336934400. (same as RDS small instance) Drop database, and restore. Then,
From EC2 small instance to RDS small instance. (MySQL 5.1.38)
There will be an error "server phrase is too long". Use IP address.
This is a pretty rough benchmark, but I can say EC2 small instance and RDS small instance have the same performances as CPU and memory are the same spec. RDS is about 30% expensive. (EC2=$0.085, RDS=$0.11/h)
ref) tpcc-mysqlによるMySQLのベンチマーク