{"id":2492,"date":"2017-01-13T12:40:11","date_gmt":"2017-01-13T12:40:11","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2492"},"modified":"2024-08-29T02:48:33","modified_gmt":"2024-08-29T09:48:33","slug":"a-convenient-workload-generator-for-couchbase-in-openshift","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/","title":{"rendered":"A convenient workload generator for Couchbase in OpenShift"},"content":{"rendered":"<p style=\"color: #333333;text-align: left\">Our first Guest Post from the\u00a0<a href=\"https:\/\/www.couchbase.com\/community\/community-writers-program\/\">Community Writing Program\u00a0<\/a>comes from\u00a0<a href=\"https:\/\/www.linkedin.com\/in\/nicolas-motte\">Nicolas Motte<\/a>.<\/p>\n<p style=\"color: #333333\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2589\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/01\/nicolas.jpg\" alt=\"Nicolas Motte\" width=\"141\" height=\"141\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/nicolas.jpg 141w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/nicolas-65x65.jpg 65w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/nicolas-50x50.jpg 50w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/nicolas-20x20.jpg 20w\" sizes=\"auto, (max-width: 141px) 100vw, 141px\" \/><\/p>\n<p style=\"color: #333333\"><a href=\"https:\/\/github.com\/nmotte\">Nico<\/a>\u00a0is a full-stack engineer in the South of France. He released several native and hybrid mobile applications to iTunes and Google Play and started his own company in 2015. Today he is working at Amadeus as an Operations Manager and a trainer for Ops. He also invests in start-ups on his free time. He has experience in operational requirements and data stores (Memcached, Couchbase, MongoDB, Kafka, ZooKeeper, Elasticsearch).<\/p>\n<p dir=\"ltr\" style=\"line-height: 1.295;margin-top: 0pt;margin-bottom: 8pt\"><span style=\"font-size: 14.6667px;font-family: Calibri;color: #000000;background-color: transparent;vertical-align: baseline\">Recently I have been working on a project to deploy a <a href=\"https:\/\/www.couchbase.com\/downloads\/\">Couchbase<\/a> cluster in OpenShift(1). Quickly I needed to simulate a workload, to assess the performance of the cluster and its tolerance to failure. At first I thought about migrating one of our applications to OpenShift, but that was way too painful for such a simple and common need. I also thought about creating my own injector, but I\u2019m too lazy for that! Then I talked to <a href=\"https:\/\/www.couchbase.com\/blog\/get-to-know-our-couchbase-community---meet-michael-hirschberg\/\">Michael Hirschberg<\/a>, a Couchbase champion, to understand how he validates new Couchbase releases or new hardware. He pointed me to cbc-pillowfight. In case you don\u2019t know this tool, have a look <a href=\"https:\/\/docs.couchbase.com\/sdk-api\/couchbase-c-client-2.6.2\/md_doc_cbc-pillowfight.html\">here<\/a>.<\/span><\/p>\n<p><span style=\"font-size: 14.6667px;font-family: Calibri;color: #000000;background-color: transparent;vertical-align: baseline\">That looked very promising, all I had to do was to deploy it in OpenShift\u2026but I had no idea how to do that! So ok, OpenShift runs the applications in Docker containers, it meant the first step was to create a Docker image. After a few tries, I came up with this Dockerfile based on CentOS, very simple and <a href=\"https:\/\/github.com\/nmotte\/cbc-pillowfight\/blob\/master\/Dockerfile\">straightforward<\/a>.\u00a0The important bit was to use only one RUN command to reduce the number of layers and pass the cbc-pillowfight parameters as Docker parameters, to make it generic. The Dockerfile can be compiled and pushed to a repo with these commands:<\/span><\/p>\n<p><span style=\"font-size: 14.6667px;font-family: Calibri;color: #000000;background-color: transparent;vertical-align: baseline\"><img loading=\"lazy\" decoding=\"async\" style=\"border-width: initial;border-style: none\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/01\/sC1ptCVFZTQVyiBprL560Yw.png\" width=\"597\" height=\"325\" \/><br \/>\nYou can find the compiled Docker image <a href=\"https:\/\/hub.docker.com\/r\/nmotte\/cbc-pillowfight\/\">here<\/a>.\u00a0Now, all I needed was to create an OpenShift template, taking all the <a href=\"https:\/\/github.com\/nmotte\/cbc-pillowfight\/blob\/master\/cbc-pillowfight-template.yaml\">previous parameters in input<\/a>.<\/span><span style=\"font-size: 14.6667px;font-family: Calibri;color: #000000;background-color: transparent;vertical-align: baseline\">I added a replication controller to scale easily my injection and a suffix is appended to its name so you can deploy several injectors with different parameters.\u00a0And we\u2019re done! Pretty simple, right?\u00a0Now I can simulate any kind of traffic to my Couchbase cluster running in OpenShift and increase this traffic simply by adding replicas to my replication controller.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.295;margin-top: 0pt;margin-bottom: 8pt\"><span style=\"font-size: 14.6667px;font-family: Calibri;color: #000000;background-color: transparent;vertical-align: baseline\">Here is an example how to use it:<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.295;margin-top: 0pt;margin-bottom: 8pt\"><span style=\"font-size: 14.6667px;font-family: Calibri;color: #000000;background-color: transparent;vertical-align: baseline\"><img loading=\"lazy\" decoding=\"async\" style=\"border-width: initial;border-style: none\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/01\/sU0dat8axAxKdVTp-MqWe_g.png\" width=\"612\" height=\"374\" \/><br \/>\nI easily reached 46k ops\/sec in a tiny environment, and it is honestly super convenient to use.\u00a0I uploaded a <a href=\"https:\/\/www.youtube.com\/watch?v=0znRueHMB4A&amp;feature=youtu.be\">youtube video<\/a>\u00a0to show you concretely how to use it. Here are the details of my environment:<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.295;margin-top: 0pt;margin-bottom: 8pt\"><strong>Hardware<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2593\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/01\/hardware.png\" alt=\"hardware\" width=\"1322\" height=\"441\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/hardware.png 1322w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/hardware-300x100.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/hardware-1024x342.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/hardware-768x256.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/hardware-20x7.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/hardware-1320x440.png 1320w\" sizes=\"auto, (max-width: 1322px) 100vw, 1322px\" \/><\/p>\n<p><strong>VMs<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2594\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/01\/vms.png\" alt=\"\" width=\"690\" height=\"458\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/vms.png 690w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/vms-300x199.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/vms-400x267.png 400w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/vms-450x300.png 450w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/vms-20x13.png 20w\" sizes=\"auto, (max-width: 690px) 100vw, 690px\" \/><\/p>\n<p><strong>Storage<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2595\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/01\/storage.png\" alt=\"storage\" width=\"621\" height=\"141\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/storage.png 621w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/storage-300x68.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/storage-20x5.png 20w\" sizes=\"auto, (max-width: 621px) 100vw, 621px\" \/><\/p>\n<p><strong>Distribution of Pods<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2597\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/01\/pods.png\" alt=\"\" width=\"922\" height=\"218\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/pods.png 922w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/pods-300x71.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/pods-768x182.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/pods-20x5.png 20w\" sizes=\"auto, (max-width: 922px) 100vw, 922px\" \/><\/p>\n<p><strong>Couchbase Console\u00a0<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2598\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/01\/couchbase_console.png\" alt=\"Couchbase_Console\" width=\"867\" height=\"850\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/couchbase_console.png 867w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/couchbase_console-300x294.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/couchbase_console-768x753.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/couchbase_console-65x65.png 65w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/couchbase_console-50x50.png 50w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/couchbase_console-20x20.png 20w\" sizes=\"auto, (max-width: 867px) 100vw, 867px\" \/><\/p>\n<p><strong><a href=\"https:\/\/github.com\/nmotte\/umon\">System Metrics<\/a><\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-2599\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/01\/newsystem_metric_extract-1024x678.jpeg\" alt=\"SystemMetrics\" width=\"900\" height=\"596\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/newsystem_metric_extract-1024x678.jpeg 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/newsystem_metric_extract-300x199.jpeg 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/newsystem_metric_extract-768x509.jpeg 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/newsystem_metric_extract-20x13.jpeg 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/01\/newsystem_metric_extract.jpeg 1200w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/p>\n<p><span style=\"font-size: 14.6667px;font-family: Calibri;color: #000000;background-color: transparent;vertical-align: baseline\">We can clearly see that the bottleneck of my environment is the CPU. I could improve the performance by adding more vCPUs to my VMs, but that\u2019s not the point of this post.<\/span><\/p>\n<p dir=\"ltr\" style=\"line-height: 1.295;margin-top: 0pt;margin-bottom: 8pt\"><span style=\"font-size: 14.6667px;font-family: Calibri;color: #000000;background-color: transparent;vertical-align: baseline\">I strongly believe the integration of datastores in OpenShift will become more and more popular in local environments at least, most probably in test environments too and maybe even in production, once it will be supported by the different vendors. It is a great way to standardize the management of the <a href=\"https:\/\/www.couchbase.com\/resources\/concepts\/data-platforms\/\">data layer<\/a>. This OpenShift template for cbc-pillowfight will then be the perfect tool to generate a workload on your beloved <a href=\"https:\/\/developer.couchbase.com\/\">Couchbase<\/a> cluster!<\/span><\/p>\n<ol style=\"margin-top: 0pt;margin-bottom: 0pt\">\n<li dir=\"ltr\" style=\"font-size: 14.6667px;font-family: Calibri;color: #000000;background-color: transparent;vertical-align: baseline\">\n<p dir=\"ltr\" style=\"line-height: 1.295;margin-top: 0pt;margin-bottom: 8pt\"><em><span style=\"font-size: 14.6667px;background-color: transparent;vertical-align: baseline\">Deploying Couchbase in <a href=\"https:\/\/www.openshift.com\/\">OpenShift<\/a> is not yet supported<\/span><\/em><\/p>\n<\/li>\n<\/ol>\n","protected":false},"excerpt":{"rendered":"<p>Our first Guest Post from the\u00a0Community Writing Program\u00a0comes from\u00a0Nicolas Motte. Nico\u00a0is a full-stack engineer in the South of France. He released several native and hybrid mobile applications to iTunes and Google Play and started his own company in 2015. Today [&hellip;]<\/p>\n","protected":false},"author":53,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816],"tags":[],"ppma_author":[9026],"class_list":["post-2492","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.8 (Yoast SEO v25.8) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>A convenient workload generator for Couchbase in OpenShift<\/title>\n<meta name=\"description\" content=\"Learn how to integrate the datastores in OpenShift in local environments at least, most probably in test environments too and maybe even in production.\" \/>\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\/a-convenient-workload-generator-for-couchbase-in-openshift\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"A convenient workload generator for Couchbase in OpenShift\" \/>\n<meta property=\"og:description\" content=\"Learn how to integrate the datastores in OpenShift in local environments at least, most probably in test environments too and maybe even in production.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-01-13T12:40:11+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-08-29T09:48:33+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/01\/nicolas.jpg\" \/>\n<meta name=\"author\" content=\"Laura Czajkowski, Developer Community Manager, 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=\"Laura Czajkowski, Developer Community Manager, Couchbase\" \/>\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\/a-convenient-workload-generator-for-couchbase-in-openshift\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/\"},\"author\":{\"name\":\"Laura Czajkowski, Developer Community Manager, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5f1a0ece4e644bc8c037686fbc8f3220\"},\"headline\":\"A convenient workload generator for Couchbase in OpenShift\",\"datePublished\":\"2017-01-13T12:40:11+00:00\",\"dateModified\":\"2024-08-29T09:48:33+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/\"},\"wordCount\":560,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Couchbase Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/\",\"name\":\"A convenient workload generator for Couchbase in OpenShift\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2017-01-13T12:40:11+00:00\",\"dateModified\":\"2024-08-29T09:48:33+00:00\",\"description\":\"Learn how to integrate the datastores in OpenShift in local environments at least, most probably in test environments too and maybe even in production.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/#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\/a-convenient-workload-generator-for-couchbase-in-openshift\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"A convenient workload generator for Couchbase in OpenShift\"}]},{\"@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\/5f1a0ece4e644bc8c037686fbc8f3220\",\"name\":\"Laura Czajkowski, Developer Community Manager, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/9deb07d5daaa00220534c31768bc4409\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/bc8eebaf25cbe39bc12fd7b1ef92550becc3953ab877a3f0285a59ec2d30b754?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/bc8eebaf25cbe39bc12fd7b1ef92550becc3953ab877a3f0285a59ec2d30b754?s=96&d=mm&r=g\",\"caption\":\"Laura Czajkowski, Developer Community Manager, Couchbase\"},\"description\":\"Laura Czajkowski is the Snr. Developer Community Manager at Couchbase overseeing the community. She\u2019s responsible for our monthly developer newsletter.\",\"url\":\"https:\/\/www.couchbase.com\/blog\/author\/laura-czajkowski\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"A convenient workload generator for Couchbase in OpenShift","description":"Learn how to integrate the datastores in OpenShift in local environments at least, most probably in test environments too and maybe even in production.","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\/a-convenient-workload-generator-for-couchbase-in-openshift\/","og_locale":"en_US","og_type":"article","og_title":"A convenient workload generator for Couchbase in OpenShift","og_description":"Learn how to integrate the datastores in OpenShift in local environments at least, most probably in test environments too and maybe even in production.","og_url":"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-01-13T12:40:11+00:00","article_modified_time":"2024-08-29T09:48:33+00:00","og_image":[{"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/01\/nicolas.jpg","type":"","width":"","height":""}],"author":"Laura Czajkowski, Developer Community Manager, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Laura Czajkowski, Developer Community Manager, Couchbase","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/"},"author":{"name":"Laura Czajkowski, Developer Community Manager, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/5f1a0ece4e644bc8c037686fbc8f3220"},"headline":"A convenient workload generator for Couchbase in OpenShift","datePublished":"2017-01-13T12:40:11+00:00","dateModified":"2024-08-29T09:48:33+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/"},"wordCount":560,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Couchbase Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/","url":"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/","name":"A convenient workload generator for Couchbase in OpenShift","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2017-01-13T12:40:11+00:00","dateModified":"2024-08-29T09:48:33+00:00","description":"Learn how to integrate the datastores in OpenShift in local environments at least, most probably in test environments too and maybe even in production.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/a-convenient-workload-generator-for-couchbase-in-openshift\/#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\/a-convenient-workload-generator-for-couchbase-in-openshift\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"A convenient workload generator for Couchbase in OpenShift"}]},{"@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\/5f1a0ece4e644bc8c037686fbc8f3220","name":"Laura Czajkowski, Developer Community Manager, Couchbase","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/9deb07d5daaa00220534c31768bc4409","url":"https:\/\/secure.gravatar.com\/avatar\/bc8eebaf25cbe39bc12fd7b1ef92550becc3953ab877a3f0285a59ec2d30b754?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bc8eebaf25cbe39bc12fd7b1ef92550becc3953ab877a3f0285a59ec2d30b754?s=96&d=mm&r=g","caption":"Laura Czajkowski, Developer Community Manager, Couchbase"},"description":"Laura Czajkowski is the Snr. Developer Community Manager at Couchbase overseeing the community. She\u2019s responsible for our monthly developer newsletter.","url":"https:\/\/www.couchbase.com\/blog\/author\/laura-czajkowski\/"}]}},"authors":[{"term_id":9026,"user_id":53,"is_guest":0,"slug":"laura-czajkowski","display_name":"Laura Czajkowski, Developer Community Manager, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/bc8eebaf25cbe39bc12fd7b1ef92550becc3953ab877a3f0285a59ec2d30b754?s=96&d=mm&r=g","author_category":"","last_name":"Czajkowski","first_name":"Laura","job_title":"","user_url":"","description":"Laura Czajkowski is the Snr. Developer Community Manager at Couchbase overseeing the community. She\u2019s responsible for our monthly developer newsletter."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2492","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\/53"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/comments?post=2492"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/posts\/2492\/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=2492"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/categories?post=2492"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/tags?post=2492"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/wp-json\/wp\/v2\/ppma_author?post=2492"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}