コミュニティと共有したいWeaveのトラブルシューティングアドバイスがありますか?このガイドの下部にあるEdit this pageをクリックして、プルリクエストを送信することで直接貢献できます。
トレースページの読み込みが遅い
トレースページの読み込みが遅い場合は、表示される行数を減らして読み込み時間を改善してください。デフォルト値は50
です。UIを通じて、またはクエリパラメータを使用して行数を減らすことができます。
UIで調整する(推奨)
トレースページの右下にあるPer pageコントロールを使用して、表示される行数を調整します。デフォルトの50
に加えて、10
、25
、または100
に設定することもできます。
クエリパラメータを使用する
手動アプローチを好む場合は、クエリURLのpageSize
クエリパラメータを最大値の100
未満の値に変更できます。
サーバーレスポンスのキャッシング
Weaveは、繰り返しクエリを行う場合や、ネットワーク帯域幅が限られている場合のパフォーマンスを向上させるために、サーバーレスポンスのキャッシングを提供しています。現在はデフォルトで無効になっていますが、この機能は将来のリリースでデフォルトの動作になる予定です。キャッシングを使用するタイミング
サーバーレスポンスのキャッシングは、特に次の場合に有益です:- 同じクエリを頻繁に実行する
- ネットワーク帯域幅が制限されている
- レイテンシが高い環境で作業している
- オフラインで開発していて、後で使用するためにレスポンスをキャッシュしたい
キャッシングを有効にする方法
キャッシングを有効にするには、以下の環境変数を設定できます:キャッシングの動作
技術的には、この機能はサーバーに対する冪等なリクエストをキャッシュします。具体的には、以下をキャッシュします:obj_read
table_query
table_query_stats
refs_read_batch
file_content_read
キャッシュサイズとストレージの詳細
キャッシュサイズは次によって制御されますWEAVE_SERVER_CACHE_SIZE_LIMIT
(バイト単位)。実際のディスク使用量は3つのコンポーネントで構成されています:
- 一定の32KBチェックサムファイル
- 実行中のクライアントごとに最大約4MBのWrite-Ahead Log (WAL)ファイル(プログラム終了時に自動的に削除されます)
- メインデータベースファイル(最小32KB、最大
WEAVE_SERVER_CACHE_SIZE_LIMIT
- 実行中 >= 32KB + ~4MB + キャッシュサイズ
- 終了後 >= 32KB + キャッシュサイズ
- 実行中:最大約9MB
- 終了後:最大約5MB
トレースデータが切り詰められる
大きなトレースデータがWeave UIで部分的に切り取られることがあります。この問題は、デフォルトのトレース出力がWeaveがシリアル化方法を知らない生の、カスタムPythonオブジェクトであるために発生します。 大きなトレースデータが切り取られないようにするには、すべてのトレースデータを返す文字列の辞書を定義してください。評価のクリーンアップ時間が長い
大規模なデータセットで評価を実行する際のパフォーマンスを向上させるために、以下の2つの方法を一緒に使用する必要があります。フラッシング
大規模なデータセットで評価を実行する場合、データセットがバックグラウンドスレッドでアップロードされている間、プログラム実行前に長い時間がかかることがあります。これは一般的に、メインスレッドの実行がバックグラウンドのクリーンアップが完了する前に終了した場合に発生します。client.flush()
を呼び出すと、すべてのバックグラウンドタスクがメインスレッドで処理され、メインスレッド実行中の並列処理が確保されます。これにより、ユーザーコードがデータがサーバーにアップロードされる前に完了した場合のパフォーマンスが向上します。
Example:
クライアントの並列処理の増加
クライアントの並列処理は環境に基づいて自動的に決定されますが、以下の環境変数を使用して手動で設定できます:WEAVE_CLIENT_PARALLELISM
:並列処理に利用可能なスレッド数。この数を増やすと、並列処理に利用可能なスレッド数が増加し、データセットのアップロードなどのバックグラウンドタスクのパフォーマンスが向上する可能性があります。
settings
引数を weave.init()
に設定することもできます:
OSエラー
[Errno 24]: Too many open files
このエラーは、開いているファイルの数がオペレーティングシステムによって設定された制限を超えた場合に発生します。Weaveでは、大規模な画像データセットを扱っている場合にこれが発生する可能性があります。Weaveは画像処理に PIL
を使用しており、これはプログラムの実行中、ファイル記述子を開いたままにします。
この問題を解決するには、開いているファイルのシステム制限を 65,536
に増やします ulimit
を使用して: