原因を突き止めることができた異常な問題があります。現在、CentOS Linux 6.3 nginx/1.0.15 PHP バージョン 5.3.18 PHP-FPM 5.3.18-1 にセットアップしています。
誰かが新しいタイム スタンプを更新するためにシャウトを投稿するたびに書き込まれる refresh.txt ファイルがあります。また、JS はこのタイムスタンプの値を 1 秒ごとにチェックします。これの問題は..5人以上の人が同時にrefresh.txtファイルに書き込むと、100%のCPUを使用するとします。タイムスタンプを書くだけ!!
なぜこれをやっているのかわからない..
これが私のphpコードです。
if(!empty($rf_clear))
$tb_send = "clear";
else
$tb_send = time();
// Add flatfile check
$tbcheck = "refresh.txt";
$tbsend = fopen($tbcheck, 'w');
$tbtime = $tb_send;
fwrite($tbsend, $tbtime);
fclose($tbsend);
JS
talk_jax.open("GET", boardurl+"/talkbox/refresh.txt?nocache="+nocache);
どうすればこれを修正できますか、またはこれを回避できますか? どんな助けでも大歓迎です。
ありがとう。
編集:これに対する解決策はまだありません。リクエストを制限する方法はありますか?または、これをすべて一緒に行うより良い方法はありますか。
私はAPCキャッシュを試しましたが、問題はphpファイルを十分に速く提供していないため、何か間違ったことをしていない限り、叫び声が本当に遅いですか?
apc_store("refresh", time());
JS
talk_jax.open("GET", boardurl+"/talkbox/refresh.php?nocache="+nocache);
データベースも使ってみました。phpファイルを提供するには遅すぎます。