Why would you run your own Postgres instance on EC2 within AWS? That kind of defeats the purpose of paying for AWS. Why not use Postgres RDS or Aurora?<p>It makes some sense with Sql Server and Oracle in a few cases because of licensing but hosting your own Postgres instance on AWS is the worse of both worlds -- you're paying more than with a cheaper VPS and you have to do all of the maintenance yourself and not taking advantage of all of things that AWS provides -- point in time restores, easy cross region read replicas, faster disk io (Aurora), etc.
This is exactly why I wrote the "clockperf" tool during the time I was working at AWS: <a href="https://github.com/tycho/clockperf" rel="nofollow">https://github.com/tycho/clockperf</a><p>At the time, we were trying to benchmark disk I/O for new platforms, but we found that things were underperforming compared to the specifications for the hardware. We figured out that fio was reading the clock before/after each I/O (which isn't really necessary unless you really care about latency measurement) and just by reading the clock we were rate limiting our I/O throughput. By switching to "clocksource=tsc" in our fio config, we managed to get the performance behavior we expected.
Nice article!<p>If you're interested in clocks on Linux, you might also find this article useful (shameless plug): <a href="http://btorpey.github.io/blog/2014/02/18/clock-sources-in-linux/" rel="nofollow">http://btorpey.github.io/blog/2014/02/18/clock-sources-in-li...</a>
here is a link that doesnt have the ssl problem: <a href="http://archive.is/7zVmu#selection-1533.0-1536.0" rel="nofollow">http://archive.is/7zVmu#selection-1533.0-1536.0</a>
an older discussion of this: <a href="https://news.ycombinator.com/item?id=13813079" rel="nofollow">https://news.ycombinator.com/item?id=13813079</a>
<i>And, EC2 does not live migrate VMs across physical hosts. I couldn’t find anything explicit from AWS on this, but it’s something that Google is happy to point out.</i><p>Is it a good idea for a production database to depend on a feature not being used when the vendor hasn't said that they don't or won't use it? They may very well live-migrate when convenient, but just don't expose that functionality to customers since they don't want customers demanding it.