อะไรคือวัตถุประสงค์ของการสร้างหน้าเพจ


11

ฉันคิดว่าตั้งแต่อัปเดตเป็น Magento 2.3.1 ฉันมีปัญหากับการโหลดหน้าเว็บที่ไม่ได้ทำการแก้ไข (ระหว่างการพัฒนา)

ผมร่องรอย blackfire.io และปรากฎว่า 42 วินาทีมีการใช้จ่ายในusleep ที่นี่

ตอนนี้ฉันสงสัยว่าจุดประสงค์ของเรื่องนี้คืออะไร ฉันเดาว่าฉันกำลังวิ่งอยู่ในสภาพการแข่งขันบางอย่าง?

ไม่มีใครเคยสัมผัสกับสิ่งนี้มาก่อนหรือไม่?

แก้ไข: กองการโทรดูเหมือนจะเกี่ยวข้องกับการค้า

คำตอบ:


8

นั่นคือ - ตัวเลือก? - วิศวกรวีโอไอพีที่ทำ

นี่ไม่ใช่คำตอบ แต่ดูเหมือนว่าฟังก์ชั่นนั้นจะรับการติดต่อกลับซึ่งหมายถึงการโหลดข้อมูลแคช การโทรกลับจะตรวจสอบว่ามีการล็อคอยู่หรือไม่ หากไม่ใส่จะทำให้ล็อคเข้าที่โหลดข้อมูลแล้วปลดล็อค หากมีบล็อกในสถานที่ที่มันนอนสำหรับ100,000microseconds (0.1 วินาที) แล้วเรียกรถตักดินอีกครั้ง

ดังนั้นเมื่อคิดออกมาดัง ๆ ฉันคงเดาได้

  1. อาจเป็นจำนวนมากกว่าคำขอปกติของฟังก์ชั่นนี้
  2. สูงกว่าเวลาอ่านปกติจากแคชของคุณ


7

กลไก lockedLoadData ต้องการลดภาระบนเซิร์ฟเวอร์

ก่อนหน้านี้เมื่อล้างแคชการกำหนดค่าบนไซต์ที่โหลดสูงลูกค้าทั้งหมดได้สร้างข้อมูลเดียวกันที่เพิ่มการโหลด cpu / io อย่างมาก

ด้วย LockLoadData ลูกค้าเพียงรายเดียวเท่านั้นที่จะสร้างแคชและอื่น ๆ จะรอ

รายละเอียดเพิ่มเติมเกี่ยวกับวิธีการทำงาน

ฟังก์ชั่นแรกเรียก "รับข้อมูล" การเรียกกลับและถ้าได้รับข้อมูลมากกว่าแค่ส่งคืน (ดังนั้นหากข้อมูลในแคชรหัสทำงานเหมือนก่อนหน้านี้และไม่ใช้การล็อคใด ๆ )

หากข้อมูลไม่พร้อมใช้งานและการล็อคถูกล็อคอยู่ในลูปที่เราพยายามโหลดข้อมูลจนกว่าข้อมูลจะได้รับหรือล็อคถูกลบ

หากไม่มีการล็อคเราจะสร้างการล็อคและสร้างข้อมูลในการบันทึกในแคชและลบการล็อคและส่งคืนข้อมูล

PS: เราส่งการเปลี่ยนแปลงเหล่านี้เช่นแพทช์สำหรับหนึ่งในลูกค้าที่มีโหลดมากถึง 20kRPM และทำงานได้อย่างน้อย 3 เดือนโดยไม่มีปัญหาใด ๆ ดังนั้นอาจมีปัญหาในการปรับแต่ง / โมดูลของคุณ (ตัวอย่างเช่นหากพวกเขาทำกลไกแคชแตก)


ที่น่าสนใจ ... อย่างไรก็ตามในกรณีของฉันมันทำงานถั่ว ฉันกำลังดีบั๊กนี้กับอลัน PulseStorm
อเล็กซ์

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

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