Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision e0ba33ff

Von Moritz Bunkus vor mehr als 13 Jahren hinzugefügt

  • ID e0ba33ff38a40207472185d639567966e136da6b
  • Vorgänger 874a3b3d
  • Nachfolger be3db7d1

Nicht immer alle Session-Werte automatisch laden und parsen

Durch das Speichern ganzer Forms in der Session wurde das Laden sehr
langsam, weil bei jedem Request alle Session-Werte geladen und mit
YAML geparst wurden. Rief man z.B. ein Erzeugnis mit 50 Einzelteilen
auf, so erhöhte sich dadurch die Requestzeit um eine Sekunde -- bis
die Session gelöscht wird (Logout, Timeout oder bei nicht-FastCGI).

Lösung ist, dass nur diejenigen Werte bei jedem Request automatisch
geladen werden, die entweder 'auto_restore' gesetzt haben, oder die
immer benötigt werden (Login, Passwort, Root-Passwort). Alle anderen
Werte werden nur auf Existenz geprüft und erst bei
$::auth->get_session_value() wirklich geladen und per YAML geparst.

Unterschiede anzeigen:

SL/Dispatcher.pm
234 234
  };
235 235

  
236 236
  # cleanup
237
  $::auth->expire_session_keys->save_session;
237
  $::auth->save_session;
238 238
  $::auth->expire_sessions;
239 239
  $::auth->reset;
240 240

  

Auch abrufbar als: Unified diff