The server-side part of pg:diagnose is a go program I open sourced at https://github.com/heroku/pgdiagnose . It'd be easy enough to run locally for your own stuff, probably.
If you use Rails, there's https://github.com/ankane/pghero . Other frameworks / languages have equivalent projects, but I haven't used them. But in the end, the data comes from querying special views in database, so it's easy to roll your own if you so desire.
I suspect this is a response to RDS introducing Postgres support last year [0]. I switched to RDS from managed Heroku DBs at that point because there wasn't enough added value from Heroku to justify the abstractions (plus I wanted to have at least part of our infrastructure not bound up in a single vendor).
But these automatic profiling and diagnose features look great, and it can be a headache to find problematic queries in my RDS instance even with tools like NewRelic. I may yet regret moving...
I'm pretty sure they actually dropped the price for the second cheapest production db. If I recall correctly, it used to go from $50 to $200, now it goes to $150.
As much as I like this tooling and the features that Heroku offers it disturbs me that I have to pay $15,000 a month to get more than 99% uptime SLA.
To me it is unacceptable to see "max 1 hour downtime" and "max 15 minutes downtime" on plans that cost way more than running your own database on cloud instances from other providers.
For reference on AWS I'm running two m3.xlarge instances in an automated failover database cluster that so far has >99.95% uptime for the past year, and it only costs about $400 a month.
Meanwhile to get automated failover and a database equivalent to an m3.xlarge you have to pay $1,200 a month on Heroku, and that could still reach 15 minutes of downtime per month.
Heroku needs to open source the testing (UPDATE: and data) it has used to claim 3X performance.
Adding a single graph for a $2000/mo DB, only performing read only transactions at 30% of its connection limit doesn't sound like putting the DB through its paces, and not real world.
> Heroku needs to open source the testing it has used to claim 3X performance.
The bottom of the bar chart says: Database performance was measured using pg bench with 150 concurrent clients performing read-only transactions.
pgbench[1] is a performance benchmarking tool that is part of PostgreSQL itself. It ships alongside the rest of the PostgreSQL binaries and is open source just like the rest of PostgreSQL.
I think this line from the article is interesting:
> In addition to Heroku Postgres DbX we are launching new database plans with double the memory and speed improvements of up to 3x at the same price as our current plan lineup. These plans feature an upgraded and re-engineered infrastructure to drastically improve their memory and speed.
I wonder if the bulk of the price/performance gains are from switching to newer instance types on AWS and/or switching the underlying storage from magnetic disks to the new SSD EBS volumes[2].
12 comments
[ 0.34 ms ] story [ 44.7 ms ] threadIf you use Rails, there's https://github.com/ankane/pghero . Other frameworks / languages have equivalent projects, but I haven't used them. But in the end, the data comes from querying special views in database, so it's easy to roll your own if you so desire.
But these automatic profiling and diagnose features look great, and it can be a headache to find problematic queries in my RDS instance even with tools like NewRelic. I may yet regret moving...
[0] http://aws.amazon.com/blogs/aws/rds-postgres-sla/
To me it is unacceptable to see "max 1 hour downtime" and "max 15 minutes downtime" on plans that cost way more than running your own database on cloud instances from other providers.
For reference on AWS I'm running two m3.xlarge instances in an automated failover database cluster that so far has >99.95% uptime for the past year, and it only costs about $400 a month.
Meanwhile to get automated failover and a database equivalent to an m3.xlarge you have to pay $1,200 a month on Heroku, and that could still reach 15 minutes of downtime per month.
The main reason is price: Former providers are 3x cheaper to host side project. I don't make money out of it and it's getting too expensive.
AWS gives 20k to startups which is enough to take pain of maintenance/devops.
I'd be happy if I got 2 dynos for half the price for 2 years.
Adding a single graph for a $2000/mo DB, only performing read only transactions at 30% of its connection limit doesn't sound like putting the DB through its paces, and not real world.
The bottom of the bar chart says: Database performance was measured using pg bench with 150 concurrent clients performing read-only transactions.
pgbench[1] is a performance benchmarking tool that is part of PostgreSQL itself. It ships alongside the rest of the PostgreSQL binaries and is open source just like the rest of PostgreSQL.
I think this line from the article is interesting:
> In addition to Heroku Postgres DbX we are launching new database plans with double the memory and speed improvements of up to 3x at the same price as our current plan lineup. These plans feature an upgraded and re-engineered infrastructure to drastically improve their memory and speed.
I wonder if the bulk of the price/performance gains are from switching to newer instance types on AWS and/or switching the underlying storage from magnetic disks to the new SSD EBS volumes[2].
[1]: http://www.postgresql.org/docs/devel/static/pgbench.html
[2]: http://aws.amazon.com/about-aws/whats-new/2014/06/16/introdu...