ちょっとした理由から、今日のサーバーはセッションの開始時に非常に遅くなることに決めました。すべてのsession_startに対して、サーバーは30秒後にタイムアウトするか、セッションを開始するのに約20秒かかります。これは非常に奇妙なことですが、これが非常に長い間これをしていないことが分かりました(私たちのサーバーがこれを最後にしたのは約7か月前でした)。セッションを変更してデータベースを実行しようとしましたが、正常に動作しますが、現在のWebサイトが構築されているので、すべてのページに移動してセッションの読み込みを変更して新しいセッションハンドラ。したがって、私の質問は残っています:session_startは非常に遅いですが(ときどきのみ)
どうしてそんなに遅く、なぜ時々だけですか?
私たちは、24GBのRAMを搭載した専用のヘッツナーサーバーと、シンプルなWebサーバーを実行するのに十分なCPUを搭載しています(Xeon、確信していますが、わかりません)。私たちはapache + fastcgi + php5の設定でサーバー上でdebianを実行します。
サーバーは、サーバーの状態とtop
コマンドのどちらの負荷も報告しません。 Vnstat
は、私たちのネットワークリンクに何の問題も報告していません(ローカルセッションの処理が遅くなることはありません)。 IOtop
は、ハードドライブ全体を引き継ぐプロセスに問題はないことを報告します。セッションファイルが置かれているtmpフォルダに書き込むことは、vimを通して実行すると高速に動作します。
ここでも私の主な関心事は、DBやメモリキャッシュバージョンのセッションに切り替える必要があるかどうかということではありません。 PHP自体を除いて、うまく動作しているようです。
EDIT : 私たちのPHPのtmpディレクトリの最大ファイルは2.9 MBなので、影響を与えるものはありません。
UPDATE:私は何が間違っていたか、それを修正する方法は決して分かりませんでしたが、memcached/dbセッションに切り替えると問題は消えました。
あなたの 'tmp'ディレクトリを見てください。 PHPはそこにセッションを保存します。何かが悪いかどうか確認してください。 – freshnode
おそらくディスクやファイルシステムに何か問題がありますか? – Jon
「すべてのページに行き、新しいセッションハンドラを組み込むためにセッションの読み込みを変更するには数日かかるでしょう」もしそうなら、その事実を最初に修正することを検討するべきです – PeeHaa