バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

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

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

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h_tanaka
投稿日時: 2021/1/5 13:45
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1638
お友達紹介プラグインでサイト遅延
お友達紹介プラグインを導入したところ、会員登録ページ /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
居住地:
投稿: 3217
Re: お友達紹介プラグインでサイト遅延
時間のかかっている箇所で登録済の全会員データを参照するような処理があるのではないでしょうか?
例えば、紹介者を紐づける為に何か処理が存在している等。


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

h_tanaka
投稿日時: 2021/1/7 10:05
対応状況: −−−
登録日: 2016/7/22
居住地: 愛媛県
投稿: 1638
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公式 Amazon Payプラグイン

統計情報

総メンバー数は88,688名です
総投稿数は109,934件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1569
9
mcontact
1280
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

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