サポート » 使い方全般 » session_start()に時間がかかる件について

  • 解決済 satoshi

    (@pottiri)


    WordPressを運用していて、アクセスが集中するとレスポンスが悪くなる時があります。
    Wordpress に G Analyticsを入れていて、このプラグインがページの初期化処理でsession_start()をしているのですが、ここで時間がかかっているようです。
    長いと1分以上かかります。
    session_start()にそんなに時間がかかるのはにわかには信じられないのですが。。。
    何が原因と考えられるでしょうか。
    心当たりがあれば教えてください。

    • このトピックはsatoshiが7年前に変更しました。
7件の返信を表示中 - 1 - 7件目 (全7件中)
  • msio

    (@msio)

    セッションの開始自体で遅くなるということはないと思うのですが、たしかセッションはすでに開いている場合はエラーになったと気がするのでエラー処理の対応で遅くなっている可能性はないでしょうか。
    既存のセッション確認と処理、ないしはTRYなど回避策が組まれているでしょうか。
    公開されているプラグインの動作としては回避を組まれている、または回避の必要がないとしているところだと思います。
    エラーで何らかの処理問題が発生しているという場合であればサーバーのPHP設定がデバッグができるようになっている、エラーメッセージを表示するように設定されてなどは確認できますでしょうか。
    メッセージがWeb画面に表示されてもよい状況であっても、プログラムがヘッダーを形成する前に文章の表示をかけている場合は機能上重篤な問題になるので何等かの問題になっているかもしれません。

    munyagu

    (@munyagu)

    こんにちは

    php.iniの設定がsession.entropy_file = /dev/randomとなっていると、アクセス集中でエントロピーが枯渇するとブロックされ、応答が遅くなることがあるようです。
    https://netmark.jp/2008/10/phpsession.html

    しかし、公式ディレクトリにも同様なプラグインがあると思いますので、そちらを利用することをお勧めします。

    トピック投稿者 satoshi

    (@pottiri)

    msio様

    回答ありがとうございます。
    session_startの箇所は、下記のように記述されているだけでtry catchはされていません。
    if (!isset($_SESSION)) {
    session_start();
    }
    エラーはログを見る限りだと何も出ていないようです。

    msio

    (@msio)

    一応有無の確認はされているようなので @munyagu さまのご提示の通りセッションの乱数発生が負荷になっているかもしれません。
    しかし問題点としてはワードプレスがすでにセッションを使用しているためプラグインを止めてもサーバーの関係上速度低下は免れないかもしれません。
    乱数発生の問題であればご利用中のサーバーのCPUの問題や乱数発生についての改善も選択肢にはございますかと思いますが、グーグルのアクセス集計にサイト自身がセッションを用意する必要はなかったかと思いますのでプラグインの再選択が最もお勧めしたい候補です。
    セッションを独自で利用するということはなんらかの独自データを利用されていて、それが有用であるからではないかと思うのですが、必要であればセッション開始にフックをする仕様のものを選択されたほうがいいと思います。

    munyagu

    (@munyagu)

    misoさん

    現在、WordPress自体はsession_startで開始する、phpの機能を使ったセッション管理を行っていません。
    pottiriさんがお使いの4.5.3についても同様です。

    ただ、プラグインによっては使っているものがあるかもしれません。
    公式のものではあまりない・・・のかな?
    使っても審査通るのかどうか知らないのですけれど。

    msio

    (@msio)

    @munyagu さま
    当方の不勉強ご指摘ありがとうございます。
    てっきりログイン動作の情報はwordpressのセッション情報だと誤認しておりまして @pottiri さまにおきましてはご当惑されたことと思います。
    ご両名にご迷惑お手間をおかけしましたこと申し訳ございません。

    トピック投稿者 satoshi

    (@pottiri)

    @msioさま
    @munyaguさま

    回答ありがとうございます。
    皆様の回答からするとプラグインを変えた方がよさそうですね。
    プラグインを見直してみます。

7件の返信を表示中 - 1 - 7件目 (全7件中)
  • トピック「session_start()に時間がかかる件について」には新たに返信することはできません。