1

はい、私はsession_start が非常に遅いように見えることを読みました (ただし、時々のみ)が、私の問題は少し異なります。

非常に単純なセッションを memcached (具体的にはエラスティックキャッシュ) に保存する PHP アプリケーションがあり、最も遅いパフォーマンスのページロードを監視しています。遅いものはほとんどすべて、時間の大部分を で過ごしますが、そのZend_Session::Start理由はわかりません。これは非常にAJAX-yフロントエンドであり、単一ページのアプリに向かってますます移行し、ページロードごとにバックエンドに多数の同時リクエストを作成します。一部のリクエストは、これだけに基づく必要がある場合の最大 3 ~ 4 倍の時間がかかります。 .

明らかに、すべての要求ではありませんが、私たちが懸念しているのは十分な数です。他の誰かがこの動作を見たことがありますか? 私たちは、memcache がブロックしていないという印象を受けていました (どうしてそうなったのでしょうか? multiple-second) session_start

4

1 に答える 1

0

セッションのガベージ コレクション メカニズムを見てみましょう (確率と除数で遊んでください)。

gc がアプリの速度を低下させている場合は、古いセッションを手動で消去することを検討してください (例: gc 確率を 1 に設定し、cron 経由で gc スクリプトを実行します)。

別の可能性:

  • セッション メカニズムがロックされている (そのため、アプリはロック解除を待ってから書き込みます)
  • 保存したデータが多すぎる
于 2014-04-03T06:55:33.203 に答える