{"id":606,"date":"2016-05-19T07:15:14","date_gmt":"2016-05-19T12:15:14","guid":{"rendered":"http:\/\/blog.tiingo.com\/?p=273"},"modified":"2026-07-22T14:18:31","modified_gmt":"2026-07-22T18:18:31","slug":"switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds","status":"publish","type":"post","link":"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/","title":{"rendered":"AWS vs Packet.net: Why We Left AWS &#038; Benchmarking AWS&#8217;s Network, Disk, and CPU Performance"},"content":{"rendered":"<p>If this sounds like a glowing review of <a href=\"https:\/\/www.packet.net\" target=\"_blank\" rel=\"noopener noreferrer\">Packet.net<\/a> &#8211; it is. I found myself re-reading this post over and over, trying to make it sound less shrilly &#8211; but I can&#8217;t. It&#8217;s just a ridiculously good product and value &#8211; EC2 containers just don&#8217;t make sense anymore.<\/p>\n<p>A friend once told me, &#8220;Rishi &#8211; sometimes if you don&#8217;t advocate\u00a0a product aggressively &#8211; you can be doing society a disservice in your attempt to be neutral. If the value is so good, you\u00a0<em>must<\/em> tell everybody about it.&#8221;<\/p>\n<p>This is one of those times.<\/p>\n<p><b>EDIT:<\/b>\u00a0Feeling really grateful the HackerNews community decided to link to Tiingo a second time. In the first HackerNews posting many of you asked for an API, which is what led to me finding the AWS bottleneck. The API launched [quietly] this week at:\u00a0<a href=\"https:\/\/api.tiingo.com\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/api.tiingo.com<\/a> where Tiingo is now the first company to bring IEX (anti-HFT exchange\/darkpool) data to mainstream Financial Tech firms. Kind of went full-circle as this post wouldn&#8217;t have existed without the <a href=\"https:\/\/news.ycombinator.com\/item?id=10762913\" target=\"_blank\" rel=\"noopener noreferrer\">original HN coverage<\/a>.<\/p>\n<div class=\"tldr\">\n<h2><strong>TL;DR:<\/strong><\/h2>\n<p>The performance of AWS on network speed, disk speed, and CPU performance are quantitatively just &#8220;not good,&#8221; for what we needed. When we introduced real-time market data, we were in search of our bottleneck and realized it was AWS. We made the decision to switch to <a href=\"https:\/\/www.packet.net\" target=\"_blank\" rel=\"noopener noreferrer\">Packet.net<\/a>\u00a0and the below reflects on our decision and explains why.\u00a0The benchmarks continue to reaffirm our decision.\u00a0Having said all of this, certain features of AWS\u00a0remain incredibly convenient like S3, Cloudfront, and Route53 &#8211; but we can&#8217;t justify\u00a0using EC2.<\/p>\n<p><strong>In Networking<\/strong>: Packet is\u00a0<em>significantly faster,<\/em> more stable,\u00a0and 15%-44% cheaper<\/p>\n<p><strong>In Disk Usage<\/strong>: Packet is more performant and 92% cheaper<\/p>\n<p><strong>In CPU:<\/strong> Packet is 30-40% more performant and 15% cheaper<\/p>\n<p><strong>In machines:<\/strong> Packet&#8217;s systems are all bare-metal\/dedicated, whereas AWS charges extra\u00a0for dedicated machines<\/p>\n<\/div>\n<p>If you&#8217;ve noticed Tiingo being particularly snappy these days, it&#8217;s because I couldn&#8217;t stand it anymore. I had tried everything &#8211; buying more expensive instances on AWS, allocating more space, scaling horizontally, but it wasn&#8217;t matching up to my local dev machines. And so I started searching for the bottleneck &#8211; only to realize it was AWS.<\/p>\n<p>I started researching AWS, I found I wasn&#8217;t alone. Many people experienced what I had but I tried prolonging the switch. Trying to change cloud service providers is \u00a0frustrating: scripts break, performance temporarily suffers, you experience downtime, and you know there will be unknown-unknowns.<\/p>\n<p>Recently we just got real-time market data and this exacerbated the issues. Our websockets were being overwhelmed in queues and throwing more nodes at the problem was becoming expensive. We were\u00a0trying to put a bandaid over a burst pipe. I\u00a0finally decided on<a href=\"https:\/\/www.packet.net\">\u00a0Packet.net<\/a>\u00a0and I want to share the reasons why. I&#8217;ve included\u00a0benchmarking results to help emphasize the point.<\/p>\n<p>Our search was motivated by\u00a0<strong>two<\/strong> major reasons:<\/p>\n<ol>\n<li>The costs were getting out-of-hand<\/li>\n<li>After reading the below Reddit post on AWS&#8217;s [lack of] network stability, we started asking around and realized the experts were right&#8230; AWS&#8217;s network is slow. If we are\u00a0going to give our users real-time data directly from the exchanges, that&#8217;s a heck-of-a-lot of data and we need it to be as fast as possible.<\/li>\n<\/ol>\n<p>The\u00a0Reddit\/Blog Post was from an engineer at Stack Overflow.<\/p>\n<p><a href=\"http:\/\/nickcraver.com\/blog\/2016\/02\/17\/stack-overflow-the-architecture-2016-edition\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/nickcraver.com\/blog\/2016\/02\/17\/stack-overflow-the-architecture-2016-edition\/<\/a>.<\/p>\n<p>More specifically, this Reddit comment on AWS&#8217;s network stability that seemed echo&#8217;d by many:<\/p>\n<figure id=\"attachment_274\" aria-describedby=\"caption-attachment-274\" style=\"width: 649px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/redditcomment.png\" target=\"_blank\" rel=\"https:\/\/www.reddit.com\/comments\/468p2m noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-274\" src=\"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/redditcomment.png\" alt=\"Reddit Comment Inspiring Inquisition\" width=\"649\" height=\"316\" \/><\/a><figcaption id=\"caption-attachment-274\" class=\"wp-caption-text\"><a href=\"https:\/\/www.reddit.com\/comments\/468p2m\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/www.reddit.com\/comments\/468p2m<\/a><\/figcaption><\/figure>\n<p>We explored options like <a href=\"https:\/\/www.digitalocean.com\/pricing\/\">DigitalOcean<\/a>, but Tiingo, like all financial data\/analytics companies, is very data heavy and their plans didn&#8217;t allow for flexible data storage (EBS on Amazon for example). We looked into Rackspace and Azure, but the cost differentials didn&#8217;t make it seem worth the transition. Admittedly, having used Rackspace in the past &#8211; I&#8217;ve always loved their customer support and was personally disappointed I couldn&#8217;t justify the cost.<\/p>\n<p>Eventually I came across Packet and spoke to their engineers since I hadn&#8217;t heard of them before.<\/p>\n<p>I took a chance. It paid off.<\/p>\n<p>I told them my concerns and what I was trying to solve (market data connectivity and high data transfer rates). One of the co-founders, who was a networking engineer,\u00a0<em>personally<\/em> oversaw my connectivity project to the data exchanges. I&#8217;m pretty sure this was Paul Graham 101 on start-ups and customer service.<\/p>\n<p>Ultimately though &#8211; I&#8217;m a data nut and so I decided to benchmark AWS vs Packet and was really curious about the Reddit comments on AWS&#8217;s network stability. The benchmarks closed the deal for us. It was a no-brainer. Part of the major reason being that Packet.net is bare metal (dedicated physical machines) whereas AWS tends to be focused on virtual machines. The hardware\/pricepoint is actually even cheaper on Packet. We are paying 1\/3rd of what it would cost to get a similar, less performant, system on AWS.<\/p>\n<p>SO here you have it!<\/p>\n<p>The tests below compare AWS vs Packet for disk, network, and CPU benchmarking &#8211; and also cost.<\/p>\n<p>I&#8217;ve outlined and commented the results below so you can reproduce the tests.<\/p>\n<h2>Hardware<\/h2>\n<p>Since we are testing Packet vs AWS, we started off with the Packet hardware and found the AWS price equivalent. We started with the Type 1 and worked backwards to find the equivalent in performance\/price on AWS.<\/p>\n<p>Note: For the network test, we also test a smaller machine. The reason for the lighter hardware is for load balancing (HAProxy in this sense). If all of the back-end servers can have high network throughput, but we need to send it to the end-user, the load-balancer&#8217;s networking performance will be the determining factor. This is especially important in cases like real-time data.<\/p>\n<p><strong>Packet:<\/strong><\/p>\n<table>\n<thead>\n<tr>\n<th>Instance Name<\/th>\n<th>CPU<\/th>\n<th>Memory\/RAM<\/th>\n<th>Price<\/th>\n<th>Price\/Month<\/th>\n<th>Notes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Type 1 (Server)<\/td>\n<td>(4 core, 8-threaded) \u00a03.4ghz Intel Xeon E3-1240 v3<\/td>\n<td>32gb<\/td>\n<td>$0.40\/hr<\/p>\n<p>$0.37\/hr\u00a0if reserved for 1 month<\/td>\n<td>$292.80\/month<\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td>Type 0 (Load Balancer)<\/td>\n<td>(4 core) 2.4ghz Intel Atom C2550<\/td>\n<td>8gb<\/td>\n<td>$0.05\/hr<\/p>\n<p>$0.0459\/hr\u00a0if reserved for 1 month<\/td>\n<td>$36.60\/month<\/td>\n<td>What somebody may choose as their load balancer<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"note\">*Note:We assume 732 hours in a month; but if you reserve a Packet instance for a month, they will only charge you 672 hours per month. However, to make apples-to-apples comparisons, all calcs in Price\/Month assume you choose hourly pricing (732 hours for 1 month) to keep things normalized.<\/p>\n<p><strong>AWS:<\/strong><\/p>\n<table>\n<thead>\n<tr>\n<th>Instance Name<\/th>\n<th>CPU<\/th>\n<th>Memory\/RAM<\/th>\n<th>Price<\/th>\n<th>Notes<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>m4.2xlarge (Server)<\/td>\n<td>8 VCPU\u00a0\u00a0(2.4ghz Intel Xeon E5-2676)<\/td>\n<td>32gb<\/td>\n<td>$0.479\/hr<\/td>\n<td>$350.63\/month<\/td>\n<td>xlarge was chosen for it&#8217;s optimized network performance<\/td>\n<\/tr>\n<tr>\n<td>t2.medium (Load Balancer)<\/td>\n<td>2 VCPU \u00a0(Xeon processors burstable to 3.3ghz)<\/td>\n<td>4gb<\/td>\n<td>$0.052\/hr<\/td>\n<td>$38.07\/month<\/td>\n<td>What somebody may choose as their load balancer<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>OS<\/strong>:<\/p>\n<p>Ubuntu 14.04 server<\/p>\n<h1>The Benchmarks<\/h1>\n<h2>Network:<\/h2>\n<p>For this test, we used iperf3 as per the AWS documentation<\/p>\n<p>(<a href=\"https:\/\/aws.amazon.com\/premiumsupport\/knowledge-center\/network-throughput-benchmark-linux-ec2\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/aws.amazon.com\/premiumsupport\/knowledge-center\/network-throughput-benchmark-linux-ec2\/<\/a>)<\/p>\n<p>We wanted to simulate a very real-world network configuration for ourselves &#8211; basically what our site looks behind a load balancer. Load balancers tend to require very low processing power, and serve as a network bottleneck to the user.<\/p>\n<p>We are testing:<\/p>\n<ul>\n<li>Internet -&gt; Load-balancer (Haproxy)<\/li>\n<li>Load-balancer (HAProxy) -&gt; Server<\/li>\n<li>Server -&gt; Server<\/li>\n<\/ul>\n<p>The &#8220;Internet&#8221; machine used was an Azure machine. Not perfect, but we figured it was a good 3rd party control.<\/p>\n<p>You can view the detailed methodology in the Appendix below.<\/p>\n<h3>Results:<\/h3>\n<p><strong>Performance:<\/strong><\/p>\n<p>AWS came out incredibly inconsistent &#8211;\u00a0with a high std. deviation and low mean transfer rates. What AWS considered a &#8220;High&#8221; performance network tier, was the least expensive tier on Packet. Why didn&#8217;t we use AWS Elastic-Load-Balancer (ELB)? For our use case with websockets, &#8211; we found ELB to be lacking what we needed. This will be a blog post for a later day.<\/p>\n<figure id=\"attachment_305\" aria-describedby=\"caption-attachment-305\" style=\"width: 988px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/transferspeeds-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-305 \" src=\"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/transferspeeds-1.png\" width=\"988\" height=\"580\" \/><\/a><figcaption id=\"caption-attachment-305\" class=\"wp-caption-text\">Comparing transfer speeds across machines on Packet vs AWS<\/figcaption><\/figure>\n<p>What was particularly interesting was the inconsistency of the lower tier machines. We ran our benchmarks over an hour, and here is what the rates looked like when making requests to-and-from the lower tier (t2.medium) EC2 Instance. This seems consistent with their &#8220;burstable&#8221; instance &#8211; which is great and all&#8230;except Packet&#8217;s lowest tier outperforms it:<\/p>\n<figure id=\"attachment_309\" aria-describedby=\"caption-attachment-309\" style=\"width: 967px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/transferspeeds1hour.png\"><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-309\" src=\"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/transferspeeds1hour.png\" alt=\"AWS's speeds decay significantly over time for the T2.medium instance- making it a poor choice for a load balancer\" width=\"967\" height=\"568\" \/><\/a><figcaption id=\"caption-attachment-309\" class=\"wp-caption-text\">AWS&#8217;s speeds decay significantly over time for the T2.medium instance- making it a poor choice for a load balancer<\/figcaption><\/figure>\n<p><strong>Pricing:<\/strong><\/p>\n<p>The above AWS configuration is $.081\/hour more expensive than Packet and also less performant.<\/p>\n<p>Another consideration is bandwidth costs. AWS charges $0.09\/GB (for the first 10TB) out to the internet. Packet.net charges $0.05\/GB out to the internet. Within the same data centers (availability zones in AWS), both Packet and AWS are free. However, when transferring to a different availability zone, AWS charges $0.02\/GB and Packet.net charges $0.05\/GB.<\/p>\n<p><strong>Conclusion:<\/strong><\/p>\n<p>Packet is the clear winner in this. In both absolute speed and stability. In terms of price, Packet is cheaper by $.081\/hour in the above configuration, or 15% cheaper &#8211; and for the majority of our bandwidth we go external to the internet. In outbound internet traffic, Packet is 44% cheaper.<\/p>\n<h2>Disk:<\/h2>\n<p>Packet offers two storage types: Basic (500 IOPS) and Performance (15,000 IOPS).<\/p>\n<p>We created a\u00a0EBS volume on both Packet &amp; AWS with\u00a0provisioned IOPS of 500 and then 15,000. Then we used sysbench to run an I\/O test (see Appendix below for methodology).<\/p>\n<h3>Results:<\/h3>\n<p><strong>Performance:<\/strong><\/p>\n<p>When getting to the 15k IOPS, we saw a more significant performance differential favoring Packet. At Tiingo we used the performance tier given the amount of data we store and calculate.<\/p>\n<p><a href=\"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/disktransfer.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-317\" src=\"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/disktransfer.png\" alt=\"Disk Trasnfer Rates\" width=\"1369\" height=\"804\" \/><\/a><\/p>\n<p><strong>Price:<\/strong><\/p>\n<p>Provisioning 15,000 IOPS on AWS @ $0.065\/IOPS \u00a0= $975. But wait, that&#8217;s not all! They also charge $0.125\/hour per GB. \u00a0<strong>So a 15k IOPS 500GB HDD on AWS would be $1037.50<\/strong><\/p>\n<p><strong>On Packet it would be 500GB * $0.15 = $75.<\/strong><\/p>\n<p>Doing \u00a0a bit of algebra, the cost for 15k IOPS on AWS would be cost effective if you have &gt;39TB of storage. That&#8217;s right &#8211; Packet is cheaper until you hit 39TB of storage&#8230;.<\/p>\n<p><strong>Conclusion:<\/strong><\/p>\n<p>Packet is literally 92.3% cheaper than AWS for 15k IOPS performance, and Packet is even more performant. It&#8217;s the victor\u00a0in disk performance\u00a0as well.<\/p>\n<h2>CPU:<\/h2>\n<p>CPUs cannot be benchmarked purely on the speed of the processor [clock] alone. \u00a0For these reasons, we ran a sysbench test as well on different threads.<\/p>\n<h3>Results:<\/h3>\n<p><strong>Performance:<\/strong><\/p>\n<p>The results are damning for AWS. On an 8 processor machine, the benchmark ran\u00a0<em>slower<\/em> on 8 cores than 4. I ran this multiple times, double checked to make sure this was an m4.2xlarge. Then I spun up another m4.2xlarge and the results were more in line with what I expected (still slower than Packet).<br \/>\nHowever, I am going to keep the original instance&#8217;s benchmark below to highlight the point of\u00a0<strong>noisy neighbors<\/strong>. With AWS, you can get a shared machine with other neighbors who are processor intensive and reduce your performance. This is what virtualization is. With Packet, you get a dedicated system. What most likely happened was that our original machine had a noisy neighbor.<\/p>\n<p>Here are the results &#8211; you can see at 8 threads Packet performs 4x faster than AWS.<\/p>\n<figure id=\"attachment_319\" aria-describedby=\"caption-attachment-319\" style=\"width: 1369px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/cpucompletion-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-319 size-full\" src=\"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/cpucompletion-1.png\" width=\"1369\" height=\"804\" \/><\/a><figcaption id=\"caption-attachment-319\" class=\"wp-caption-text\">Packet is 4x Faster on This Noisy Neighbor AWS Machine<\/figcaption><\/figure>\n<p>OK OK &#8211; I will show the second instance&#8217;s performance &#8211; even when there are no noisy neighbors.<\/p>\n<figure id=\"attachment_320\" aria-describedby=\"caption-attachment-320\" style=\"width: 1369px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/cpucompletion-second.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-320\" src=\"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/cpucompletion-second.png\" alt=\"Packet is 30-40% faster even with a better AWS instance\" width=\"1369\" height=\"804\" \/><\/a><figcaption id=\"caption-attachment-320\" class=\"wp-caption-text\">Packet is 30-40% faster even with a better AWS instance<\/figcaption><\/figure>\n<p>Even with a non-noisy neighbor machine, Packet is 30-40% faster in processor benchmarks.<\/p>\n<p><strong>EDIT:\u00a0<\/strong>A user asked me to run the benchmark using a compute-optimized EC2 instance. I decided on c4.2xlarge which has 8 threads, but half as much memory (16gb). It cost $0.419\/hour ($0.019\/hr more expensive than a Type1 Packet server). Here are the results (Packet wins again but less drastic of a margin)<\/p>\n<figure id=\"attachment_343\" aria-describedby=\"caption-attachment-343\" style=\"width: 1369px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/cpucompletion-compute-optimized-1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-343 size-full\" src=\"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/cpucompletion-compute-optimized-1.png\" width=\"1369\" height=\"804\" \/><\/a><figcaption id=\"caption-attachment-343\" class=\"wp-caption-text\">Even using AWS Compute-optimized, Packet Type 1 outperforms it<\/figcaption><\/figure>\n<p><strong>Price:<\/strong><\/p>\n<p>On the above setup, Packet is $0.079\/hour cheaper.<\/p>\n<p><strong>Conclusion:<\/strong><\/p>\n<p>There really is no way around it &#8211; the above benchmarks show the issues with virtualization. Even with those issues aside, AWS is slower and more expensive. Packet wins this one again.<\/p>\n<h2>Conclusion<\/h2>\n<p>Even giving AWS the benefit of the doubt, there is no way around it &#8211; Packet is faster and SIGNIFICANTLY cheaper.<\/p>\n<p>Let&#8217;s take a very real-world example of our server set-up:<\/p>\n<p><strong>Packet:<\/strong><\/p>\n<table style=\"height: 252px;\" width=\"925\">\n<thead>\n<tr>\n<th>Instance Name<\/th>\n<th>CPU<\/th>\n<th>Memory\/RAM<\/th>\n<th>Price<\/th>\n<th>Price\/Month<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Type 1 (Server)<\/td>\n<td>(4 core, 8-threaded) \u00a03.4ghz Intel Xeon E3-1240 v3<\/td>\n<td>32gb<\/td>\n<td>$0.40\/hr<\/p>\n<p>$0.37\/hr\u00a0if reserved for 1 month*<\/td>\n<td>$292.80\/month<\/td>\n<\/tr>\n<tr>\n<td>Type 0 (Load Balancer)<\/td>\n<td>(4 core) 2.4ghz Intel Atom C2550<\/td>\n<td>8gb<\/td>\n<td>$0.05\/hr<\/p>\n<p>$0.0459\/hr\u00a0if reserved for 1 month*<\/td>\n<td>$36.60\/month<\/td>\n<\/tr>\n<tr>\n<td>15k IOPS 1TB HDD<\/td>\n<td><\/td>\n<td><\/td>\n<td>$0.15\/GB<\/td>\n<td>$150\/month<\/td>\n<\/tr>\n<tr>\n<td>2TB Outbound Bandwidth<\/td>\n<td><\/td>\n<td><\/td>\n<td>$.05\/GB<\/td>\n<td>$100\/month<\/td>\n<\/tr>\n<tr>\n<td>Total<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td>$579.40\/month<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p class=\"note\">*Note:We assume 732 hours in a month; but if you reserve a Packet instance for a month, they will only charge you 672 hours per month. However, to make apples-to-apples comparisons, all calcs in Price\/Month assume you choose hourly pricing (732 hours for 1 month) to keep things normalized.<\/p>\n<p><strong style=\"line-height: 1.5;\">AWS:<\/strong><\/p>\n<table style=\"height: 252px;\" width=\"925\">\n<thead>\n<tr>\n<th>Instance Name<\/th>\n<th>CPU<\/th>\n<th>Memory\/RAM<\/th>\n<th>Price<\/th>\n<th>Price\/Month<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>m4.2xlarge (Server)<\/td>\n<td>8 VCPU\u00a0\u00a0(2.4ghz Intel Xeon E5-2676)<\/td>\n<td>32gb<\/td>\n<td>$0.479\/hr<\/td>\n<td>$350.63\/month<\/td>\n<\/tr>\n<tr>\n<td>t2.medium (Load Balancer)<\/td>\n<td>2 VCPU \u00a0(Xeon processors burstable to 3.3ghz)<\/td>\n<td>4gb<\/td>\n<td>$0.052\/hr<\/td>\n<td>$38.07\/month<\/td>\n<\/tr>\n<tr>\n<td>15k IOPS 1TB HDD<\/td>\n<td><\/td>\n<td><\/td>\n<td>$0.125\/GB + $0.065\/provisioned IO<\/td>\n<td>$1,100\/month<\/td>\n<\/tr>\n<tr>\n<td>2TB Outbound Bandwidth<\/td>\n<td><\/td>\n<td><\/td>\n<td>$.09\/GB<\/td>\n<td>$184.23\/month<\/td>\n<\/tr>\n<tr>\n<td>Total<\/td>\n<td><\/td>\n<td><\/td>\n<td><\/td>\n<td>$1,838.84\/month<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Packet is literally less than 1\/3rd the price and is more performant than AWS.<\/strong><\/p>\n<p>It&#8217;s allowed us to deploy resources we didn&#8217;t think would be affordable before.<\/p>\n<p>Thank you to everyone @ Packet for making this product possible.<\/p>\n<h3>Further Steps:<\/h3>\n<p>If anybody wants to continue this study, I would love to hear your results. AWS does allow you dedicated machines for extra $, but we didn&#8217;t bother testing them since Packet is already cheaper than their virtual machines.<\/p>\n<h1><\/h1>\n<h1><\/h1>\n<h1>Appendix:<\/h1>\n<h2><\/h2>\n<h2>Methodology:<\/h2>\n<h3>Networking:<\/h3>\n<p><strong>Setting up AWS:<\/strong><\/p>\n<p>We want to make sure we give AWS the best chance. First, we have to make sure enhanced networking is enabled. Running the command:<\/p>\n<pre>modinfo ixgbevf<\/pre>\n<p>Will give us the output, and look for &#8220;version&#8221;. In our instance we have version 2.11.3-k. Amazon recommends we upgrade. For the ubuntu users out there, follow this gist and run the commands:<\/p>\n<p><a href=\"https:\/\/gist.github.com\/vdm\/6af55e1a568de0b61882\" target=\"_blank\" rel=\"noopener noreferrer\">ixgbevf 2.16.1 upgrade for AWS EC2 SR-IOV &#8220;Enhanced Networking&#8221; on Ubuntu 14.04 (Trusty) LTS<\/a><\/p>\n<p>After rebooting run:<\/p>\n<pre>modinfo ixgbevf<\/pre>\n<p>Again to make sure the version now reads: 2.16.1<\/p>\n<p>Let&#8217;s also check via command line to make sure enhanced networking is supported (Ubuntu 14.04):<\/p>\n<pre>sudo apt-get install python-pip\nsudo python pip --upgrade pip\nsudo pip install awscli\n#Note: Create an IAM user and attach the policy: AmazonEC2ReadOnlyAccess\n#Use the security credentials in the configure policy\naws configure\n#after configuring run (replacing instance_id with your instance_id):\naws ec2 describe-instance-attribute --instance-id instance_id --attribute sriovNetSupport<\/pre>\n<p>If you get the output, you&#8217;re good:<\/p>\n<pre>\"SriovNetSupport\": \n{ \n\"Value\": \"simple\" \n},<\/pre>\n<p>Next, we used <strong>iperf3<\/strong> to run the diagnostic scripts and <strong>scrapy bench<\/strong>. iperf3 is a common network benchmarking tool and scrapy is the framework that powers Tiingo&#8217;s scraper farm. We figured Scrapy would be another real-time test to see how things flow.<\/p>\n<p>the iperf3 command was:<\/p>\n<pre>iperf3 -B internal_ip_of_current_machine -c internal_ip_of_iperf_server\u00a0-i 1 -t 3600 -V -p 80 -P 10 --logfile test.txt<\/pre>\n<p>Meaning we ran the tests for one hour (3600 seconds), and with 10 processors in parallel. Also note to set the -B option on Packet machines as it takes advantage of the full bonding algo and increases thoroughput.<\/p>\n<p><strong>Note: make sure to use the internal IP addresses to give the best benefit of doubt \ud83d\ude42<\/strong><\/p>\n<h3>Disk:<\/h3>\n<p>First install\/update sysbench on your Ubuntu machine using the code:<\/p>\n<pre>echo \"deb http:\/\/repo.percona.com\/apt trusty main\" &gt;&gt; \/etc\/apt\/sources.list.d\/percona.list\necho \"deb-src http:\/\/repo.percona.com\/apt trusty main\" &gt;&gt; \/etc\/apt\/sources.list.d\/percona.list\napt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A\napt-get update\napt-get install sysbench<\/pre>\n<p>Then we used the command:<\/p>\n<pre>sysbench --test=fileio --file-total-size=150G --file-test-mode=rndwr --max-time=720 --max-requests=0 --num-threads=8 --file-num=64 --file-io-mode=async --file-extra-flags=direct --file-fsync-freq=0 run<\/pre>\n<p>The file size must be greater than the RAM size for this test to properly work.<\/p>\n<h3>CPU:<\/h3>\n<p>See the above &#8220;Disk&#8221; section to set up sysbench.<\/p>\n<p>We then ran the command below, replacing &#8220;num-threads&#8221; with 1, 4, and 8 respectively<\/p>\n<pre>sysbench --test=cpu --cpu-max-prime=20000 run --num-threads=1<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>If this sounds like a glowing review of Packet.net &#8211; it is. I found myself re-reading this post over and over, trying to make it sound less shrilly &#8211; but I can&#8217;t. It&#8217;s just a ridiculously good product and value &#8211; EC2 containers just don&#8217;t make sense anymore. A friend once told me, &#8220;Rishi &#8211; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":615,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"osom_blocks_metabox":"","inline_featured_image":false,"_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"","footnotes":""},"categories":[6],"tags":[],"class_list":["post-606","post","type-post","status-publish","format-standard","has-post-thumbnail","category-engineering","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.2 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>AWS vs Packet.net: Why We Left AWS &amp; Benchmarking AWS&#039;s Network, Disk, and CPU Performance - Tiingo Blog<\/title>\n<meta name=\"description\" content=\"We compare AWS vs Packet and share the benchmarks that led to this decision. Ultimately we found AWS network and system slow and expensive\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AWS vs Packet.net: Why We Left AWS &amp; Benchmarking AWS&#039;s Network, Disk, and CPU Performance\" \/>\n<meta property=\"og:description\" content=\"We compare AWS vs Packet and share the benchmarks that led to this decision. Ultimately we found AWS network and system slow and expensive\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/\" \/>\n<meta property=\"og:site_name\" content=\"Tiingo Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/tiingofinance\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-19T12:15:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-22T18:18:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/transferspeeds-sm-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"400\" \/>\n\t<meta property=\"og:image:height\" content=\"234\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Rishi S.\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@tiingofinance\" \/>\n<meta name=\"twitter:site\" content=\"@tiingofinance\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Rishi S.\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/\"},\"author\":{\"name\":\"Rishi S.\",\"@id\":\"https:\/\/www.tiingo.com\/blog\/#\/schema\/person\/54fc93e1626ed221a37fcfddb597c3d6\"},\"headline\":\"AWS vs Packet.net: Why We Left AWS &#038; Benchmarking AWS&#8217;s Network, Disk, and CPU Performance\",\"datePublished\":\"2016-05-19T12:15:14+00:00\",\"dateModified\":\"2026-07-22T18:18:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/\"},\"wordCount\":2587,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.tiingo.com\/blog\/#organization\"},\"articleSection\":[\"Engineering\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/\",\"url\":\"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/\",\"name\":\"AWS vs Packet.net: Why We Left AWS & Benchmarking AWS's Network, Disk, and CPU Performance - Tiingo Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.tiingo.com\/blog\/#website\"},\"datePublished\":\"2016-05-19T12:15:14+00:00\",\"dateModified\":\"2026-07-22T18:18:31+00:00\",\"description\":\"We compare AWS vs Packet and share the benchmarks that led to this decision. Ultimately we found AWS network and system slow and expensive\",\"breadcrumb\":{\"@id\":\"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.tiingo.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS vs Packet.net: Why We Left AWS &#038; Benchmarking AWS&#8217;s Network, Disk, and CPU Performance\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.tiingo.com\/blog\/#website\",\"url\":\"https:\/\/www.tiingo.com\/blog\/\",\"name\":\"Tiingo API Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.tiingo.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.tiingo.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.tiingo.com\/blog\/#organization\",\"name\":\"Tiingo.com\",\"url\":\"https:\/\/www.tiingo.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.tiingo.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/api.tiingo.com\/blog\/wp-content\/uploads\/2023\/05\/purple-for-light-bg.svg\",\"contentUrl\":\"https:\/\/api.tiingo.com\/blog\/wp-content\/uploads\/2023\/05\/purple-for-light-bg.svg\",\"width\":\"1024\",\"height\":\"1024\",\"caption\":\"Tiingo.com\"},\"image\":{\"@id\":\"https:\/\/www.tiingo.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/tiingofinance\/\",\"https:\/\/twitter.com\/tiingofinance\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.tiingo.com\/blog\/#\/schema\/person\/54fc93e1626ed221a37fcfddb597c3d6\",\"name\":\"Rishi S.\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.tiingo.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/28ae16ae1fe9df62492ab4b742241b19a6a12395109570074a7b8194c6709ec4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/28ae16ae1fe9df62492ab4b742241b19a6a12395109570074a7b8194c6709ec4?s=96&d=mm&r=g\",\"caption\":\"Rishi S.\"},\"description\":\"Rishi Singh is the CEO of Tiingo.com. A prior algorithmic and quant researcher, Rishi started Tiingo.com to modernize the financial data vertical by focusing on data acquisition, cleansing, aggregation, innovation, and distribution of data.\",\"sameAs\":[\"http:\/\/www.tiingo.com\"],\"url\":\"https:\/\/www.tiingo.com\/blog\/author\/rishi-s\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"AWS vs Packet.net: Why We Left AWS & Benchmarking AWS's Network, Disk, and CPU Performance - Tiingo Blog","description":"We compare AWS vs Packet and share the benchmarks that led to this decision. Ultimately we found AWS network and system slow and expensive","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/","og_locale":"en_US","og_type":"article","og_title":"AWS vs Packet.net: Why We Left AWS & Benchmarking AWS's Network, Disk, and CPU Performance","og_description":"We compare AWS vs Packet and share the benchmarks that led to this decision. Ultimately we found AWS network and system slow and expensive","og_url":"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/","og_site_name":"Tiingo Blog","article_publisher":"https:\/\/www.facebook.com\/tiingofinance\/","article_published_time":"2016-05-19T12:15:14+00:00","article_modified_time":"2026-07-22T18:18:31+00:00","og_image":[{"width":400,"height":234,"url":"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/transferspeeds-sm-1.png","type":"image\/png"}],"author":"Rishi S.","twitter_card":"summary_large_image","twitter_creator":"@tiingofinance","twitter_site":"@tiingofinance","twitter_misc":{"Written by":"Rishi S.","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/#article","isPartOf":{"@id":"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/"},"author":{"name":"Rishi S.","@id":"https:\/\/www.tiingo.com\/blog\/#\/schema\/person\/54fc93e1626ed221a37fcfddb597c3d6"},"headline":"AWS vs Packet.net: Why We Left AWS &#038; Benchmarking AWS&#8217;s Network, Disk, and CPU Performance","datePublished":"2016-05-19T12:15:14+00:00","dateModified":"2026-07-22T18:18:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/"},"wordCount":2587,"commentCount":0,"publisher":{"@id":"https:\/\/www.tiingo.com\/blog\/#organization"},"articleSection":["Engineering"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/","url":"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/","name":"AWS vs Packet.net: Why We Left AWS & Benchmarking AWS's Network, Disk, and CPU Performance - Tiingo Blog","isPartOf":{"@id":"https:\/\/www.tiingo.com\/blog\/#website"},"datePublished":"2016-05-19T12:15:14+00:00","dateModified":"2026-07-22T18:18:31+00:00","description":"We compare AWS vs Packet and share the benchmarks that led to this decision. Ultimately we found AWS network and system slow and expensive","breadcrumb":{"@id":"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.tiingo.com\/blog\/switched-away-aws-packet-net-benchmarking-networking-disk-processing-speeds\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.tiingo.com\/blog\/"},{"@type":"ListItem","position":2,"name":"AWS vs Packet.net: Why We Left AWS &#038; Benchmarking AWS&#8217;s Network, Disk, and CPU Performance"}]},{"@type":"WebSite","@id":"https:\/\/www.tiingo.com\/blog\/#website","url":"https:\/\/www.tiingo.com\/blog\/","name":"Tiingo API Blog","description":"","publisher":{"@id":"https:\/\/www.tiingo.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.tiingo.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.tiingo.com\/blog\/#organization","name":"Tiingo.com","url":"https:\/\/www.tiingo.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.tiingo.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/api.tiingo.com\/blog\/wp-content\/uploads\/2023\/05\/purple-for-light-bg.svg","contentUrl":"https:\/\/api.tiingo.com\/blog\/wp-content\/uploads\/2023\/05\/purple-for-light-bg.svg","width":"1024","height":"1024","caption":"Tiingo.com"},"image":{"@id":"https:\/\/www.tiingo.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/tiingofinance\/","https:\/\/twitter.com\/tiingofinance"]},{"@type":"Person","@id":"https:\/\/www.tiingo.com\/blog\/#\/schema\/person\/54fc93e1626ed221a37fcfddb597c3d6","name":"Rishi S.","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.tiingo.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/28ae16ae1fe9df62492ab4b742241b19a6a12395109570074a7b8194c6709ec4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/28ae16ae1fe9df62492ab4b742241b19a6a12395109570074a7b8194c6709ec4?s=96&d=mm&r=g","caption":"Rishi S."},"description":"Rishi Singh is the CEO of Tiingo.com. A prior algorithmic and quant researcher, Rishi started Tiingo.com to modernize the financial data vertical by focusing on data acquisition, cleansing, aggregation, innovation, and distribution of data.","sameAs":["http:\/\/www.tiingo.com"],"url":"https:\/\/www.tiingo.com\/blog\/author\/rishi-s\/"}]}},"featured_image_src":"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/transferspeeds-sm-1.png","featured_image_src_square":"https:\/\/www.tiingo.com\/blog\/wp-content\/uploads\/2016\/05\/transferspeeds-sm-1.png","author_info":{"display_name":"Rishi S.","author_link":"https:\/\/www.tiingo.com\/blog\/author\/rishi-s\/"},"_links":{"self":[{"href":"https:\/\/www.tiingo.com\/blog\/wp-json\/wp\/v2\/posts\/606","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tiingo.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tiingo.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tiingo.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tiingo.com\/blog\/wp-json\/wp\/v2\/comments?post=606"}],"version-history":[{"count":1,"href":"https:\/\/www.tiingo.com\/blog\/wp-json\/wp\/v2\/posts\/606\/revisions"}],"predecessor-version":[{"id":655,"href":"https:\/\/www.tiingo.com\/blog\/wp-json\/wp\/v2\/posts\/606\/revisions\/655"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.tiingo.com\/blog\/wp-json\/wp\/v2\/media\/615"}],"wp:attachment":[{"href":"https:\/\/www.tiingo.com\/blog\/wp-json\/wp\/v2\/media?parent=606"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tiingo.com\/blog\/wp-json\/wp\/v2\/categories?post=606"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tiingo.com\/blog\/wp-json\/wp\/v2\/tags?post=606"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}