ソフトリミットについて
ここではソフトリミットの重要な点について詳しく解説します。
ソフトリミットとは?
その制限を超えても動作は可能ですが、パフォーマンスや安定性に影響を及ぼすような制限です。
ソフトリミットは、アプリケーションの構造や料金プランなどに基づいて設定されます。
ソフトリミットにはどういうものがあるの?
SVGファイルのサイズ
SVGファイルはXMLコードに格納されており、ブラウザがこれを解釈して、解像度を失うことなく拡大または縮小できるベクター形式のグラフィックを表示します。これは、JPEGやPNGなどのラスターイメージとは異なり、元のサイズを超えて拡大されてもピクセル化することがないという特徴があります。
SVGファイルは多くの状況で非常に便利ですが、ローカルデバイスがファイルを処理する際に遅延が発生しないように、SVGファイルのサイズに関して1メガバイト(1 Mb)までにすることをお勧めしています。
- SVGファイルのソフトリミットは1Mb
:advanced 制約を使用した検索
:advanced を使用した検索は、サーバーへの負担が大きくなる可能性があります。厳密な制限はありませんが、一般的に、10,000 件を超えるデータに対してこの制約を使用することはお勧めしません。
- :advancedのソフトリミットは10,000件
ソフトリミットの予測と対策
Bubbleサーバーへの負荷が高まると、遅延、タイムアウト、エラーが発生する可能性があり、これらの問題の発生は、アプリの設計やデータの処理量に大きく依存します。これらを防ぐためにソフトリミットの予測と対策が必要になってきますが、ソフトリミットはアプリケーションの構造によって大きく変動するため、予測が難しいです。
ソフトリミットの対策をするには、複雑なプロセスを小さく分割することが推奨されています。
タイムアウトの予測が難しい原因
スロットリングがタイムアウトに影響を及ぼす関係で、予測が非常に難しくなる場合があります。
スロットリングとは、システムの過負荷を回避するため、一定の制限値を超えた場合に意図的に性能を低下させたり、要求を一時的に拒否したりする制御のことです。
アプリが一時的にほぼ最大の許容容量を使用すると、アプリは許容容量を超えずに稼働し続けるためにスロットリングされることがあります。これにより、アプリ内のワークフローが遅延し、ハードタイムアウト制限まで超える可能性を高めてしまいます。
スロットリングによって、タイムアウトの予測はより難しくなります。同じプロセスが一度は正常に完了しても、別の場合ではスロットリングの影響でタイムアウトする可能性があります。
以上のことから、ソフトリミットのエラー等を防ぐには、スロットリングがアプリの性能やタイムアウトに与える影響を理解し、アプリ全体の容量を適切に管理することが重要です。同時に実行されるプロセスがお互いに影響を及ぼす可能性があることを念頭に置き、アクティブなユーザー数が少ない時間に重い処理を実行するなど、タイムアウトの問題を最小限に抑えるための戦略を検討することが必要です。