Hi all,

On Mon, Jan 26, 2015 at 6:42 AM, Yasuo Ohgaki <yohg...@ohgaki.net> wrote:

> On Thu, Jan 22, 2015 at 2:05 PM, Yasuo Ohgaki <yohg...@ohgaki.net> wrote:
>
>> I've made patch for master since PHP 5.6 is released already.
>>
>> https://wiki.php.net/rfc/session-lock-ini
>> https://github.com/php/php-src/pull/1016
>>
>> Except comments, changes are almost minimal, but includes a few bug fixes
>> that tests equality of PS(session_status) against "php_session_none". The
>> comparison must be "PS(session_status) != php_session_active" as it has
>> php_session_disabled. I also removed 2 needless session globals.
>>
>> Comments are appreciated.
>> This patch boosts PHP application performance a lot when session data
>> have not changed. It's faster than benchmark in the wiki because hashing
>> has removed.
>>
>> If I don't have any comment in a few days, I'll merge it to master.
>>
>
> I've updated UPGRADING and UPGRADING.INTERNALS and ready to merge.
> I'll wait a day more. Please comment on github if you have.
>


I've tried to get some benchmarks. It seems current system is too fast to
get obvious performance difference.

Test command: ab -c 7 -n 500000 http://localhost:8888/session.php

Test script:
<?php
ini_set('session.save_path', '/home/tmp');
ini_set('session.lazy_write', 1); // Change mode here
ini_set('session.use_strict_mode', 0);

session_id('testid');
session_start(['read_and_close'=>0]); // Change mode here
//$_SESSION['test'] = ++$_SESSION['test'];
$_SESSION['a'] = str_repeat('a', 102400);
echo '<pre>';
var_dump(session_id(), $_SESSION['test']);
?>


Old behavior was around 15000 reqs/sec.

"read_and_close" improved it to about 20000 reqs/sec. i.e 33% faster.

"lazy_write" did not improve # of reqs, but per process httpd disk writes
was reduced from 100 MB/s to 5 MB/s. i.e. There were 12 httpd processes,
1200 MB/s writes was reduced to 60 MB/s writes. Note: Linux kernel(btrfs)
does not actually write data to disk when the data is the same.

I think this would be good enough benchmark for merging.

Regards,

--
Yasuo Ohgaki
yohg...@ohgaki.net

Reply via email to