{"id":8487,"date":"2022-09-02T11:29:40","date_gmt":"2022-09-02T11:29:40","guid":{"rendered":"https:\/\/clustercs.com\/kb\/?docs=docly-documentation\/speed-optimizations\/concepts\/speed-optimization-intro"},"modified":"2022-09-19T13:02:19","modified_gmt":"2022-09-19T13:02:19","slug":"speed-optimization-intro","status":"publish","type":"docs","link":"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/speed-optimization-intro\/","title":{"rendered":"Speed Optimization &#8211; Intro"},"content":{"rendered":"\n<p><\/p>\n\n\n\n<p>At\u00a0<strong>ClusterCS<\/strong>, we have always focused on automation, flexibility and ease of use. The Speed engine is a traffic router for the web services that can deliver your website content. The Speed section interface offers an intuitive rule builder for sending and resolving web requests with the desired web service based on various conditions. The same logic applies to single servers and complex server clusters managed by ClusterCS. For more information on the\u00a0<strong>ClusterCS<\/strong>\u00a0Speed engine concepts please read the\u00a0<strong>&lt;\u00a0<a href=\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/getting-started-with-speed-engine\">ClusterCS Speed Engine \u2013 Concepts<\/a>\u00a0> section.<\/strong><\/p>\n\n\n\n<p>The Speed engine functionality is available for setups that utilize the HAproxy service as the web domain entry point. Services that can be utilized for traffic routing include Apache, NGINX, Lighttpd and Varnish, given that their settings have enabled HAproxy as the upper layer 7 load balancer. The default \u201cSmart LAMP\u201d setup provides this entire functionality out of the box. For custom setups, please make sure you follow the guidelines above.<\/p>\n\n\n\n<p>A speed rule is composed of conditions and associated action. If the conditions are met for a request, the selected action is performed. It is very important to remember that the order of the rules matters. If a certain rule meets the criteria, its action will be executed, and remaining rules will no longer be evaluated.<\/p>\n\n\n\n<p>If none of the rules match the received request, it will be forwarded to the web service assigned as default in Speed.<\/p>\n\n\n\n<p><strong>The rule conditions contain the following test types<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Path<\/strong>&nbsp;\u2013 the component of the URL following the domain name and before \u2018?query\u2019 Eg: for http:\/\/example.org\/example_path\/?qs , the path component will be \u201c\/example_path\/\u201durl_sub and not_url_sub (negation) tests will perform searches across the entire URL (including what is after \u2018?\u2019)<\/li><li><strong>Scheme<\/strong>&nbsp;\u2013 the URL scheme type (http or https)<\/li><li><strong>Cookie<\/strong>&nbsp;\u2013 cookie tests will be performed on the entire cookie header string<\/li><li><strong>IP<\/strong>&nbsp;\u2013 the source IP of the entity making the web request (client IP)<\/li><li><strong>Method<\/strong>&nbsp;\u2013 http request method (GET, POST, etc.)<\/li><li><strong>Host<\/strong>&nbsp;\u2013 matches on the domain name.<em><strong>Important:<\/strong>&nbsp;since the rule is created logically under a domain name, tests for the domain names and aliases are always performed so this rule is evaluated under the correct context. However certain tests require specific matches on the domain name such as tests for www. components or alias only tests \u2013 these can be easily performed with the Host tests<\/em><\/li><li><strong>Referrer<\/strong>&nbsp;\u2013 web request http referrer<\/li><li><strong>User Agent<\/strong>&nbsp;\u2013 web request user agent (eg: browser detection)<\/li><\/ol>\n\n\n\n<p><strong>The actions contain the following options:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong><a href=\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/actions\/speed-engine-serve-with\/\">Speed Engine \u2013 Serve With<\/a>&nbsp;<\/strong>\u2013 select one of the load balanced web services to handle the request, this reflects your currently set up services<\/li><li><strong><a href=\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/actions\/speed-engine-cache-with\/\" title=\"\">Speed Engine \u2013 Cache With<\/a>&nbsp;<\/strong>\u2013 select a caching capable web service to proxy the request through<\/li><li><strong><a href=\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/actions\/speed-engine-clear-cache\/\">Speed Engine \u2013 Clear Cache<\/a><\/strong>\u2013 define and protect a clear cache URL that can be used for refreshing a cache<\/li><li><strong><a href=\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/actions\/speed-engine-seo-redirect\/\">Speed Engine \u2013 SEO Redirect<\/a>&nbsp;<\/strong>\u2013 ability to do HTTP\/HTTPS changes, www to non-www and vice versa redirects<\/li><li><strong><a href=\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/actions\/speed-action-rate-limit\/\">Speed Action \u2013 Rate Limit<\/a>&nbsp;<\/strong>\u2013 an antispam solution which allows you to set a number of requests in a certain time period from an IP<\/li><li><strong><a href=\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/actions\/speed-action-require-authentication\/\" title=\"\">Speed Action \u2013 Require Authentication<\/a>&nbsp;\u2013&nbsp;<\/strong>secure a webpage or certain links with a&nbsp;username&nbsp;and&nbsp;password&nbsp;in order to add an extra layer of security.<\/li><li><strong><a href=\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/actions\/speed-action-url-redirect\/\">Speed Action \u2013 URL Redirect<\/a>&nbsp;\u2013<\/strong>webserver\u2019s functionality to send a user from one URL to another one<\/li><li><strong><a href=\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/actions\/speed-engine-proxy\/\" title=\"\">Speed Engine \u2013 Proxy<\/a>&nbsp;<\/strong>\u2013&nbsp;reverse-proxy to any IP and Port, locally or on an external server<\/li><li><strong><a href=\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/actions\/caching-on-wordpress-using-nginx\/\">Caching on WordPress using nginx<\/a>&nbsp;<\/strong>\u2013&nbsp;more speed, a better experience for your visitors, for SEO, or any personal reason<\/li><li><a href=\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/actions\/caching-on-wordpress-using-varnish\/\"><strong>Caching on WordPress using Varnish<\/strong><\/a>\u2013&nbsp;more speed, a better experience for your visitors, for SEO, or any personal reason<\/li><li><strong>Block<\/strong>&nbsp;\u2013 allows rejecting a request to protected resources defined by conditions (eg. Admin area)<\/li><li><strong>End with HTTP code<\/strong>&nbsp;\u2013 like Block but can end the execution with various status codes<\/li><\/ol>\n","protected":false},"excerpt":{"rendered":"<p>At\u00a0ClusterCS, we have always focused on automation, flexibility and ease of use. The Speed engine is a traffic router for the web services that can deliver your website content. The Speed section interface offers an intuitive rule builder for sending and resolving web requests with the desired web service based on various conditions. The same [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":8486,"menu_order":2,"comment_status":"open","ping_status":"closed","template":"","doc_tag":[],"class_list":["post-8487","docs","type-docs","status-publish","hentry","no-post-thumbnail"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Speed Optimization - Intro - ClusterCS Knowledge Base<\/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:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/speed-optimization-intro\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Speed Optimization - Intro - ClusterCS Knowledge Base\" \/>\n<meta property=\"og:description\" content=\"At\u00a0ClusterCS, we have always focused on automation, flexibility and ease of use. The Speed engine is a traffic router for the web services that can deliver your website content. The Speed section interface offers an intuitive rule builder for sending and resolving web requests with the desired web service based on various conditions. The same [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/speed-optimization-intro\/\" \/>\n<meta property=\"og:site_name\" content=\"ClusterCS Knowledge Base\" \/>\n<meta property=\"article:modified_time\" content=\"2022-09-19T13:02:19+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/speed-optimization-intro\/\",\"url\":\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/speed-optimization-intro\/\",\"name\":\"Speed Optimization - Intro - ClusterCS Knowledge Base\",\"isPartOf\":{\"@id\":\"https:\/\/clustercs.com\/kb\/#website\"},\"datePublished\":\"2022-09-02T11:29:40+00:00\",\"dateModified\":\"2022-09-19T13:02:19+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/speed-optimization-intro\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/speed-optimization-intro\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/speed-optimization-intro\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/clustercs.com\/kb\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ClusterCS Documentation\",\"item\":\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Speed Optimizations\",\"item\":\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Concepts\",\"item\":\"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Speed Optimization &#8211; Intro\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/clustercs.com\/kb\/#website\",\"url\":\"https:\/\/clustercs.com\/kb\/\",\"name\":\"ClusterCS Knowledge Base\",\"description\":\"Welcome to ClusterCS Documentation\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/clustercs.com\/kb\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Speed Optimization - Intro - ClusterCS Knowledge Base","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:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/speed-optimization-intro\/","og_locale":"en_US","og_type":"article","og_title":"Speed Optimization - Intro - ClusterCS Knowledge Base","og_description":"At\u00a0ClusterCS, we have always focused on automation, flexibility and ease of use. The Speed engine is a traffic router for the web services that can deliver your website content. The Speed section interface offers an intuitive rule builder for sending and resolving web requests with the desired web service based on various conditions. The same [&hellip;]","og_url":"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/speed-optimization-intro\/","og_site_name":"ClusterCS Knowledge Base","article_modified_time":"2022-09-19T13:02:19+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/speed-optimization-intro\/","url":"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/speed-optimization-intro\/","name":"Speed Optimization - Intro - ClusterCS Knowledge Base","isPartOf":{"@id":"https:\/\/clustercs.com\/kb\/#website"},"datePublished":"2022-09-02T11:29:40+00:00","dateModified":"2022-09-19T13:02:19+00:00","breadcrumb":{"@id":"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/speed-optimization-intro\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/speed-optimization-intro\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/speed-optimization-intro\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/clustercs.com\/kb\/"},{"@type":"ListItem","position":2,"name":"ClusterCS Documentation","item":"https:\/\/clustercs.com\/kb\/docs\/clustercs\/"},{"@type":"ListItem","position":3,"name":"Speed Optimizations","item":"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/"},{"@type":"ListItem","position":4,"name":"Concepts","item":"https:\/\/clustercs.com\/kb\/docs\/clustercs\/speed-optimizations\/concepts\/"},{"@type":"ListItem","position":5,"name":"Speed Optimization &#8211; Intro"}]},{"@type":"WebSite","@id":"https:\/\/clustercs.com\/kb\/#website","url":"https:\/\/clustercs.com\/kb\/","name":"ClusterCS Knowledge Base","description":"Welcome to ClusterCS Documentation","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/clustercs.com\/kb\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/clustercs.com\/kb\/wp-json\/wp\/v2\/docs\/8487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clustercs.com\/kb\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/clustercs.com\/kb\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/clustercs.com\/kb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/clustercs.com\/kb\/wp-json\/wp\/v2\/comments?post=8487"}],"version-history":[{"count":4,"href":"https:\/\/clustercs.com\/kb\/wp-json\/wp\/v2\/docs\/8487\/revisions"}],"predecessor-version":[{"id":8988,"href":"https:\/\/clustercs.com\/kb\/wp-json\/wp\/v2\/docs\/8487\/revisions\/8988"}],"up":[{"embeddable":true,"href":"https:\/\/clustercs.com\/kb\/wp-json\/wp\/v2\/docs\/8486"}],"wp:attachment":[{"href":"https:\/\/clustercs.com\/kb\/wp-json\/wp\/v2\/media?parent=8487"}],"wp:term":[{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/clustercs.com\/kb\/wp-json\/wp\/v2\/doc_tag?post=8487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}