ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1765 closed enhancement (fixed)

認証時の無駄な暗号化処理によるパフォーマンス低下の改善

Reported by: ebihara Owned by: ogawa
Priority: critical Milestone: OpenPNE2.10.3
Component: その他 Version: 2.10.x & 2.11.x
Keywords: OpenPNE2.11.3 Cc:

Description (last modified by ebihara)

■概要

メンバー認証時に毎回メールアドレスの復号化→暗号化の処理をおこなってしまっているため、パフォーマンスに重大な影響を与えてしまっているのを改善する。

■仕様

セッション内にある暗号化済みのデータを使用することにより、認証時の暗号化処理を省略することができる。これにより、PC・携帯版の認証後のページのパフォーマンス改善が期待される。

■関連情報

対応リビジョン

Change History (19)

comment:1 Changed 12 years ago by ebihara

Owner: changed from nobody to ebihara
Status: newassigned

やります

comment:2 Changed 12 years ago by ebihara

Keywords: 確認中 added

r4892で対応しました。ご確認ください

comment:3 Changed 12 years ago by ebihara

r4894で、c_member_idの存在チェックをするようにしました。

comment:4 Changed 12 years ago by ogawa

Keywords: 確認中 removed

$_SESSIONのキー名「username」が内容と一致していないのがわかりにくいので修正して欲しいです。

comment:5 Changed 12 years ago by ebihara

r4895で$_SESSIONのキー名を c_member_id に変更しました。

comment:6 Changed 12 years ago by ebihara

認証の際、

  1. 暗号化済みメールアドレスを取得
  2. メールアドレスを復号化
  3. 復号化済メールアドレスを暗号化

と、無駄な復号化処理をおこなっているので、ここがボトルネックになっている大きな原因であると思われます。

そこで、 r4897 で db_member_c_member4username_encrypted()を経由しないように変更しました。

comment:7 Changed 12 years ago by ebihara

このチケットとは直接関係ありませんが、r4899で is_encrypt_username を指定するタイミングを変更しました。

comment:8 Changed 12 years ago by ebihara

Keywords: 確認中 added
Summary: db_member_c_member_id4username_encrypted()の結果をセッションで持つようにする認証時の無駄な復号化処理によるパフォーマンスの低下を改善する

おそらくは認証時に OpenPNE_Auth::getUserName() の値を引数にしていたことが db_member_c_member4username_encrypted() でボトルネックが発生していた大きな原因であり、前述した r4897 の変更により、このチケットの要件は達成できたのではないかと考えます。

ご確認ください。

comment:9 Changed 12 years ago by ebihara

SlavePNEへの対応が漏れていたために、ログインできなくなっていたのを、 r4901 で修正しました。

comment:10 Changed 12 years ago by ogawa

Keywords: OpenPNE2.10.3 added; 確認中 removed

2.10の方で再実装してみました→r4905

db_member_c_member_id4username と db_member_c_member_id4username_encrypted の主従関係を入れ替えた形ですが、こちらの方が理にかなっているかなと。変更点も少ないのでSlavePNEへの影響などもほとんどないと思われます。trunkもこの形でいきたい。

comment:11 Changed 12 years ago by ogawa

Version: 2.11.x2.10.x & 2.11.x

comment:12 Changed 12 years ago by ogawa

Owner: changed from ebihara to ogawa
Status: assignednew

trunkの修正引き受けます。

comment:13 Changed 12 years ago by ogawa

Status: newassigned

comment:14 Changed 12 years ago by ogawa

r4912で、trunkの修正を一旦元に戻した(r4892,r4894,r4895,r4897,r4899,r4901)

comment:15 Changed 12 years ago by ogawa

r4913で2.10におこなった変更r4905をマージ。ついでに、r4914でコーディング規約に対応させる修正をコミットしました。

comment:16 Changed 12 years ago by ogawa

Description: modified (diff)
Summary: 認証時の無駄な復号化処理によるパフォーマンスの低下を改善する認証時の無駄な暗号化処理によるパフォーマンス低下の改善

comment:17 Changed 12 years ago by ogawa

Resolution: fixed
Status: assignedclosed

チケットに直接関係ない変更については、別チケットで対応します。r4899など。

comment:18 Changed 12 years ago by ogawa

Description: modified (diff)
Keywords: OpenPNE2.11.3 added; OpenPNE2.10.3 removed
Milestone: OpenPNE2.11.3OpenPNE2.10.3

comment:19 Changed 12 years ago by ebihara

Description: modified (diff)
Note: See TracTickets for help on using tickets.