Laravel ExcelキューがRAMを大量に消費する
P粉884667022
P粉884667022 2024-03-21 19:11:50
0
2
346

Laravel Excel を使用して Excel ファイルを読み取るように Laravel キューを設定しました。小さなファイルにはうまく機能します。

ただし、大きなファイル (100 MB) と 400k レコードの場合、時間がかかりすぎ、サーバーの 40 GB 近くの RAM を消費します。

queue:work コマンドを実行するようにスーパーバイザーを設定しました。私のサーバーのメモリは60GBです。 小さなファイルの場合はすべて問題なく動作しますが、大きなファイルの場合は動作しません。

テレスコープを使用してクエリ時間もチェックしましたが、どのクエリも長い時間はかかりませんでした。

P粉884667022
P粉884667022

全員に返信(2)
P粉726234648

現時点では、あなたの質問に対する直接の答えはありません。多くは目標とする結果に依存します。それを解決するには自分なりの方法を考案する必要があります。

私が最も懸念していることの 1 つは、大きな Excel ファイルをチャンクまたはパーティション化してキューに入れることです。 Laravel ジョブのバッチ処理を利用できるかもしれません。

導入できるもう 1 つの方法は、マイクロサービス システムです。このシステムでは、これらの重いタスクが別のより優れたマシンによって実行されます。

しかし、先ほども言いましたが、このような問題に対する唯一の解決策はありません。これは自分で解決する必要があります。

いいねを押す +0
P粉455093123

このような問題に直面しているすべての人に、Spout の使用をお勧めします。それはまるで魔法のように機能します。このために 3 つの PHP サービスを試しましたが、最終的にはスパウトのみが機能しました。

https://opensource.box.com/spout/

https://github.com/box/spout

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!