SaaS データ書き出しパフォーマンスの向上
マルチスレッドデータの書き出しモード フィードデータをバッチに分割して並行して処理することで、エクスポートプロセスを高速化します。
開発者またはシステムインテグレーターは、デフォルトのシングルスレッドモードではなく、マルチスレッドデータ書き出しモードを使用することでパフォーマンスを向上させることができます。 シングルスレッドモードでは、フィード送信プロセスは並列化されません。 さらに、デフォルトの制限セットにより、すべてのクライアントは 1 つのスレッドのみを使用するように制限されています。 ほとんどの場合、設定のカスタマイズは必要ありません。
マルチスレッドモードの使用に関する考慮事項
データの書き出しサービスを使用する場合、正確な同期を確保しながらパフォーマンスを最適化する必要があります。
Adobeでは、データ取得にはデフォルト設定を使用することをお勧めします。この設定は通常、Commerce マーチャントの同期要件を満たしています。 ただし、カスタマイズによって処理時間を短縮できるシナリオもあります。
データの書き出し設定をカスタマイズするかどうかを決定する際には、次の主な要因を考慮します。
-
初期同期 – 製品数を評価し、 データ量と送信時間を推定 デフォルトの設定に基づいています。 考えてみてください。Commerce サービスをオンボーディングした後で、この最初のデータ同期を待つことができますか?
-
新しいストア表示または Web サイトの追加 – 運用開始後に、同じ製品数のストアビューまたは web サイトを追加する予定がある場合は、データ量と送信時間を見積もります。 デフォルトの設定で同期時間を許容できるか、またはマルチスレッド処理が必要かどうかを決定します。
-
通常の読み込み – 価格の更新や在庫ステータスの変更など、定期的なインポートを予測します。 許容可能な期間内にこれらの更新を適用できるか、またはより高速な処理が必要かを評価します。
-
製品の重量 – 製品が軽量か重いか検討します。 製品の説明や属性によって製品サイズが大きくなる場合は、バッチサイズを適切に調整します。
データ量や同期時間の見積もりを含む入念な計画を行うと、多くの場合、カスタマイズが不要になります。 最適な結果を得るには、これらの予測に基づいてフィードの取り込み操作をスケジュールします。
マルチスレッドの構成
すべてののマルチスレッドモードがサポートされます。 同期メソッド – 完全同期、部分同期、および失敗した項目の同期。 マルチスレッドを構成するには、同期中に使用するスレッドの数とバッチサイズを指定します。
threadCount
は、エンティティを処理するためにアクティブ化されるスレッドの数です。 デフォルトthreadCount
等しい1
.batchSize
は、1 回のイテレーションで処理されるエンティティの数です。 デフォルトbatchSize
等しい100
価格給料以外のすべてのフィードに関するレコード。 価格フィードの場合、デフォルト値はです500
レコード。
resync コマンドを実行するとき、またはマルチスレッド設定をAdobe Commerce アプリケーション設定に追加することにより、一時的なオプションとしてマルチスレッドを設定できます。
実行時にマルチスレッドを構成する
コマンドラインから full sync コマンドを実行する場合は、を追加してマルチスレッド処理を指定します。 threadCount
および batchSize
cli コマンドのオプション。
bin/magento saas:resync --feed=products --threadCount=2 --batchSize=200
コマンドラインで指定されたオプションは、Adobe Commerce アプリケーションで指定されたデータエクスポート設定よりも優先されます config.php
ファイル。
Commerce設定へのマルチスレッドの追加
マルチスレッドを使用してすべてのデータ書き出し処理を行う場合、システムインテグレーターまたは開発者はCommerce アプリケーション設定で各フィードのスレッド数とバッチサイズを変更できます。
これらの変更は、カスタム値をに追加することで適用できます。 システム セクション 設定ファイル app/etc/config.php
.
例:製品と価格のマルチスレッドの設定
<?php
return [
'system' => [
'default' => [
'commerce_data_export' => [
'feeds' => [
'products' => [
'batch_size' => 100,
'thread_count' => 2,
],
'prices' => [
'batch_size' => 400,
'thread_count' => 4,
]
]
],
// ...