バージョン選択

フォーラム

メニュー

オンライン状況

31 人のユーザが現在オンラインです。 (19 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 31
もっと...

サイト内検索

プラグイン > バグ報告・利用に関する質問 > お友達紹介プラグインでサイト遅延

バグ報告・利用に関する質問

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2021/1/5 13:45
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1062
お友達紹介プラグインでサイト遅延
お友達紹介プラグインを導入したところ、会員登録ページ /entry へのアクセスでサーバー負荷が高まり、サイトが遅延するようになりました。

■試したこと
1.
サーバー再起動してお友達紹介プラグインを無効化したところ現象が発生しなくなったため、プラグインが原因と思われます。

2.
プラグイン内の Event や EntryExtension の処理をコメントアウトしても現象は解決しませんでした。

3.
Symfony のデバッグモードで確認したところ、Main Request の Controller で 160s ほどかかっていました。

4.
src/Eccube/Controller/EntryController.php
の index() 内をデバッグしてみたところ、return 時の
$form->createView(),
で160秒ほどかかっていました。

他に原因を調査する方法ありますでしょうか?

なお、導入サイトでは会員が 14万人登録されています。
プラグイン開発元に問い合わせてみましたが、まだ原因はわかっていません。

EC-CUBE 4.0.2
PHP 7.1.32
お友達紹介プラグイン for EC-CUBE 4.0 4.0.4
https://www.ec-cube.net/products/detail.php?product_id=1887
468
投稿日時: 2021/1/7 1:25
対応状況: −−−
登録日: 2008/10/26
居住地:
投稿: 2813
Re: お友達紹介プラグインでサイト遅延
時間のかかっている箇所で登録済の全会員データを参照するような処理があるのではないでしょうか?
例えば、紹介者を紐づける為に何か処理が存在している等。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
EC-CUBE3マニュアル
blog

h_tanaka
投稿日時: 2021/1/7 10:05
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1062
Re: お友達紹介プラグインでサイト遅延
468 さん
ご回答ありがとうございます。

プラグインの開発元から修正ソースが送られてきました。
遅延の原因は、会員登録ページを表示時に会員情報レコードを全取得するSQLが走っていたとのことです。

デバッグモードで確認したところ、確かに SELECT * FROM dtb_customer のようなSQLがあり、SQL実行に2秒ほどかかっていました。
全会員分の情報を何かしらの処理で回すことで160秒もかかっていたのかもしれません。

次の CustomerTrait 内にある @Eccube\FormAppend() の箇所を削除することでが再現しなくなったとのことです。
とりあえず問題を解消することができました。

ただ、なぜ @Eccube\FormAppend() で全会員情報を取得するSQLが走っていたかは開発元にも不明なようです。
原因わかりますでしょうか?

/**
 * @Eccube\EntityExtension("Eccube\Entity\Customer")
 */
trait CustomerTrait
{
    /**
     * 紹介者
     * @var integer
     *
     * @ORM\ManyToOne(targetEntity="\Eccube\Entity\Customer")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="parent_customer_id", referencedColumnName="id")
     * })
     * @Eccube\FormAppend(
     *     auto_render=false,
     *     type="Symfony\Bridge\Doctrine\Form\Type\EntityType",
     *     options={
     *          "class": Customer::class,
     *          "required": false,
     *          "label": "紹介者",
     *          "mapped": false
     *     })
     */
    private $ParentCustomer;


----------------
EC-CUBE 《プラチナ》ランクパートナー
トエビス株式会社 田中 宏典
EC-CUBEの機能やデザインのカスタマイズ承ります。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は68,648名です
総投稿数は99,583件です

投稿数ランキング

1
seasoft
7333
2
468
2813
3
AMUAMU
2712
4
nanasess
2123
5
umebius
1843
6
yuh
1612
7
red
1430
8
h_tanaka
1062
9
fukap
907
10
tsuji
864
11
shutta
835
12
tao_s
793
13 ramrun 789
14 karin 657
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.