Calender
Sun Mon Tue Wed Thu Fri Sat
     12
3456789
10111213141516
17181920212223
24252627282930
<< November 2019 >>
広告
SEARCH

SELECTED ENTRIES
RECENT COMMENTS
RECENT TRACKBACK
CATEGORIES
ARCHIVES
LINKS
PROFILE
OTHERS
SKYPE
PC: skype.jojo.jp
chat
iPad: iphone.jojo.jp
chat call
THANKS



本日:
昨日:
多言語
広告
 ▼▲ 作業日報 ▼△
    What's under the hood?
<< 船底掃除、船底塗装手順(Y23) | main | SoftBANK DELL DL001Streak、海ポチャ >>
【PHP】同一セッションIDでのロック現象(グラフサンプル)
PHPの同一セッション中SESSION変数はクリティカルセクション扱いとなるようです。
phpにて同一セッションPHPSESSIDにてsession_start()が開始されると、サーバー側で同一セッションIDのリクエストはロック(待た)されます。


この場合クライアントで非同期的な作りであったとしてもサーバー側で同期的な返答しか返せないのでasyncが効いていないように見えます。

リンク:
session_wriet_close()....phpサイト
社内用のログインが必要なメンバーサイトを構築してもらっていたのですが「非同期で動かない」「処理中、他の画面が開かない」との報告を受け調べてもらったのですが、結局同一セッションID上のセッションは「session_write_close()」を行うまでは「session_start()」で待たされます。

確か「送信」ボタンの連打対策等を大変な思いをしてやっていた覚えがあったので最初は「そんなはずはない!」と思っていたのですが。。そうだった?

タブ等で同一セッション中の画面をいくつも開いている場合は固まったり、リクエストがタマってしまうので別の対策が必要になりそうです。

・検証用Ajaxグラフ


Ajaxのリクエストは一度に行いますがデータ取得スクリプトが1〜5秒の処理時間で返答しますが、セッションONだとsession_startでphp側がロックされるため同期的な動作となります。
| 開発関連 | 11:42 | comments(0) | trackbacks(0) |









http://blog.jojo.jp/trackback/1424869