เวลาตอบสนองนานสำหรับ Mage_Core_Model_Session_Abstract_Varien :: start


15

ดังนั้นฉันจึงสังเกตเห็นใน New Relic บนเว็บไซต์ของเรามากมายการโหลดหน้าเว็บมากมายของเราเกิดขึ้นเนื่องจาก Mage_Core_Model_Session_Abstract_Varien :: เริ่ม ฉันได้ทำการวิจัยแล้วและไม่เคยเห็นใครพูดถึงเรื่องนี้เลย

เราใช้ Nginx, PHP FPM, Redis สำหรับการแคชและ Memcache สำหรับเซสชัน ความคิดของฉันบางอย่างอาจเป็นอย่างอื่นที่ใช้เวลานานและปรากฏว่าการโหลดเซสชันเป็นปัญหา หรืออย่างใดมีรหัสที่กำหนดเองบางอย่างที่เพิ่มข้อมูลจำนวนมากไปยังเซสชั่นที่ก่อให้เกิดเซสชันขนาดใหญ่

ฉันไม่ได้มีความรู้ในแง่ของเซสชันและวิธีการจัดการ แต่ฉันพบบทความบางอย่างที่พูดถึงการล็อคเซสชัน อย่างไรก็ตามฉันไม่คิดว่าผู้คนจะเปิดหลายหน้าพร้อมกัน

บางส่วนของโหลดเหล่านี้มีความยาว 20 - 30 วินาที ฉันแค่อยากรู้อยากเห็นถ้าใครสังเกตเห็นสิ่งนี้หรือมีความรู้เพิ่มเติมเกี่ยวกับวิธีการวิเคราะห์คำขอแบบยาวเหล่านี้เนื่องจากเซสชัน


1
ฉันสังเกตเห็นพฤติกรรมเดียวกันกับ Redis ที่ใช้เป็นที่เก็บข้อมูลเซสชัน ไม่มีเงื่อนงำว่าทำไมมันจึงเกิดขึ้นเช่นกัน

2
คุณสามารถติดตามสาเหตุของสิ่งนี้หรือยัง ฉันมีการตั้งค่าที่คล้ายกันมาก (Redis สำหรับแคช memcached สำหรับเซสชัน) และเราเพิ่งเริ่มใช้ New Relic เพื่อติดตามประสิทธิภาพ เรากำลังติดตามร่องรอยมากกว่า 20 วินาทีที่ดูเหมือนจะเกิดจากบางสิ่งใน MCMSAV :: เริ่มต้นตามที่คุณเห็น น่าเสียดายที่ฉันไม่สามารถมองลึกลงไปได้คำแนะนำเครื่องมือบอกว่า "การมองเห็นที่ลึกลงไปไม่พร้อมใช้งานเนื่องจากคลาสและวิธีการเหล่านี้ไม่ได้รับการกำหนดค่าด้วยการกำหนดค่าปัจจุบันของเอเจนต์ PHP" ฉันยังไม่ได้ตรวจสอบเพิ่มเติม ความคิดใด ๆ
BrianVPS

1
@BrianVPS ฉันไม่เคยพบอะไรเลย มันยังคงเป็นปริศนาสำหรับฉันและไม่เคยได้รับเวลามากขึ้นในการติดตามมัน ฉันยังเห็นมันในทุกโครงการ คุณเคยเจออะไรไหม?
dan.codes

1
ฉันไม่รู้ว่าเราพบสาเหตุใดบ้าง แต่ฉันไม่เห็นสิ่งนี้เมื่อเร็ว ๆ นี้ เราทำการเปลี่ยนแปลงที่สำคัญกับไซต์และตัดแต่งไขมันจำนวนมาก ฉันปิดการใช้งานโมดูลหลักที่ไม่ได้ใช้บางส่วนลบแอตทริบิวต์หมวดหมู่และผลิตภัณฑ์ที่ไม่ได้ใช้จำนวนมาก ตั้งแต่นั้นมาสิ่งต่าง ๆ ได้รับการปรับปรุงในทุกด้าน ฉันไม่รู้ว่ามีสิ่งใดเกี่ยวข้องหรือไม่ แต่โดยทั่วไปการกำจัดสิ่งที่ไม่จำเป็นดูเหมือนว่าจะช่วยวีโอไอพีอย่างมีนัยสำคัญ มันเป็นระบบที่ทรงพลัง แต่เต็มไปด้วยโค้ดจำนวนมากซึ่งไม่จำเป็นต้องมีหลายไซต์ การกำจัดส่วนเกินนั้นมีประโยชน์มาก
BrianVPS

@BrianVPS ฉันมีปัญหาเดียวกับที่คุณมี (มีร่องรอยมากกว่า 20 วินาทีที่ดูเหมือนจะเกิดจากบางสิ่งบางอย่างใน MCMSAV :: start) คุณพบทางออกหรือไม่?
Denis Spalenza

คำตอบ:


7

นี่น่าจะเกี่ยวข้องกับปรากฏการณ์ที่เกี่ยวข้องกับเซสชันของระบบไฟล์ แม้จะมีสิ่งที่คุณรายงานผ่านการใช้ Mecached สำหรับเซสชัน แต่ฉันเคยเห็นสิ่งนี้ด้วยตัวเองเมื่อจริง ๆ แล้วฉันใช้ระบบไฟล์

สิ่งนี้ได้ถูกกล่าวถึงก่อนหน้านี้:

/magento//a/3721/336

ในความเป็นจริงภาพหน้าจอของ cachegrind เผยให้เห็นจุดที่แน่นอนซึ่งการเริ่มต้นเซสชันนั้นใช้เวลามากเกินไปในMage_Core_Model_Session_Abstract_Varien::startขณะที่คุณชี้อย่างถูกต้อง:

ป้อนคำอธิบายรูปภาพที่นี่

ในเธรดที่อ้างถึงมีข้อเสนอแนะว่าผลกระทบนี้อาจลดลงด้วยการจัดเก็บในเซสชั่นในหน่วยความจำ - แต่ไม่มีข้อมูลที่เป็นรูปธรรมที่ฉันรู้เพื่อสนับสนุนทฤษฎี หากคุณอยู่ในความเป็นจริงโดยใช้ memcached มันก็เป็นเหตุผลว่าการล็อคเซสชันระดับ PHP จะป้องกันการร้องขอในอนาคตไปยังที่เก็บข้อมูลเซสชันจนกว่าจะมีการปลดล็อค

โดยทั่วไปจะเห็นเฉพาะคำขอที่ต้องการเข้าถึงข้อมูลเซสชันดังนั้นการสร้างชุดรูปแบบส่วนหน้าของคุณจะเป็นประโยชน์ในการ จำกัด จำนวนการเข้าถึงที่จำเป็นเพื่อหลีกเลี่ยงการล็อกที่อาจเกิดขึ้นเมื่อผู้ใช้มีแท็บอื่นหรือคำขอที่ทำงานเป็นเวลานาน เพื่อย้ายออกไป

HTH ไชโย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.