1

この拡張機能を使用して、ウェブサイトの製品データベースのエクスポート/インポートを実行しています。このサイトはかなりきびきびしていて、読み込みが速く、キラー サーバー上で、製品のインポート/エクスポートを除いてすべてが完璧に機能します。

カタログに約 12,000 個の製品が掲載されるまで、すべてがうまく機能していました。現在、製品のインポートは正常に機能しているようです。問題は、製品の輸出が窒息していることです。何が起こるか...エクスポートをクリックすると、約10〜12分間ハングし(その間、CLI経由でプロセスを強制終了しない限り、サイトがダウンします)、「ページが見つかりません」というエラーが表示され、同じリンクが管理者に表示されますexport 関数がアクセスしていました。

技術データと私が試したり検討したりしたもの...

  • インポート エクスポート コードは、ここからダウンロードできます。Opencart は MVC フレームワークに基づいているため、コントローラーとモデルは明らかに重要なファイルです。

  • 元のプラグインをアップグレードして、絶対最新バージョンのPHPExcelおよび Pear ライブラリを使用し、OLE およびスプレッドシートの拡張機能を使用しました。どちらもインポート/エクスポート モジュールで使用されます。

  • PHP.ini の設定は限界に達しています。最大 8 GB の RAM、post_max_size、最大アップロードを許可し、他のすべての設定はほとんど限界に達しています。サーバーは、多数の SAS ハード ドライブを備えたデュアル クアッドコア Xeon を実行しており、平均プロセッサ使用率は約 3% です。したがって、それはサーバーではなく、何かが欠けていない限り、ここでの問題の根本はphp設定ではありません.

  • エラー ログには、コード内の特定の問題を示すエラーはスローされません。以前は機能していましたが、DB に 12k を超える製品がある場合、製品のエクスポート中にロックアップするようになりました。

  • 製品テーブルの修復、データベースの最適化、および基本 Opencart フレームワークの再インストールを試みました。

ここではこれがかなり一般的な質問であることを理解していますが、私は頭がおかしいです。この問題を解決するために、カスタムのインポート/エクスポート モジュールをゼロからコーディングするつもりはありません。誰かが光を当てることができるかもしれないことを単に望んでいます (拡張機能の作者はこの問題に答えることができませんでした)。私はこのことを上から下までバラバラに選んだのですが、それが本来の方法で機能しない理由を見つけることができません。

4

2 に答える 2

0

解決策は、私が想像していたよりも簡単でした。

大規模な製品データベースで実際に機能するエクスポート ツール (そしてもちろん、CSV へのエクスポート)。

ここにリンクがあります。

于 2013-01-20T06:35:48.373 に答える
0

10 ~ 12 分は、大規模なインポートの比較的短い時間です。十分なRAMを備えた専用サーバーで、今まで45分以上持続するのを見てきました. アップロード/インポート中にサイトが完全に応答しなくなるという同じ問題がありました。問題は、Excel を使用して、保存された Excel シートからすべての値をデコードする非効率性です。私は実際に、これを実行した 1.4.X のクライアント用に効率的なバージョンのカスタム コードを作成しましたが、これは決してきれいではなく、かなり多くのデバッグが必要でした。実際のエクスポートは非​​常に非効率的で、すべてのテーブルを結合して膨大な量のメモリ (私の記憶が正しければ 1.8GB 以上) を占有するだけでした。これも、複製された小さな行を選択して個別に解析し、エクスポート データの配列に挿入することで大幅に削減されました。

于 2013-01-19T20:57:42.117 に答える