-
Notifications
You must be signed in to change notification settings - Fork 654
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
プラグインのインストールに失敗する問題 #4142
Comments
Magentoでは基本コンソールからcomposer叩きますね。管理画面からはやった事ないです。 |
共有でも、さくらのレンタルサーバーでは難なく動くので何故かなと考えていたんですが、FreeBSD を採用しているため、 OOM Killer が走らないからみたいですね🤔 |
bolt の場合、プラグインは独自に composer.json を生成しており、bolt 本体とは別途依存関係の管理をしているようです。 |
そもそも何でこの処理こんな重いんですか? |
@tao-s Composer API の問題と Symfony キャッシュ生成の問題ですね |
例えば https://qiita.com/bezeklik/items/f9bc7afc229b5476e822 こういうアプローチでは早くならないんでしょうか? |
composer のプラグインはいろいろ試してみる価値ありそうですね。高速化するというより、多少遅くなってでも高負荷にならないようなアプローチができればなと。 |
こちらについて、 @nanasess に 復旧手順を作成いただきました。 これらを実行しても解消されない場合、フィードバックをお願いできればありがたいです。 |
並列化出来ればピークメモリは減りそうですよね〜 |
手元の環境に ダウンロードより、依存関係を解決するためにキャッシュをメモリに読み込んでいるところで、大量のメモリを食ってる感じです。 |
@nanasess 依存関係の解決でそんなメモリ食うのはやっぱ何かおかしいですね。キャッシュにいらん情報まで入ってんのかな? |
@tao-s Symfony のパッケージが多すぎるのも問題なのかなと。bolt のように、 本体とプラグインの composer.json を分ければ改善される気がします |
@nanasess 確かに全然変わらないですね。 |
あれですね |
@nobuhiko Symfony の依存パッケージ多すぎる問題ですね... |
PHPで書かれてて、symfony/PHP-FPMの代わりになるReactPHP使ってる変なのを見つけました。 |
メモリの問題が大幅に改善されるComposer2.0を利用することでこちらの問題は軽減される見通しです。 Composer 2.0 Support |
ロリポップのスタンダードプランで確認してみました。 4.0ではシステムエラーでインストールできなかったのが、4.1-RCではインストール/有効/無効/削除すべて実行できました。 4.04.0.mov4.1 RC4.1-RC.mov |
herokuでもプラグインのインストール/有効化/無効化/削除ができることを確認しました。 |
Heroku 試してみましたが、プラグイン5個くらい入れたところでシステムエラーになりました。EC-CUBEのログにシステムエラーは無かったので、 memory_limit 越えたのだと思われます |
@nanasess ロリポップ(スタンダード)はmemory_limit300MBだったのでもう少し行けそうな気がします。 |
構造上、現状ではこれ以上の修正が無理なissueです。 |
概要(Overview)
プラグインのインストール時に高負荷な状態が発生し、OOM Killerでhttpdのプロセスが殺される。そのため、プラグインのインストールが完了しない。
発生時のログは以下の通り。
主に以下の2点で、高負荷となっている
インストールに失敗した場合、インストール途中のプラグインファイルや、autoloaderのクラスマップ等が中途半端に残ってしまう。現状では復旧の手順が確立していない。
環境 (environment)
関連情報 (Ref)
The text was updated successfully, but these errors were encountered: