{"id":4708,"date":"2018-03-03T00:17:56","date_gmt":"2018-03-03T08:17:56","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=4708"},"modified":"2023-11-28T14:18:24","modified_gmt":"2023-11-28T22:18:24","slug":"tuning-replication-stream-optimal-performance","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/","title":{"rendered":"Tuning your replication stream for most optimal performance"},"content":{"rendered":"<p><span style=\"font-weight: 400\"><a href=\"https:\/\/www.couchbase.com\/products\/xdcr\/\">XDCR<\/a> is a high performance asynchronous data replication system used primarily to replicate data between your Couchbase clusters deployed in different data centers. Several Fortune 500 enterprises rely on XDCR for their mission-critical applications. High availability, disaster recovery and data locality are primary applications where XDCR is the go to solution.<\/span><\/p>\n<p><span style=\"font-weight: 400\">XDCR is designed to deliver high throughput and resilient performance for most use cases but there could be cases where it needs to be tuned for optimal performance. We introduced the advanced settings to enable this performance tuning and customization.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The following content is intended to provide generic guidance on XDCR tuning through Advanced Settings that are accessible through Couchbase Administrator Console and supported APIs. <\/span><span style=\"font-weight: 400\"><br \/>\n<\/span><\/p>\n<p><span style=\"font-weight: 400\">When you first add a replication, you can click on \u201cShow advanced settings\u201d to display the options as shown below:<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4715\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/03\/Screen-Shot-2018-03-03-at-12.12.46-AM-300x245.png\" alt=\"\" width=\"468\" height=\"382\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-03-at-12.12.46-AM-300x245.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-03-at-12.12.46-AM-1024x837.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-03-at-12.12.46-AM-768x628.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-03-at-12.12.46-AM-20x16.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-03-at-12.12.46-AM.png 1054w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/p>\n<p><span style=\"font-weight: 400\">A subset of XDCR settings most relevant to tuning is indicated below. These settings can be used for improving throughput or for conserving network bandwidth.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4716\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/03\/Screen-Shot-2018-03-03-at-12.12.14-AM-250x300.png\" alt=\"\" width=\"453\" height=\"544\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-03-at-12.12.14-AM-250x300.png 250w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-03-at-12.12.14-AM-853x1024.png 853w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-03-at-12.12.14-AM-768x922.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-03-at-12.12.14-AM-300x360.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-03-at-12.12.14-AM-17x20.png 17w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-03-at-12.12.14-AM.png 1054w\" sizes=\"auto, (max-width: 453px) 100vw, 453px\" \/><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Advanced XDCR Settings<\/b><\/p>\n<ul>\n<li>Source Nozzles (SN) : To set the number of senders per node; default = 2<\/li>\n<li>Target Nozzles (TN) : To set the number of receivers per node; default = 2<\/li>\n<li>Batch Count (BC) &#8211; To set the number of items per replication batch; default = 500<\/li>\n<li>Batch Size (BS) &#8211; To set the maximum size in Kilobytes for each batch; default = 2048<\/li>\n<li>Optimistic Replication Threshold (ORT) : sets a threshold in bytes; (documents with size lower than this threshold are replicated over without performing a get_meta check); default = 256<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b>Performance Tuning<\/b><\/p>\n<p><span style=\"font-weight: 400\">Some factors influencing performance can be nature of data, data mutation rate, workload on the clusters, network configuration etc., \u00a0Based on these parameters, replication should be tuned for desired performance. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Some of the best practices for improving throughput or conserving bandwidth are indicated below:<\/span><\/p>\n<p><b>a.Improving throughput:<\/b><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Given the resource headroom on source and target clusters, we recommend a range higher than default for Source Nozzle and Target Nozzle<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">If your data is composed of documents of size larger than 10K, we recommend tuning your Batch Count and Batch Size to be higher than default<\/span><\/li>\n<\/ul>\n<p><b>b.Network bandwidth conservation:<\/b><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Use an Optimistic Replication Threshold value that is higher than your average document size.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">We conducted a bunch of experiments to demonstrate the behavior, which is captured below.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4711\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/03\/Screen-Shot-2018-03-02-at-9.21.26-PM-300x169.png\" alt=\"\" width=\"536\" height=\"302\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-9.21.26-PM-300x169.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-9.21.26-PM-1024x577.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-9.21.26-PM-768x433.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-9.21.26-PM-1536x866.png 1536w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-9.21.26-PM-20x11.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-9.21.26-PM-1320x744.png 1320w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-9.21.26-PM.png 1706w\" sizes=\"auto, (max-width: 536px) 100vw, 536px\" \/><\/p>\n<p><b>Experiment set up : Cluster A and cluster B are two clusters with unidirectional replication in progress (<\/b><b>active <\/b><b>data gets replicated from the source cluster to the destination cluster).<\/b><\/p>\n<p><b>Test Environment configuration:<\/b><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Two Couchbase clusters running in AWS<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Source cluster : West1 region, target cluster : \u00a0East1 region <\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Average network latency between the clusters at the time of testing : 72ms<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Cluster size : 5 nodes running in dedicated m4.4xlarge instances<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Couchbase Bucket configuration :<\/span> <span style=\"font-weight: 400\">Bucket Type &#8211; \u00a0Couchbase; Bucket memory quota per node = 60GB; \u00a0(default settings for replicas, conflict resolution and ejection method)<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Couchbase Server Enterprise R5.0 running on Amazon Linux<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Unidirectional XDCR replication created going from source bucket to target bucket<\/span><\/li>\n<\/ul>\n<p><b>Test1:<\/b> <b>Establish baseline<\/b><\/p>\n<p><span style=\"font-weight: 400\">Configuration : Default values for all advanced settings <\/span><\/p>\n<p><b>Test2<\/b><span style=\"font-weight: 400\">: <\/span><b>Demonstrate increased throughput via parallelization<\/b><\/p>\n<p><span style=\"font-weight: 400\">Configuration : Source Nozzle = 8, Target Nozzle = 8 (both 4x), average doc size=1KB<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4712\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/03\/Screen-Shot-2018-03-02-at-11.55.59-PM-300x183.png\" alt=\"\" width=\"461\" height=\"281\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-11.55.59-PM-300x183.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-11.55.59-PM-20x12.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-11.55.59-PM.png 766w\" sizes=\"auto, (max-width: 461px) 100vw, 461px\" \/><\/p>\n<p><b>Test3<\/b><span style=\"font-weight: 400\">: <\/span><b>Demonstrate increased throughput with bigger network payloads<\/b><\/p>\n<p><span style=\"font-weight: 400\">Configuration : Batch Count = 4000, Batch Size = 8192, average doc size=20KB<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4713\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/03\/Screen-Shot-2018-03-02-at-11.56.26-PM-300x182.png\" alt=\"\" width=\"470\" height=\"285\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-11.56.26-PM-300x182.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-11.56.26-PM-768x465.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-11.56.26-PM-20x12.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-11.56.26-PM.png 796w\" sizes=\"auto, (max-width: 470px) 100vw, 470px\" \/><\/p>\n<p><b>Test4:<\/b><strong> Demonstrate reduced bandwidth utilization<\/strong><\/p>\n<p><span style=\"font-weight: 400\">Configuration : Optimistic Replication Threshold &gt; average document size<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-4714\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/03\/Screen-Shot-2018-03-02-at-11.56.44-PM-300x182.png\" alt=\"\" width=\"467\" height=\"283\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-11.56.44-PM-300x182.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-11.56.44-PM-768x465.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-11.56.44-PM-20x12.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2018\/03\/Screen-Shot-2018-03-02-at-11.56.44-PM.png 786w\" sizes=\"auto, (max-width: 467px) 100vw, 467px\" \/><\/p>\n<p><b><i>Note :<\/i><\/b><\/p>\n<ol>\n<li><span style=\"font-weight: 400\"> Test results shown in the charts should not be treated as absolute because a variance of 3-5% could be seen in repetitions of these tests in identical setup due to vagaries of AWS\u2019 cloud environments.<\/span><\/li>\n<li><span style=\"font-weight: 400\"> CPU utilization averaged at or below 40% in all tests.<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">While we want you to experiment and tune the replication for your desired performance needs, we do advise that you consult with Couchbase before changing XDCR settings for use cases that are highly specialized or highly critical to your business.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Nirvair Singh is the Solution Engineer who has conducted this experiment, please feel free to reach out to me or Nirvair for any further guidance or clarification. <\/span><\/p>\n<p><span style=\"font-weight: 400\">As always, we look forward to learn more about your experiments and experiences.<\/span><\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>XDCR is a high performance asynchronous data replication system used primarily to replicate data between your Couchbase clusters deployed in different data centers. Several Fortune 500 enterprises rely on XDCR for their mission-critical applications. High availability, disaster recovery and data [&hellip;]<\/p>\n","protected":false},"author":6588,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,1821,1816],"tags":[],"ppma_author":[9064],"class_list":["post-4708","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-couchbase-architecture","category-couchbase-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.0 (Yoast SEO v26.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Tuning your replication stream for most optimal performance<\/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\/tuning-replication-stream-optimal-performance\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tuning your replication stream for most optimal performance\" \/>\n<meta property=\"og:description\" content=\"XDCR is a high performance asynchronous data replication system used primarily to replicate data between your Couchbase clusters deployed in different data centers. Several Fortune 500 enterprises rely on XDCR for their mission-critical applications. High availability, disaster recovery and data [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-03-03T08:17:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-28T22:18:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/03\/Screen-Shot-2018-03-03-at-12.12.46-AM-300x245.png\" \/>\n<meta name=\"author\" content=\"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/\"},\"author\":{\"name\":\"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/852cd95d6c8aa5ea6d4128643cc3c2b6\"},\"headline\":\"Tuning your replication stream for most optimal performance\",\"datePublished\":\"2018-03-03T08:17:56+00:00\",\"dateModified\":\"2023-11-28T22:18:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/\"},\"wordCount\":669,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Best Practices and Tutorials\",\"Couchbase Architecture\",\"Couchbase Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/\",\"name\":\"Tuning your replication stream for most optimal performance\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2018-03-03T08:17:56+00:00\",\"dateModified\":\"2023-11-28T22:18:24+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/#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\/tuning-replication-stream-optimal-performance\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tuning your replication stream for most optimal performance\"}]},{\"@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\/852cd95d6c8aa5ea6d4128643cc3c2b6\",\"name\":\"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/459272ec41e39279e1f7784a97a6b106\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3ce5e2ac49271390c080a82e055d92096b80f63a8f2ca4db5a52af1ace0b06f5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3ce5e2ac49271390c080a82e055d92096b80f63a8f2ca4db5a52af1ace0b06f5?s=96&d=mm&r=g\",\"caption\":\"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.\"},\"description\":\"Chaitra Ramarao is a Senior Product Manager at Couchbase, NoSQL database company, leading databases tooling, cross datacenter replication and partner integrations. Her prior gigs include data analytics product management for Kaiser Permanente and software development for Hewlett Packard. She has a Bachelors degree in ECE and a Masters from Carnegie Mellon in Engineering &amp; Technology Innovation Management.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/chaitra\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Tuning your replication stream for most optimal performance","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\/tuning-replication-stream-optimal-performance\/","og_locale":"en_US","og_type":"article","og_title":"Tuning your replication stream for most optimal performance","og_description":"XDCR is a high performance asynchronous data replication system used primarily to replicate data between your Couchbase clusters deployed in different data centers. Several Fortune 500 enterprises rely on XDCR for their mission-critical applications. High availability, disaster recovery and data [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/","og_site_name":"The Couchbase Blog","article_published_time":"2018-03-03T08:17:56+00:00","article_modified_time":"2023-11-28T22:18:24+00:00","og_image":[{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2018\/03\/Screen-Shot-2018-03-03-at-12.12.46-AM-300x245.png","type":"","width":"","height":""}],"author":"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/"},"author":{"name":"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/852cd95d6c8aa5ea6d4128643cc3c2b6"},"headline":"Tuning your replication stream for most optimal performance","datePublished":"2018-03-03T08:17:56+00:00","dateModified":"2023-11-28T22:18:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/"},"wordCount":669,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Best Practices and Tutorials","Couchbase Architecture","Couchbase Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/","url":"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/","name":"Tuning your replication stream for most optimal performance","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2018-03-03T08:17:56+00:00","dateModified":"2023-11-28T22:18:24+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/tuning-replication-stream-optimal-performance\/#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\/tuning-replication-stream-optimal-performance\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tuning your replication stream for most optimal performance"}]},{"@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\/852cd95d6c8aa5ea6d4128643cc3c2b6","name":"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/459272ec41e39279e1f7784a97a6b106","url":"https:\/\/secure.gravatar.com\/avatar\/3ce5e2ac49271390c080a82e055d92096b80f63a8f2ca4db5a52af1ace0b06f5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3ce5e2ac49271390c080a82e055d92096b80f63a8f2ca4db5a52af1ace0b06f5?s=96&d=mm&r=g","caption":"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc."},"description":"Chaitra Ramarao is a Senior Product Manager at Couchbase, NoSQL database company, leading databases tooling, cross datacenter replication and partner integrations. Her prior gigs include data analytics product management for Kaiser Permanente and software development for Hewlett Packard. She has a Bachelors degree in ECE and a Masters from Carnegie Mellon in Engineering &amp; Technology Innovation Management.","url":"https:\/\/www.couchbase.com\/blog\/author\/chaitra\/"}]}},"authors":[{"term_id":9064,"user_id":6588,"is_guest":0,"slug":"chaitra","display_name":"Chaitra Ramarao, Sr. Product Manager, Couchbase Inc.","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/3ce5e2ac49271390c080a82e055d92096b80f63a8f2ca4db5a52af1ace0b06f5?s=96&d=mm&r=g","author_category":"","last_name":"Ramarao, Sr. Product Manager, Couchbase Inc.","first_name":"Chaitra","job_title":"","user_url":"","description":"Chaitra Ramarao is a Senior Product Manager at Couchbase, NoSQL database company, leading databases tooling, cross datacenter replication and partner integrations. Her prior gigs include data analytics product management for Kaiser Permanente and software development for Hewlett Packard. She has a Bachelors degree in ECE and a Masters from Carnegie Mellon in Engineering &amp; Technology Innovation Management."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/4708","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\/6588"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=4708"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/4708\/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=4708"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=4708"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=4708"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=4708"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}