Re: yet another Session oddness/bug?

From: Date: Wed, 29 Mar 2000 05:56:39 +0000
Subject: Re: yet another Session oddness/bug?
References: 1  Groups: php.version4 
Request: Send a blank email to php-version4+get-12783@lists.php.net to get a copy of this message
Howdy again, I've been doing even more testing with this and sessions just seems to be very flaky to me under a decent load. Here is another output where I had the value of my session variable got blown away. It was working just fine for 29 requests, and then all of a suddon the value got nuked and changed. Here is the output of the test. During test 30 (RESPONSE(30), you can see that the $count variable got changed from 29 to 2. There are no other threads using this session id. I can give out my test app freely if anyone wants to look at it. It's pretty straight forward. ... RESPONSE(28) HTTP/1.1 200 OK^M Date: Wed, 29 Mar 2000 20:39:40 GMT^M Server: Apache/1.3.12 Ben-SSL/1.39 (Unix) PHP/4.0b5-dev^M Set-Cookie: Apache=10.1.0.69.14067954362380798; path=/^M X-Powered-By: PHP/4.0b5-dev^M Expires: Thu, 19 Nov 1981 08:52:00 GMT^M Cache-Control: no-cache^M Pragma: no-cache^M Connection: close^M Content-Type: text/html; charset=iso-8859-1^M ^M <html> COUNT=28;<br> </html> REQUEST(29) GET /rc/php/test/test_session.php HTTP/1.0 User-Agent: Mozilla/4.61 [en] (X11; U; Linux 2.2.12-20 i686) Host: 10.1.0.80 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso-8859-1,*,utf-8 Cookie: PHPSESSID=e202710a7f3217f80f74aa5a21602c85 RESPONSE(29) HTTP/1.1 200 OK^M Date: Wed, 29 Mar 2000 20:39:40 GMT^M Server: Apache/1.3.12 Ben-SSL/1.39 (Unix) PHP/4.0b5-dev^M Set-Cookie: Apache=10.1.0.69.14092954362380804; path=/^M X-Powered-By: PHP/4.0b5-dev^M Expires: Thu, 19 Nov 1981 08:52:00 GMT^M Cache-Control: no-cache^M Pragma: no-cache^M Connection: close^M Content-Type: text/html; charset=iso-8859-1^M ^M <html> COUNT=29;<br> </html> REQUEST(30) GET /rc/php/test/test_session.php HTTP/1.0 User-Agent: Mozilla/4.61 [en] (X11; U; Linux 2.2.12-20 i686) Host: 10.1.0.80 Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png Accept-Encoding: gzip Accept-Language: en Accept-Charset: iso-8859-1,*,utf-8 Cookie: PHPSESSID=e202710a7f3217f80f74aa5a21602c85 RESPONSE(30) HTTP/1.1 200 OK^M Date: Wed, 29 Mar 2000 20:39:40 GMT^M Server: Apache/1.3.12 Ben-SSL/1.39 (Unix) PHP/4.0b5-dev^M Set-Cookie: Apache=10.1.0.69.14073954362380807; path=/^M X-Powered-By: PHP/4.0b5-dev^M Expires: Thu, 19 Nov 1981 08:52:00 GMT^M Cache-Control: no-cache^M Pragma: no-cache^M Connection: close^M Content-Type: text/html; charset=iso-8859-1^M ^M <html> COUNT=2;<br> </html> > Howdy folks, > I'm working on writing a C test application to test the robustness of > sessions. > I basically need to validate to myself that I can use this on a very > high traffic site. > So I wrote a simple multithreaded app that just makes simple http > GET requests > for a small php page that I wrote. The only thing that this app does is > spawn off > n number of threads to make x number of back to back requests of the > same url. > It parses out the PHPSESSID cookie from the response header the first > time it > sees it, to use in subsiquent GET requests to maintain the session. > Below is my simple php page which gets called over and over for each > thread. > <? > session_start(); > ?> > <html> > <? > if (!isset($count)) > { > session_register("count"); > $count = 1; > echo "\nNEW SESSION\n"; > } > else > $count++; > ?> > COUNT=<? echo $count; ?>; times.<br> > </html> > > My problem I'm having is that I'm seeing a session not really working > properly. > Below is the output of my app. I have the output of all of the threads > going to individual > files, so I can make sense of the output. > > As you see from the output (below), the app makes 2 requests for the > same file on the server. > The first request gets a response to set the PHPSESSID cookie and the > output of the > php script shows that the session is new and the count variable's value > is 1. > The app then makes the second request for the same file on the server > with the > PHPSESSID cookie set with the appropriate value. The problem is the > second > response. According to the second response, the session variable $count > wasn't > set, and so it re-registers the variable again and the assigns it to 1 > again. This seems > like a bug to me. > > The really odd thing is, this only happens when I run the test app on a > different machine > then the web server. If I run the test app on the same machine as the > test server sessions > seem to start and work appropriately. > > Does anyone have any ideas of what I might look at? Is this a bug? > Could the server > GET requests be malformed? > > Thanks > Walt > > thread 1 started > GET /rc/php/test/test_session.php HTTP/1.0 > User-Agent: Mozilla/4.61 [en] (X11; U; Linux 2.2.12-20 i686) > Host: 10.1.0.69 > Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png > Accept-Encoding: gzip > Accept-Language: en > Accept-Charset: iso-8859-1,*,utf-8 > > REQUEST(0) GET /rc/php/test/test_session.php HTTP/1.0 > User-Agent: Mozilla/4.61 [en] (X11; U; Linux 2.2.12-20 i686) > Host: 10.1.0.69 > Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png > Accept-Encoding: gzip > Accept-Language: en > Accept-Charset: iso-8859-1,*,utf-8 > > RESPONSE(0) > HTTP/1.1 200 OK^M > Date: Wed, 29 Mar 2000 04:28:24 GMT^M > Server: Apache/1.3.12 Ben-SSL/1.39 (Unix) PHP/4.0RC1^M > Set-Cookie: Apache=10.1.0.79.2060954304104670; path=/^M > X-Powered-By: PHP/4.0RC1^M > Set-Cookie: PHPSESSID=793e2564f9581b193f6f732a9c075aba; path=/; > domain=.rocketcash.com^M > Expires: Thu, 19 Nov 1981 08:52:00 GMT^M > Cache-Control: no-cache, post-check=0, pre-check=0^M > Pragma: no-cache^M > Connection: close^M > Content-Type: text/html; charset=iso-8859-1^M > ^M > <html> > > NEW SESSION > COUNT=1; times.<br> > </html> > > New COOKIE: PHPSESSID=793e2564f9581b193f6f732a9c075aba > REQUEST(1) GET /rc/php/test/test_session.php HTTP/1.0 > User-Agent: Mozilla/4.61 [en] (X11; U; Linux 2.2.12-20 i686) > Host: 10.1.0.69 > Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png > Accept-Encoding: gzip > Accept-Language: en > Accept-Charset: iso-8859-1,*,utf-8 > Cookie: PHPSESSID=793e2564f9581b193f6f732a9c075aba > > RESPONSE(1) > HTTP/1.1 200 OK^M > Date: Wed, 29 Mar 2000 04:28:24 GMT^M > Server: Apache/1.3.12 Ben-SSL/1.39 (Unix) PHP/4.0RC1^M > Set-Cookie: Apache=10.1.0.79.2063954304104677; path=/^M > X-Powered-By: PHP/4.0RC1^M > Expires: Thu, 19 Nov 1981 08:52:00 GMT^M > Cache-Control: no-cache, post-check=0, pre-check=0^M > Pragma: no-cache^M > Connection: close^M > Content-Type: text/html; charset=iso-8859-1^M > ^M > <html> > > NEW SESSION > COUNT=1; times.<br> > </html>

« previous php.version4 (#12783) next »