peter0601peter0601 MemberComments: 8 Received thanks: 0 Member since: October 2018

Hallo liebes Forum,

in unserem Shop habe ich das Problem, dass mir immer mal wieder über Tideways die Problematik aufgezeigt wird, dass session_start() extreme lange Ladezeiten aufweißt. Dahinter verbirgt sich ein SQL welches von Tideways nicht erfasst werden kann und ich daher nicht genau weiß, was gemacht wird.

Nach ein wenig Recherche gehe ich aktuell davon aus, dass hier die GC zuschlägt, da es nur immer mal wieder vorkommt. 

Welche Vorkehrungen kann ich treffen, dass ich hier keine solchen Hänger habe?

Einstellungen von unterschiedlichsten Parameter über PHP Info() sind wie folgt:

DirectiveLocal ValueMaster Value
zend.enable_gc On On
session.gc_divisor 1000 1000
session.gc_maxlifetime 604800 1440
session.gc_probability1 1

Infos zur Session Tabelle in der DB:

mysql> SHOW TABLE STATUS like 's_core_sessions';
+-----------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------+----------+----------------+---------+
| Name            | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time         | Update_time | Check_time | Collation | Checksum | Create_options | Comment |
+-----------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------+----------+----------------+---------+
| s_core_sessions | InnoDB |      10 | Compact    |  168 |            780 |      131072 |               0 |        16384 |  11534336 |           NULL | 2019-09-20 18:31:25 | NULL        | NULL       | utf8_bin  |     NULL |                |         |
+-----------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------+----------+----------------+---------+
1 row in set (0.01 sec)

Anzahl der Sessions sollte es daher auch nicht sein. Aktuell bin ich ein wenig ratlos und die Suche hier im Forum hat mich aktuell nur auf die Thematik mit dem GC gebracht.

Vielen Dank schon mal vorab für eure Unterstützung.

 

Answers

  • peter0601peter0601 MemberComments: 8 Received thanks: 0 Member since: October 2018

    Hallo zusammen,

    keiner eine Idee was hier zu dem Problem führen könnte?

    Gruß

    Peter

  • ShyimShyim MemberComments: 1152 Received thanks: 465 Member since: May 2015

    Hat denn der Shop viel last? Vielleicht solltest du dir dann Redis als Session Storage anschauen

  • peter0601peter0601 MemberComments: 8 Received thanks: 0 Member since: October 2018

    Hallo  @Shyim‍,

    danke für deine Antwort. Nein wirklich viel Traffic ist da nicht drauf. 400k Requests über den gesamten Shop in einer Woche. Genau das wundert mich ja.
    Die Frage, die sich mir stellt ist ja ob das wirklich Auswirkung hätte oder nicht?

  • ShyimShyim MemberComments: 1152 Received thanks: 465 Member since: May 2015

    Du kannst sonst in der php.ini den session gc später machen

  • peter0601peter0601 MemberComments: 8 Received thanks: 0 Member since: October 2018

    OK, was genau müsste ich dafür in der php.ini umstellen?

  • ShyimShyim MemberComments: 1152 Received thanks: 465 Member since: May 2015
  • peter0601peter0601 MemberComments: 8 Received thanks: 0 Member since: October 2018

    Hallo Shyim, danke für den Hinweise.

    In der ersten Frage habe ich bereits hinterlegt welche Variablen hier verwendet werden: 

    session.gc_divisor 1000 1000
    session.gc_probability1 1

    Sprich es besteht ja aktuell nur ein 0,001% Chance, dass der GC zuschlägt. Leider kommt das viel häufiger vor als die berechnete Wahrscheinlichkeit.

    Wäre es möglich, dass die max_lifetime zu hoch angesetzt ist? und das wenn der GC anschlägt dann einfach viel zu viel zu tun ist?

     

Sign In or Register to comment.