{"_id":"57d8a88593b2390e008c10c5","user":"5668fa9755e4b32100935d41","__v":2,"version":{"_id":"5668fab608f90021008e8832","__v":19,"project":"5668fab608f90021008e882f","createdAt":"2015-12-10T04:08:22.769Z","releaseDate":"2015-12-10T04:08:22.769Z","categories":["5668fab708f90021008e8833","569740f124490c3700170a64","569742b58560a60d00e2c25d","569742bd0b09a41900b2446c","569742cd69393517000c82b3","569742f459a6692d003fad8f","569743020b09a41900b2446d","5697430b69393517000c82b5","56a17776470ae00d00c30642","56a2c48a831e2a0d0069b1ad","56b535757bccae0d00e9a1cd","56e1ff6aa49fdc0e005746b5","57e1c88115bf6522002a5e4e","57fa65275ba65a17008b988f","57fbeea34002550e004c032e","58474584889b6c2d00fb86e9","58475dcc64157f0f002f1907","587e7b5158666c2700965d4e","58a349fc30852819007ba083"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.18.0","version":"1.18"},"project":"5668fab608f90021008e882f","category":{"_id":"5697430b69393517000c82b5","version":"5668fab608f90021008e8832","__v":3,"pages":["56975a3d59a6692d003fadae","56a2c3dff4f3410d008a84dc","56d88ca37a04df0b00ddf1c7"],"project":"5668fab608f90021008e882f","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-01-14T06:41:15.588Z","from_sync":false,"order":10,"slug":"faq-troubleshooting","title":"FAQ / Troubleshooting"},"parentDoc":null,"updates":["5a4d763dd03679001257d237"],"next":{"pages":[],"description":""},"createdAt":"2016-09-14T01:31:49.163Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"settings":"","results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":4,"body":"Below is some information on the uptime and latency offered by LiftIgniter's API, Javascript SDK, and other services. You can see the [LiftIgniter Overview](doc:introduction) for more context on each of the pieces.\n\nWe strongly recommend using HTTPS when accessing our endpoints. However, we do support the use of HTTP for highly latency-sensitive use-cases.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"1. JavaScript code\"\n}\n[/block]\nOur [JavaScript beacon](doc:integrating-liftigniter) loads asynchronously on client websites.\n\n*File structure and size*: Our Javascript file is loaded from MaxCDN, a globally distributed CDN with edge locations in the United States, Europe, and Asia Pacific. The file size is approximately 75 kilobytes, but the zipped file as transmitted is approximately 30 kilobytes. Since loading is asynchronous, it does not block any of the other page content from loading.\n\nThe Javascript beacon is cached on the client and therefore reloads from cache on subsequent pageviews made shortly thereafter. \n\n*Load latency*: This can vary between 50 milliseconds and half a second, depending on your client location and Internet speed. It should generally be loaded by the time your DOM is ready, if you put the snippet in the HEAD of the page.\n\n*Check availability*: You can load cdn.petametrics.com/<your jsk>.js to verify that the CDN is working.\n\n*Uptime*: Our CDN has never gone down globally. In the worst case, if an edge location is down, content may take more time to load from a different location.\n\nIf the Javascript code loads but there are errors in the code (as seen in console messages), see the [Common Bugs/Errors](doc:common-bugserrors) page.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"2. API endpoint for sending inventory (POST, GET, and DELETE)\"\n}\n[/block]\nOur API endpoint for sending activity and inventory is https://api.petametrics.com. This endpoint is used for direct inventory insertions (using the POST endpoint), inventory retrieval (using the GET endpoint) and inventory deletion (using the DELETE endpoint).\n\n*Check availability*: To check that the endpoint is up, you can query https://api.petametrics.com/:::at:::status at that endpoint, and should receive a 200 \"ok\" response if it is up\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"3. Query endpoint for sending activity and getting recommendations\"\n}\n[/block]\nOur query endpoint is https://query.petametrics.com. It is in three regions:\n\n* US West (Oregon)\n* US East (South Carolina)\n* EU West (Belgium)\n\n*Load latency*: Server-side latency varies between 75 and 175 milliseconds, depending on the complexity of the query and other features that vary based on the organization. Latency for most queries should be less than 125 milliseconds. You need to add to this the round-trip time, that can vary between 50 milliseconds and a second. Round-trip times can be much lower for a server-side integration if your infrastructure is co-hosted in the same region.\n\nIf you have custom needs that require better latencies, we can implement a solution that reduces the server-side latency, and can work with you on a server-side integration so as to reduce round-trip time. Please contact [Support](doc:support) for more questions around latency.\n\n*Check availability*: You can query https://query.petametrics.com/@status at that endpoint, and should receive a 200 \"ok\" response if it is up.\n\n*Uptime*: Our global API endpoint, as well as our regional endpoints, almost never go completely down (in a typical month, they don't go down at all).\n\nWe occasionally (a few times a month) have *temporarily degraded performance* in a region, defined as follows:\n\n* More than 1 in 1,000 queries timing out, and/or\n* Queries taking twice as long as usual, or longer (more than a few percentage of queries taking over 250 milliseconds)\n\nTemporarily degraded performance usually occurs either due to sudden changes in traffic levels or infrastructure issues. It generally lasts for less than ten minutes, since our automated recovery mechanisms scale out to meet the enhanced demand and recover from infrastructure issues. Websites that access our recommendations through the JavaScript SDK need not worry since there are built-in safeguards in the SDK. Network connectivity issues and client-side issues are a *much* bigger source of failure than server downtime. Since your integration needs to be robust to these, it will automatically be robust to degraded server performance.\n\nWe automatically detect and respond to degraded performance by scaling up infrastructure, and our team is notified if automated recovery methods fail.\n\nNote that client-side timeouts can occur due to poor network connectivity even when our servers are up; these account for the majority of the timeouts experienced by end users. You can learn more about these at [Query retries and backup recommendations (JavaScript)](doc:query-retries-and-backup-recommendations-javascript).\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"4. LiftIgniter Lab\"\n}\n[/block]\nThe [LiftIgniter Lab](https://lab.liftigniter.com) (our Analytics dashboard) does not currently have cross-region redundancy. It is hosted in North California. It may temporarily be down for up to 2 minutes during upgrades - this has **no effect** on our personalization service through either our Javascript or API endpoints.","excerpt":"","slug":"uptime-and-latency","type":"basic","title":"Uptime and Latency"}

Uptime and Latency


Below is some information on the uptime and latency offered by LiftIgniter's API, Javascript SDK, and other services. You can see the [LiftIgniter Overview](doc:introduction) for more context on each of the pieces. We strongly recommend using HTTPS when accessing our endpoints. However, we do support the use of HTTP for highly latency-sensitive use-cases. [block:api-header] { "type": "basic", "title": "1. JavaScript code" } [/block] Our [JavaScript beacon](doc:integrating-liftigniter) loads asynchronously on client websites. *File structure and size*: Our Javascript file is loaded from MaxCDN, a globally distributed CDN with edge locations in the United States, Europe, and Asia Pacific. The file size is approximately 75 kilobytes, but the zipped file as transmitted is approximately 30 kilobytes. Since loading is asynchronous, it does not block any of the other page content from loading. The Javascript beacon is cached on the client and therefore reloads from cache on subsequent pageviews made shortly thereafter. *Load latency*: This can vary between 50 milliseconds and half a second, depending on your client location and Internet speed. It should generally be loaded by the time your DOM is ready, if you put the snippet in the HEAD of the page. *Check availability*: You can load cdn.petametrics.com/<your jsk>.js to verify that the CDN is working. *Uptime*: Our CDN has never gone down globally. In the worst case, if an edge location is down, content may take more time to load from a different location. If the Javascript code loads but there are errors in the code (as seen in console messages), see the [Common Bugs/Errors](doc:common-bugserrors) page. [block:api-header] { "type": "basic", "title": "2. API endpoint for sending inventory (POST, GET, and DELETE)" } [/block] Our API endpoint for sending activity and inventory is https://api.petametrics.com. This endpoint is used for direct inventory insertions (using the POST endpoint), inventory retrieval (using the GET endpoint) and inventory deletion (using the DELETE endpoint). *Check availability*: To check that the endpoint is up, you can query https://api.petametrics.com/@status at that endpoint, and should receive a 200 "ok" response if it is up [block:api-header] { "type": "basic", "title": "3. Query endpoint for sending activity and getting recommendations" } [/block] Our query endpoint is https://query.petametrics.com. It is in three regions: * US West (Oregon) * US East (South Carolina) * EU West (Belgium) *Load latency*: Server-side latency varies between 75 and 175 milliseconds, depending on the complexity of the query and other features that vary based on the organization. Latency for most queries should be less than 125 milliseconds. You need to add to this the round-trip time, that can vary between 50 milliseconds and a second. Round-trip times can be much lower for a server-side integration if your infrastructure is co-hosted in the same region. If you have custom needs that require better latencies, we can implement a solution that reduces the server-side latency, and can work with you on a server-side integration so as to reduce round-trip time. Please contact [Support](doc:support) for more questions around latency. *Check availability*: You can query https://query.petametrics.com/@status at that endpoint, and should receive a 200 "ok" response if it is up. *Uptime*: Our global API endpoint, as well as our regional endpoints, almost never go completely down (in a typical month, they don't go down at all). We occasionally (a few times a month) have *temporarily degraded performance* in a region, defined as follows: * More than 1 in 1,000 queries timing out, and/or * Queries taking twice as long as usual, or longer (more than a few percentage of queries taking over 250 milliseconds) Temporarily degraded performance usually occurs either due to sudden changes in traffic levels or infrastructure issues. It generally lasts for less than ten minutes, since our automated recovery mechanisms scale out to meet the enhanced demand and recover from infrastructure issues. Websites that access our recommendations through the JavaScript SDK need not worry since there are built-in safeguards in the SDK. Network connectivity issues and client-side issues are a *much* bigger source of failure than server downtime. Since your integration needs to be robust to these, it will automatically be robust to degraded server performance. We automatically detect and respond to degraded performance by scaling up infrastructure, and our team is notified if automated recovery methods fail. Note that client-side timeouts can occur due to poor network connectivity even when our servers are up; these account for the majority of the timeouts experienced by end users. You can learn more about these at [Query retries and backup recommendations (JavaScript)](doc:query-retries-and-backup-recommendations-javascript). [block:api-header] { "type": "basic", "title": "4. LiftIgniter Lab" } [/block] The [LiftIgniter Lab](https://lab.liftigniter.com) (our Analytics dashboard) does not currently have cross-region redundancy. It is hosted in North California. It may temporarily be down for up to 2 minutes during upgrades - this has **no effect** on our personalization service through either our Javascript or API endpoints.