{"id":1757,"date":"2014-12-16T18:49:01","date_gmt":"2014-12-16T18:49:01","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=1757"},"modified":"2025-06-13T23:51:54","modified_gmt":"2025-06-14T06:51:54","slug":"performance-managing-threads-couchbase-2x","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/","title":{"rendered":"Performance: Managing threads in Couchbase 2.x"},"content":{"rendered":"<p>In this blog post you will get an overview of two related performance optimizations that you can do for\u00a0Couchbase 2.5.1 and below. This is not for 3.x for reasons you can read at the bottom of this post.\u00a0The two changes directly effect performance of reading and writing in\u00a0Couchbase. Also know that you must have a properly sized cluster before you start messing with these settings. If you do not, you may cause more problems for the cluster than you solve. If you need more information about sizing your cluster, please see <a href=\"https:\/\/www.couchbase.com\/blog\/how-many-nodes-part-1-introduction-sizing-couchbase-server-20-cluster\/\">Perry&#8217;s execellent blog series on the topic<\/a>.<\/p>\n<h2>Adding More Reader\/Writer Threads Per Bucket<\/h2>\n<p>The first is changing the number of threads available on a per bucket basis. This should only be done if you have enough server\/instance resources for this. If you are runing only 4 cores on your\u00a0Couchbase nodes, this is probably not the performance enhancement for you. <span style=\"line-height: 23px\">This setting will allow\u00a0Couchbase to use more reader\/writer threads and thus push more operations.\u00a0<\/span>So in the configuration of each bucket you will see a part of that screen that looks like this:<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/sites\/default\/files\/uploads\/all\/images\/reader-writer-threads.jpg\" alt=\"\" \/><\/p>\n<p><span style=\"color: #007da4;font-family: ff-kievit-web, 'MS UI Gothic', 'MS PGothic', Osaka, Batang, Georgia, 'Times New Roman', Times, sans-serif;font-size: 23px;font-weight: 600;line-height: 1.4\">Optimizing More for Mixed Usage or Write heavy workloads<\/span><\/p>\n<p>The second optimization links in with the first one. It has to do with optimizing\u00a0Couchbase for either reading, writing or both. By default,\u00a0Couchbase is optimized for reading thread wise and for many use cases, that works great. If you have mixed or a write heavy use case, you want to optimize\u00a0Couchbase for that. You change these values with a REST API call like below with wget:<\/p>\n<blockquote>\n<p class=\"p1\">wget -O- &#8211;user= &#8211;password= &#8211;post-data=&#8217;ns_bucket:update_bucket_props(&#8220;&#8221;, [{extra_config_string, &#8220;workload_optimization=mix&#8221;}]).&#8217;\u00a0<a href=\"https:\/\/localhost:8091\/diag\/eval\">https:\/\/localhost:8091\/diag\/eval<\/a><\/p>\n<\/blockquote>\n<p>The third option is to weight the threads towards writers:<\/p>\n<blockquote><p><span style=\"color: #eb8e92;line-height: 23px\">wget -O- &#8211;user= &#8211;password= &#8211;post-data=&#8217;ns_bucket:update_bucket_props(&#8220;&#8221;, [{extra_config_string, &#8220;workload_optimization=write&#8221;}]).&#8217;\u00a0<\/span><a style=\"line-height: 23px\" href=\"https:\/\/localhost:8091\/diag\/eval\">https:\/\/localhost:8091\/diag\/eval<\/a><\/p><\/blockquote>\n<p>If you want to set this back to the default, you&#8217;d do:<\/p>\n<blockquote>\n<p class=\"p1\">wget -O- &#8211;user= &#8211;password= &#8211;post-data=&#8217;ns_bucket:update_bucket_props(&#8220;&#8221;, [{extra_config_string, &#8220;workload_optimization=read&#8221;}]).&#8217;\u00a0<a href=\"https:\/\/localhost:8091\/diag\/eval\">https:\/\/localhost:8091\/diag\/eval<\/a><\/p>\n<\/blockquote>\n<p><span style=\"line-height: 1.4375em\">Note: All of the changes above REQUIRE a restart of the bucket to take effect. This is one of the very few off-line operations in CB. So do\u00a0<\/span><span style=\"line-height: inherit;font-weight: bold\">not<\/span><span style=\"line-height: 1.4375em\">\u00a0change this on your production cluster without a planned maintenance window and planned down time!! For the changing of the number of threads, Couchbase\u00a0will do that bucket restart for you once save it. For the REST calls, you will have to do it manually. Either way, plan appropriately for the down time!<\/span><\/p>\n<p style=\"font-family: 'Kievit OT', sans-serif;font-size: 16px\"><span style=\"font-family: inherit;font-size: 1em;line-height: 1.4375em\">For more information on this\u00a0<a href=\"https:\/\/docs.couchbase.com\/couchbase-manual-2.5\/cb-admin\/#couchbase-admin-tasks-mrw\" target=\"_blank\" rel=\"noopener noreferrer\">see the official documentation<\/a>.<\/span><\/p>\n<p><span style=\"color: #007da4;font-size: 23px;font-weight: 600;line-height: 1.4\">Is this still necessary for\u00a0Couchbase 3.0?<\/span><\/p>\n<p>No. These optimizations are no longer necessary in 3.x because of the introduction of a feature called the Global Thread Pool. With that feature, Couchbase now manages the the number of threads and the balance of threads dynamically for you and with intelligence as to your workload.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this blog post you will get an overview of two related performance optimizations that you can do for\u00a0Couchbase 2.5.1 and below. This is not for 3.x for reasons you can read at the bottom of this post.\u00a0The two changes [&hellip;]<\/p>\n","protected":false},"author":23,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[9417],"tags":[1392],"ppma_author":[9008],"class_list":["post-1757","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-performance","tag-optimization"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Performance: Managing threads in Couchbase 2.x - The Couchbase Blog<\/title>\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.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Performance: Managing threads in Couchbase 2.x\" \/>\n<meta property=\"og:description\" content=\"In this blog post you will get an overview of two related performance optimizations that you can do for\u00a0Couchbase 2.5.1 and below. This is not for 3.x for reasons you can read at the bottom of this post.\u00a0The two changes [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-12-16T18:49:01+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T06:51:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/sites\/default\/files\/uploads\/all\/images\/reader-writer-threads.jpg\" \/>\n<meta name=\"author\" content=\"Kirk Kirkconnell, Senior Solutions Engineer, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirk Kirkconnell, Senior Solutions Engineer, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/\"},\"author\":{\"name\":\"Kirk Kirkconnell, Senior Solutions Engineer, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/2887e38425754897cea2d896bf082e6d\"},\"headline\":\"Performance: Managing threads in Couchbase 2.x\",\"datePublished\":\"2014-12-16T18:49:01+00:00\",\"dateModified\":\"2025-06-14T06:51:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/\"},\"wordCount\":501,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"optimization\"],\"articleSection\":[\"High Performance\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/\",\"name\":\"Performance: Managing threads in Couchbase 2.x - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2014-12-16T18:49:01+00:00\",\"dateModified\":\"2025-06-14T06:51:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Performance: Managing threads in Couchbase 2.x\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/2887e38425754897cea2d896bf082e6d\",\"name\":\"Kirk Kirkconnell, Senior Solutions Engineer, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/60a4ddb304fde12e65369919433b8dc7\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f704905856dcd1767d50024da51e2fa159eea665c85aff3224bc8763551d4e35?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f704905856dcd1767d50024da51e2fa159eea665c85aff3224bc8763551d4e35?s=96&d=mm&r=g\",\"caption\":\"Kirk Kirkconnell, Senior Solutions Engineer, Couchbase\"},\"description\":\"Kirk Kirkconnell was a Senior Solutions Engineer at Couchbase working with customers in multiple capacities to assist them in architecting, deploying, and managing Couchbase. His expertise is in operations, hosting, and support of large-scale application and database infrastructures.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/kirk-kirkconnell\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Performance: Managing threads in Couchbase 2.x - The Couchbase Blog","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.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/","og_locale":"en_US","og_type":"article","og_title":"Performance: Managing threads in Couchbase 2.x","og_description":"In this blog post you will get an overview of two related performance optimizations that you can do for\u00a0Couchbase 2.5.1 and below. This is not for 3.x for reasons you can read at the bottom of this post.\u00a0The two changes [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/","og_site_name":"The Couchbase Blog","article_published_time":"2014-12-16T18:49:01+00:00","article_modified_time":"2025-06-14T06:51:54+00:00","og_image":[{"url":"https:\/\/www.couchbase.com\/blog\/sites\/default\/files\/uploads\/all\/images\/reader-writer-threads.jpg","type":"","width":"","height":""}],"author":"Kirk Kirkconnell, Senior Solutions Engineer, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirk Kirkconnell, Senior Solutions Engineer, Couchbase","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/"},"author":{"name":"Kirk Kirkconnell, Senior Solutions Engineer, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/2887e38425754897cea2d896bf082e6d"},"headline":"Performance: Managing threads in Couchbase 2.x","datePublished":"2014-12-16T18:49:01+00:00","dateModified":"2025-06-14T06:51:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/"},"wordCount":501,"commentCount":3,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["optimization"],"articleSection":["High Performance"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/","url":"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/","name":"Performance: Managing threads in Couchbase 2.x - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2014-12-16T18:49:01+00:00","dateModified":"2025-06-14T06:51:54+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/performance-managing-threads-couchbase-2x\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Performance: Managing threads in Couchbase 2.x"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"The Couchbase Blog","description":"Couchbase, the NoSQL Database","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"The Couchbase Blog","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/2887e38425754897cea2d896bf082e6d","name":"Kirk Kirkconnell, Senior Solutions Engineer, Couchbase","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/60a4ddb304fde12e65369919433b8dc7","url":"https:\/\/secure.gravatar.com\/avatar\/f704905856dcd1767d50024da51e2fa159eea665c85aff3224bc8763551d4e35?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f704905856dcd1767d50024da51e2fa159eea665c85aff3224bc8763551d4e35?s=96&d=mm&r=g","caption":"Kirk Kirkconnell, Senior Solutions Engineer, Couchbase"},"description":"Kirk Kirkconnell was a Senior Solutions Engineer at Couchbase working with customers in multiple capacities to assist them in architecting, deploying, and managing Couchbase. His expertise is in operations, hosting, and support of large-scale application and database infrastructures.","url":"https:\/\/www.couchbase.com\/blog\/author\/kirk-kirkconnell\/"}]}},"authors":[{"term_id":9008,"user_id":23,"is_guest":0,"slug":"kirk-kirkconnell","display_name":"Kirk Kirkconnell, Senior Solutions Engineer, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/f704905856dcd1767d50024da51e2fa159eea665c85aff3224bc8763551d4e35?s=96&d=mm&r=g","author_category":"","last_name":"Kirkconnell","first_name":"Kirk","job_title":"","user_url":"","description":"Kirk Kirkconnell was a Senior Solutions Engineer at Couchbase working with customers in multiple capacities to assist them in architecting, deploying, and managing Couchbase. His expertise is in operations, hosting, and support of large-scale application and database infrastructures."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/1757","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=1757"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/1757\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/media?parent=1757"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=1757"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=1757"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=1757"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}