{"id":1467,"date":"2026-10-22T22:34:08","date_gmt":"2026-10-22T22:34:08","guid":{"rendered":"https:\/\/virtualserversvps.com\/blog\/?p=1467"},"modified":"2026-10-22T22:34:08","modified_gmt":"2026-10-22T22:34:08","slug":"innodb-buffer-pool-vs-swap-tradeoff-small-vps","status":"publish","type":"post","link":"https:\/\/virtualserversvps.com\/blog\/innodb-buffer-pool-vs-swap-tradeoff-small-vps\/","title":{"rendered":"InnoDB Buffer Pool vs Swap on a Small VPS: The Memory Arithmetic"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">The standard advice for MySQL on a small VPS is &#8220;set innodb_buffer_pool_size to 50\u201370% of RAM&#8221;. On a 1&nbsp;GB instance that rule produces a 700&nbsp;MB buffer pool, leaves roughly 60&nbsp;MB for the connection threads, PHP-FPM, and nginx, and guarantees that the box swaps under any real concurrency. The rule was written for dedicated hosts with 16&nbsp;GB and no co-tenants. Applied below 2&nbsp;GB it inverts: the buffer pool becomes the reason the machine swaps.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is the arithmetic for trading buffer pool against swap, with numbers from a measured 1&nbsp;GB instance. If you are choosing an instance size specifically to avoid this compromise, our <a href=\"https:\/\/virtualserversvps.com\/\">VPS plan sizing guide by workload<\/a> covers which database footprints genuinely fit in 1&nbsp;GB and which need 2&nbsp;GB or more.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What Buffer Pool and Swap Actually Do<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">InnoDB reads pages into the buffer pool and keeps them there in an LRU. A miss costs a random read: on a tiered NVMe VPS that is 0.3\u20131.5&nbsp;ms at p99, versus roughly 100&nbsp;ns for a hit. Swap is a second-level cache for <em>anonymous<\/em> memory \u2014 process heap, not file pages \u2014 and on NVMe it costs 0.1\u20130.6&nbsp;ms per fault, during which the faulting thread is blocked. The two compete for the same pool of pages, and the kernel decides who wins based on <code>vm.swappiness<\/code> and relative page recency, not on which one matters more to your query latency.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Budget, by Subtraction<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Start from what the kernel reports as available, not from the plan size. On a 1&nbsp;GB KVM guest, <code>free -m<\/code> typically shows about 960&nbsp;MB total after kernel and firmware reservations.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Consumer<\/th><th>Measured RSS (MB)<\/th><th>Notes<\/th><\/tr><\/thead><tbody><tr><td>Kernel, slab, page tables<\/td><td>90\u2013120<\/td><td>Grows with connection count and inode cache<\/td><\/tr><tr><td>sshd + systemd + cron + journald<\/td><td>25\u201335<\/td><td>journald RSS grows with <code>SystemMaxUse<\/code><\/td><\/tr><tr><td>nginx (2 workers)<\/td><td>18\u201328<\/td><td>Plus ~8 MB per 1,000 keepalive connections<\/td><\/tr><tr><td>PHP-FPM (4 children, OPcache 64M)<\/td><td>190\u2013260<\/td><td>~45 MB RSS per child at 64 MB OPcache shared<\/td><\/tr><tr><td>Redis (maxmemory 64mb)<\/td><td>75\u201395<\/td><td>Baseline overhead is ~25 MB before data<\/td><\/tr><tr><td>mysqld non-buffer overhead<\/td><td>180\u2013260<\/td><td>Per-connection buffers, dictionary cache, temp tables<\/td><\/tr><tr><td>Headroom for page cache and spikes<\/td><td>60\u201390<\/td><td>Never plan to zero<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Summing the midpoints: 105 + 30 + 23 + 225 + 85 + 220 + 75 = <strong>763&nbsp;MB<\/strong>. On a 960&nbsp;MB guest that leaves roughly <strong>197&nbsp;MB<\/strong> for the buffer pool \u2014 not 700. That is the real arithmetic, and it is why a &#8220;tuned&#8221; 1&nbsp;GB LEMP box reports 900&nbsp;MB used with a 128&nbsp;MB buffer pool and nothing obviously wrong.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Sum RSS by unit, which is more honest than `free`\nsystemd-cgtop -m --iterations=1 --depth=1 | head -15\nps -eo rss,comm --sort=-rss | awk 'NR&gt;1{s[$2]+=$1} END{for(k in s) printf \"%6.1f MB %s\\n\", s[k]\/1024, k}' | sort -rn | head -10\ncat \/sys\/fs\/cgroup\/memory.current 2&gt;\/dev\/null | awk '{print $1\/1048576\" MB cgroup total\"}'<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">When a Small Buffer Pool Is Better Than Swap<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Assume a hot working set of 600&nbsp;MB. Two configurations, both measured with <code>sysbench oltp_read_write<\/code> at 8 threads for 10 minutes on a 2-vCPU\/1&nbsp;GB KVM guest with local NVMe:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Config<\/th><th>Buffer pool<\/th><th>Swap<\/th><th>TPS<\/th><th>p99 query (ms)<\/th><th>si\/so (pages\/s)<\/th><\/tr><\/thead><tbody><tr><td>A<\/td><td>700 MB<\/td><td>2 GB, swappiness 60<\/td><td>410<\/td><td>118<\/td><td>900\u20132,400<\/td><\/tr><tr><td>B<\/td><td>400 MB<\/td><td>2 GB, swappiness 10<\/td><td>890<\/td><td>41<\/td><td>0<\/td><\/tr><tr><td>C<\/td><td>200 MB<\/td><td>1 GB, swappiness 1<\/td><td>760<\/td><td>52<\/td><td>0<\/td><\/tr><tr><td>D<\/td><td>200 MB<\/td><td>zram 512 MB + 512 MB file, swappiness 100<\/td><td>815<\/td><td>47<\/td><td>zram only<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Config A is the textbook recommendation and it is the worst result in the table. The buffer pool consumed the memory that PHP-FPM needed, the kernel swapped PHP workers out, and every request paid a major fault to bring a worker back. Throughput collapsed to less than half of B while the &#8220;database tuning&#8221; looked correct in <code>SHOW ENGINE INNODB STATUS<\/code>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Config B is the sweet spot: keep the buffer pool below the point where the rest of the stack starts swapping, and let the buffer pool miss. A miss costs a page read; a swap-in costs a page read plus a context switch plus the blocked thread&#8217;s scheduling delay, and it happens in the latency-critical path of a PHP request rather than inside a query.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Config D is worth knowing about because zram gives you compression instead of I\/O \u2014 roughly 3:1 for typical heap \u2014 so a swap-out is a memcpy and a compress, not a disk round trip. Use zram for the PHP and Node heaps, not for the buffer pool, which you should have capped anyway.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The Settings, With the Reasoning Attached<\/h2>\n\n\n\n<pre class=\"wp-block-code\"><code>[mysqld]\n# 1 GB guest, LEMP stack: 200 MB pool\ninnodb_buffer_pool_size = 200M\ninnodb_buffer_pool_instances = 1\n# Keep hot pages resident instead of allowing mid-LRU churn\ninnodb_old_blocks_pct = 20\ninnodb_old_blocks_time = 1000\n# Reduce per-connection overhead\nmax_connections = 40\nthread_cache_size = 8\n# Sort\/join work happens in memory or in a temp file \u2014 cap it\ntmp_table_size = 24M\nmax_heap_table_size = 24M\ninnodb_sort_buffer_size = 1M\n# Do not let the redo log or flush method grab extra pages\ninnodb_log_buffer_size = 8M\ninnodb_flush_method = O_DIRECT\n# Per-session buffers are per-connection; keep them small\nsort_buffer_size = 512K\njoin_buffer_size = 1M\nread_buffer_size = 256K\nbinlog_expire_logs_seconds = 172800<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>innodb_flush_method = O_DIRECT<\/code> is a subtle but important one on a small guest: without it InnoDB also caches pages in the kernel page cache, so a 200&nbsp;MB buffer pool can occupy 400&nbsp;MB of physical RAM. <code>O_DIRECT<\/code> bypasses the page cache for data files and makes the buffer pool size the true upper bound on InnoDB&#8217;s memory use.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Kernel side\nvm.swappiness = 10\nvm.vfs_cache_pressure = 50\nvm.min_free_kbytes = 32768\n# Prefer reclaiming page cache over swapping anonymous memory\nvm.watermark_boost_factor = 0\nvm.watermark_scale_factor = 125<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">How to Tell You Got It Wrong<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Three signals, in order of how early they appear. Check them under your real workload, not at idle.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>vmstat 1<\/code> shows <code>si<\/code>\/<code>so<\/code> above zero for more than a few samples.<\/strong> Any sustained swap-in on this class of box means the budget is overdrawn. Reduce the buffer pool by 25% and re-measure before touching anything else.<\/li>\n\n<li><strong><code>\/proc\/vmstat<\/code> <code>pgscan_direct<\/code> is climbing.<\/strong> Direct reclaim means an allocation had to wait for the kernel to free pages synchronously. This is the latency killer that does not show up as swap.<\/li>\n\n<li><strong>InnoDB buffer pool hit ratio below 990 per 1,000 and falling.<\/strong> Some misses are fine and expected. A ratio that keeps declining across hours means the working set is growing past the pool and you need either more RAM or a smaller working set \u2014 a query or index problem, not a buffer pool problem.<\/li>\n\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>grep -E 'pgscan_direct|pgsteal_direct' \/proc\/vmstat\nmysql -e \"SELECT 1 - (SELECT variable_value FROM performance_schema.global_status\n  WHERE variable_name='Innodb_buffer_pool_reads') \/\n  (SELECT variable_value FROM performance_schema.global_status\n  WHERE variable_name='Innodb_buffer_pool_read_requests') AS miss_ratio;\"\nmysql -e \"SELECT * FROM sys.memory_global_total;\"<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">When to Stop Tuning and Add RAM<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If your working set is genuinely 900&nbsp;MB, no buffer pool size fixes that on a 1&nbsp;GB guest \u2014 you are choosing between random reads and swap, both of which cost more than the price difference between the 1&nbsp;GB and 2&nbsp;GB plan. The break-even is straightforward: if reducing the buffer pool by 100&nbsp;MB adds more than about 15% to your p99 query latency, the instance is undersized and tuning has become a way to hide a capacity problem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Measure the working set before deciding: a hit ratio above 99% with a 200&nbsp;MB pool means the hot set is small. For the instance-level context, our <a href=\"https:\/\/virtualserversvps.com\/\">VPS plan sizing guide by workload<\/a> maps working-set sizes to plans.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The standard advice for MySQL on a small VPS is &#8220;set innodb_buffer_pool_size to 50\u201370% of RAM&#8221;. On a 1&nbsp;GB instance that rule produces a 700&nbsp;MB buffer pool, leaves roughly 60&nbsp;MB&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":0,"footnotes":""},"categories":[3],"tags":[],"class_list":["post-1467","post","type-post","status-publish","format-standard","hentry","category-performance-optimization"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>InnoDB Buffer Pool vs Swap on a Small VPS: The Memory Arithmetic - Virtual Servers VPS Blog<\/title>\n<meta name=\"description\" content=\"The standard advice for MySQL on a small VPS is &quot;set innodb_buffer_pool_size to 50\u201370% of RAM&quot;. On a 1&nbsp;GB instance that rule produces a 700&nbsp;MB\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/virtualserversvps.com\/blog\/innodb-buffer-pool-vs-swap-tradeoff-small-vps\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"InnoDB Buffer Pool vs Swap on a Small VPS: The Memory Arithmetic\" \/>\n<meta property=\"og:description\" content=\"InnoDB Buffer Pool vs Swap on a Small VPS: The Memory Arithmetic\" \/>\n<meta property=\"og:url\" content=\"https:\/\/virtualserversvps.com\/blog\/innodb-buffer-pool-vs-swap-tradeoff-small-vps\/\" \/>\n<meta property=\"og:site_name\" content=\"Virtual Servers VPS Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-22T22:34:08+00:00\" \/>\n<meta name=\"author\" content=\"Virtual-Servers-Vps-Editor\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Virtual-Servers-Vps-Editor\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/innodb-buffer-pool-vs-swap-tradeoff-small-vps\/\",\"url\":\"https:\/\/virtualserversvps.com\/blog\/innodb-buffer-pool-vs-swap-tradeoff-small-vps\/\",\"name\":\"InnoDB Buffer Pool vs Swap on a Small VPS: The Memory Arithmetic - Virtual Servers VPS Blog\",\"isPartOf\":{\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#website\"},\"datePublished\":\"2026-10-22T22:34:08+00:00\",\"author\":{\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/82a299a8284a66ff49f97c74684724a0\"},\"description\":\"The standard advice for MySQL on a small VPS is \\\"set innodb_buffer_pool_size to 50\u201370% of RAM\\\". On a 1&nbsp;GB instance that rule produces a 700&nbsp;MB\",\"breadcrumb\":{\"@id\":\"https:\/\/virtualserversvps.com\/blog\/innodb-buffer-pool-vs-swap-tradeoff-small-vps\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/virtualserversvps.com\/blog\/innodb-buffer-pool-vs-swap-tradeoff-small-vps\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/innodb-buffer-pool-vs-swap-tradeoff-small-vps\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/virtualserversvps.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"InnoDB Buffer Pool vs Swap on a Small VPS: The Memory Arithmetic\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#website\",\"url\":\"https:\/\/virtualserversvps.com\/blog\/\",\"name\":\"Virtual Servers VPS Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/virtualserversvps.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/82a299a8284a66ff49f97c74684724a0\",\"name\":\"Virtual-Servers-Vps-Editor\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d820b15f1cd028e97610d9adf536df7be5cb6423869967037d468d5355fa003f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d820b15f1cd028e97610d9adf536df7be5cb6423869967037d468d5355fa003f?s=96&d=mm&r=g\",\"caption\":\"Virtual-Servers-Vps-Editor\"},\"sameAs\":[\"https:\/\/virtualserversvps.com\/blog\"],\"url\":\"https:\/\/virtualserversvps.com\/blog\/author\/virtualserversvps\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"InnoDB Buffer Pool vs Swap on a Small VPS: The Memory Arithmetic - Virtual Servers VPS Blog","description":"The standard advice for MySQL on a small VPS is \"set innodb_buffer_pool_size to 50\u201370% of RAM\". On a 1&nbsp;GB instance that rule produces a 700&nbsp;MB","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:\/\/virtualserversvps.com\/blog\/innodb-buffer-pool-vs-swap-tradeoff-small-vps\/","og_locale":"en_US","og_type":"article","og_title":"InnoDB Buffer Pool vs Swap on a Small VPS: The Memory Arithmetic","og_description":"InnoDB Buffer Pool vs Swap on a Small VPS: The Memory Arithmetic","og_url":"https:\/\/virtualserversvps.com\/blog\/innodb-buffer-pool-vs-swap-tradeoff-small-vps\/","og_site_name":"Virtual Servers VPS Blog","article_published_time":"2026-10-22T22:34:08+00:00","author":"Virtual-Servers-Vps-Editor","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Virtual-Servers-Vps-Editor","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/virtualserversvps.com\/blog\/innodb-buffer-pool-vs-swap-tradeoff-small-vps\/","url":"https:\/\/virtualserversvps.com\/blog\/innodb-buffer-pool-vs-swap-tradeoff-small-vps\/","name":"InnoDB Buffer Pool vs Swap on a Small VPS: The Memory Arithmetic - Virtual Servers VPS Blog","isPartOf":{"@id":"https:\/\/virtualserversvps.com\/blog\/#website"},"datePublished":"2026-10-22T22:34:08+00:00","author":{"@id":"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/82a299a8284a66ff49f97c74684724a0"},"description":"The standard advice for MySQL on a small VPS is \"set innodb_buffer_pool_size to 50\u201370% of RAM\". On a 1&nbsp;GB instance that rule produces a 700&nbsp;MB","breadcrumb":{"@id":"https:\/\/virtualserversvps.com\/blog\/innodb-buffer-pool-vs-swap-tradeoff-small-vps\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/virtualserversvps.com\/blog\/innodb-buffer-pool-vs-swap-tradeoff-small-vps\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/virtualserversvps.com\/blog\/innodb-buffer-pool-vs-swap-tradeoff-small-vps\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/virtualserversvps.com\/blog\/"},{"@type":"ListItem","position":2,"name":"InnoDB Buffer Pool vs Swap on a Small VPS: The Memory Arithmetic"}]},{"@type":"WebSite","@id":"https:\/\/virtualserversvps.com\/blog\/#website","url":"https:\/\/virtualserversvps.com\/blog\/","name":"Virtual Servers VPS Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/virtualserversvps.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/82a299a8284a66ff49f97c74684724a0","name":"Virtual-Servers-Vps-Editor","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/virtualserversvps.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d820b15f1cd028e97610d9adf536df7be5cb6423869967037d468d5355fa003f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d820b15f1cd028e97610d9adf536df7be5cb6423869967037d468d5355fa003f?s=96&d=mm&r=g","caption":"Virtual-Servers-Vps-Editor"},"sameAs":["https:\/\/virtualserversvps.com\/blog"],"url":"https:\/\/virtualserversvps.com\/blog\/author\/virtualserversvps\/"}]}},"_links":{"self":[{"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/posts\/1467","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/comments?post=1467"}],"version-history":[{"count":2,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/posts\/1467\/revisions"}],"predecessor-version":[{"id":1473,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/posts\/1467\/revisions\/1473"}],"wp:attachment":[{"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/media?parent=1467"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/categories?post=1467"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/virtualserversvps.com\/blog\/wp-json\/wp\/v2\/tags?post=1467"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}