■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

Re: ログイン速度

NewPulsar > Re: ログイン速度 @ 2018/3/28 8:41
seto様

ログインの時間は、最初から遅かったです。
そういう仕様だと思っていたのですが、ログイン速度を
改善したいと思い、今回質問させて頂きました。

どのファイルが時間がかかるのか調査したいのですが
このエラーが発生するので、エラーを実行で飛ばすと
ログインが直ぐに終了してしまい、特定できないのです。
なのでこのエラーが原因だと思っておりました。

環境的に、他のブラウザーを入れてはいけないのも
ネックとなっており、調査が難しい状況です。
開発者ツールで、もう少し調査してみます。

因みにエラーを飛ばした後に、ログインするまでの
時間は添付の通り、時間がかかってません。



追記:
開発者ツールにてデバッガを例外で停止しないようにして実行すると
10秒以上かかるが、ネットワークの計測では、時間がかかっていない。
最初に表示される/basercms/admin/users/loginが表示される前で10秒以上の
遅延が発生しており、login以降は2秒以内で終了している。
デバッガでエラー中断させ、エラーを即時飛ばすと、直ぐにloginが表示され
2秒以内で終了している。
状況からみて、やはりエラーが原因で待機状態?に陥って、10秒程度遅延して
タイムアウトか何かで、loginが呼ばれているように見受けられます。

追記2:
その後の調査で、[ログイン]ボタン押下時に/basercms/site_configs/ajax_get_token
が呼ばれていて、これが10秒以上かかってloginが表示されているのが判りました。
ajax_get_tokenが原因で遅延が発生しているのは間違いないようです。

追記3:
更に調べてみると、[ログイン]ボタン押下時に/basercms/site_configs/ajax_get_token
より前に/basercms/admin/site_configs/ajax_creditでも時間がかかっている?
ただこれはajax_get_tokenより先に動きだし途中から同軸で動いて同じタイミングで終了
しているように見受けられるので、ajax_creditかajax_get_tokenの片方が遅延して
引っ張られている感じかと思われます。
気になるのは、このajax_creditのステータスが500なのが何故なのか…


追記4:
更に調査というかログファイルを見てなかった事に気づいて見てみました。
---------- log ----------
2018-03-28 10:06:28 Warning: Warning (2): file_get_contents(http://basercms.net/special_thanks/special_thanks/ajax_users): in [C:\xampp\htdocs\basercms\lib\Baser\Controller\SiteConfigsController.php, line 283]
Trace:
file_get_contents - [internal], line ??
SiteConfigsController::admin_ajax_credit() - CORE\Baser\Controller\SiteConfigsController.php, line 283
ReflectionMethod::invokeArgs() - [internal], line ??
Controller::invokeAction() - CORE\Cake\Controller\Controller.php, line 491
Dispatcher::_invoke() - CORE\Cake\Routing\Dispatcher.php, line 193
Dispatcher::dispatch() - CORE\Cake\Routing\Dispatcher.php, line 167
[main] - ROOT\index.php, line 159

2018-03-28 10:06:28 Critical: モデル:BcPluginAppModelの 継承は、バージョン 4.0.0 より非推奨となりました。バージョン 5.0.0 で BcPluginAppModel は削除される予定です。プラグインは AppModel を直接継承してください。
---------- log ----------

	public function admin_ajax_credit() {
		〜 省略 〜
		if($specialThanks) {
			$json = json_decode($specialThanks);
		} else {
		〜 省略 〜
		}
		if ($json == false) {
			$this->ajaxError(500, 'スペシャルサンクスデータが取得できませんでした。');
		}
		〜 省略 〜
	}

なので値が取得できてないので、500を返しているんですね。
じゃあどう対応すれば良いのでしょうか?
ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
36 人のユーザが現在オンラインです。 (34 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 36