連続稼働時間と遅延時間

このドキュメントでは、LiftIgniterのAPI、Javascript SDK、その他のサービスの連続稼働時間と遅延時間について説明します。それぞれの内容については、LiftIgniterの概要のドキュメントを参照してください。

LiftIgniterのエンドポイントはHTTPとHTTPSの両方の通信方法をサポートしていますが、非暗号化のHTTPの通信は、2017年の中期までに廃止する予定です。そのため、エンドポイントへの通信には、HTTPSを使用するようにしてください。

1. Javascriptコード

我々のJacascriptは、お客様のWebサイトに非同期的に読み込まれます。

ファイル構成とサイズ: 我々のJavascriptはMaxCDN(米国、ヨーロッパ、アジアなどの幅広いエッジロケーションで展開されているCDN)から読み込まれます。ファイルサイズはおよそ75キロバイトですが、圧縮したまま転送する場合はおよそ30キロバイトになります。読み込みが非同期なため、ページのコンテンツの読み込みを妨害することはありません。

Javascriptビーコンはクライアント側でキャッシュして、直後からのWebページ閲覧では、キャッシュから再読込されます。

読み込み遅延時間: お客様のクライアントの地理的位置とインターネット接続の速度によって、50ミリ秒から0.5秒の間で変動します。通常では、スニペットがWebページのhead部に置かれていれば、DOMが読み込まれるまでに読み込みを完了します。

可用性の確認: cdn.petametrics.com/p.jsを読み込むことで、CDNの稼働状況を確認できます。

連続稼働時間: 我々の使用するCDNがすべて稼働を停止したことは今までにありません。最悪のケースでは、エッジロケーションのCDNが稼働停止して、他のCDNから読み込みを行う場合に通常よりも長く読み込みに時間がかかることが考えられます。

Javascriptのコードが読み込まれてから、コードにエラーが見つかった場合(Consoleメッセージで確認できます)は、一般的なバグ/エラーのドキュメントを参照してください。

2. APIエンドポイントからのインベントリの送信(POST、GET、DELETE)

アクティビティやインベントリを送るAPIエンドポイントは、https://api.petametrics.comです。このエンドポイントは、インベントリの書き込み(POSTエンドポイントを使う)、インベントリの取得(GETエンドポイントを使う)、インベントリの削除(DELETEエンドポイントを使う)に使います。

可用性の確認: エンドポイントの稼働状況を確認する場合は、エンドポイントのhttps://api.petametrics.com/@statusにクエリを送信してください。エンドポイントが稼働している場合は、200 "ok"のレスポンスを返します。

3. クエリエンドポイントからのアクティビティの送信とリコメンデーションの取得

クエリエンドポイントは、https://query.petametrics.comです。このサービスは3つの地域のクラウドサービスでホストしています。それぞれの地域似、直接クエリを送ることができるエンドポイントがあります。

米国西部(オレゴン州)エンドポイント https://query-us-west1.petametrics.com
米国東部(サウスカロライナ州)エンドポイント https://query-us-east1.petametrics.com
欧州西部(ベルギー)エンドポイント https://query-europe-west1.petametrics.com

読み込み遅延時間: サーバ側の遅延時間は、クエリの複雑さと、お客様ごとに使用する機能の違いによって、75から175ミリ秒の間で変動します。ほとんどのクエリにおける遅延時間は、最大でも125ミリ秒になります。これらの数値を、50ミリ秒から1秒の間でラウンドトリップタイム(往復遅延時間)に加算してください。ラウンドトリップタイムは、同じ地域でホストされたインフラのサーバで組み込みを行った場合は、さらに短くなります。

より短い遅延時間に対する個別のニーズがある場合は、サーバ側での遅延時間を短縮するためのソリューションを組み込むことができます。そしてお客様側のサーバ側での組み込みをお手伝いすることで、ラウンドトリップタイムを短縮することができます。遅延時間に関する詳細を知りたい場合は、LiftIgniterにご連絡ください。

可用性の確認: エンドポイントの稼働状況を確認する場合は、使用するエンドポイントの/@statusにクエリを送信してください。エンドポイントが稼働している場合は、200 "ok"のレスポンスを返します。例えば、米国西部のエンドポイントの稼働状況を確認する場合は、https://query-us-west1.petametrics.com/@statusにクエリを送ります。

連続稼働時間: 我々のグローバルエンドポイントでは、完全に稼働を停止したことはほとんどありません。(一般的には、稼働を停止することはまったくありません)

まれに(月に数回)地域によっては下記のようなパフォーマンスの低下が見られることがあります。

クエリの1,000件に1件においてタイムアウトが発生
クエリの処理が通常の倍またはそれ以上の時間を要する(250ミリ秒以上)

通常では、一時的なパフォーマンスの低下は、インフラレベルでの急激なトラフィックの変化によって起こります。このパフォーマンスの低下が発生した場合は、我々の自動的なリカバリの仕組みによって、インフラに対する需要の増加に合わせてスケールアウトさせることによって対応を行い、基本的には通常10分以内に解消されます。Javascript SDKを使ってリコメンデーションを取得しているWebサイトでは、SDKにセーフガードの仕組みを持っているため、このような懸念は必要ありません。ネットワーク接続やクライアント側の問題が、我々のサーバのダウンタイムよりも問題の原因になることが多くあります。お客様が行う組み込みがこれらの問題に対して強固である必要があるため、サーバのパフォーマンス低下に対してもおのずと強固になります。

パフォーマンスの低下を自動的に検出し、インフラの強化を自動で行うため、この自動リカバリの仕組みが失敗した際に、我々に通知が送られます。

クライアント側のタイムアウトは、我々のサーバが稼働していても、ネットワーク接続の問題によって発生することがあります。ユーザ側のタイムアウトはほとんどの場合がこれにあたります。詳細については、クエリの再送信とバックアップリコメンデーション(Javascript)のドキュメントを参照してください。

4. LiftIgniter Lab

LiftIgniter Labは、複数の地域での冗長化を行っていません。このサーバは米国東部(ノースカロライナ州)でホストしています。このサーバはアップグレードなどの作業を行う際に、最大で2分間のダウンタイムが発生することがあります。