Session soubor se aktualizuje při každém požadavku

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
whipster
Člen | 17
+
0
-

Session soubor se aktualizuje při každém požadavku.
Vzhledem k tomu že na naší aplikaci chodí velké množství lidí, byly jsme nuceni hledat příčinu tohoto neustálého vytěžování HDD.

v knihovně Nette\Http\Session na řádku #106 jsme našli tuto konstrukci.
nikde jsem nenašel k čemu to je.. K čemu je to dobré?

<?php
// initialize structures
$nf = & $_SESSION['__NF'];
	if (empty($nf)) { // new session
$nf = array('C' => 0);
	} else {
$nf['C']++;
}

/* PHP 5.3.1
Apache/2.2.14 (Win32) mod_ssl/2.2.17 OpenSSL/0.9.8l PHP/5.3.1
Nette Framework 2.0-beta (revision f38d86f released on 2011-08-24) */
?>
David Grudl
Nette Core | 8228
+
0
-

Řekl bych, že PHP ukládá session soubor vždycky, nezávisle na tom, jestli se změnil.

nAS
Člen | 277
+
0
-

whipster napsal(a):

… Vzhledem k tomu že na naší aplikaci chodí velké množství lidí …

V tom případě doporučuji ukládat sessions do Memcached, nebo kamkoliv jinam ale v RAMce.

whipster
Člen | 17
+
0
-

David Grudl napsal(a):

Řekl bych, že PHP ukládá session soubor vždycky, nezávisle na tom, jestli se změnil.

Všimli jsme si, že sessiony v PHP mění datum, ale obsah zůstavá při nezměněné sessioně stejný.
Takže jsme nabili dojmu, že se soubor sessiony pouze TOUCHne, ale taky se možná smaže a opětovně vytvoří znovu.. to netuším..

Každopádně děkuji za reakci. Proč se tam vlastně přičítá ta jednička? má to něco společného se zabezpečením sessiony ? viz. http://php.vrana.cz/…omennych.php

David Grudl
Nette Core | 8228
+
0
-

To je čistě pro potřeby analýzy, kolikrát byl session soubor použit.

Ot@s
Backer | 476
+
0
-

whipster napsal(a):
Všimli jsme si, že sessiony v PHP mění datum, ale obsah zůstavá při nezměněné sessioně stejný.
Takže jsme nabili dojmu, že se soubor sessiony pouze TOUCHne, ale taky se možná smaže a opětovně vytvoří znovu.. to netuším..

Záleží na tom, jak je nakonfigurovaný OS webserveru – i čtení souboru znamená update času přístupu ve filesystemu. Viz. http://lifehacker.com/…abling-atime