ฉันอาจจะต้องใช้โมดูลPathAutoสำหรับโครงการปัจจุบัน ในขณะที่ใช้มันในการพัฒนาในฐานะผู้ดูแลระบบการชะลอตัวของไซต์ในระหว่างการเปลี่ยนแปลงนั้นไม่ได้ผล
PathAuto เป็นที่เก็บหน่วยความจำขนาดใหญ่และมีวิธีการลดขนาดนี้หรือไม่?
ฉันอาจจะต้องใช้โมดูลPathAutoสำหรับโครงการปัจจุบัน ในขณะที่ใช้มันในการพัฒนาในฐานะผู้ดูแลระบบการชะลอตัวของไซต์ในระหว่างการเปลี่ยนแปลงนั้นไม่ได้ผล
PathAuto เป็นที่เก็บหน่วยความจำขนาดใหญ่และมีวิธีการลดขนาดนี้หรือไม่?
คำตอบ:
ขึ้นอยู่กับรุ่นของ Core ที่คุณใช้เป็นอย่างมาก ปัญหาหน่วยความจำหลักคือโมดูลโทเค็นสำหรับ Drupal 6 เมื่อได้รับโหนดจะสร้างโทเค็นที่เป็นไปได้ทั้งหมดสำหรับโหนดนั้นโดยไม่คำนึงถึงโทเค็นที่จะถูกแทนที่จริง ๆ ซึ่งหมายความว่าโทเค็นราคาแพงที่จำเป็นต้องโหลดหรือแสดงวัตถุอื่นเป็นต้นนอกจากจำนวนโทเค็นที่สร้างขึ้นจำนวนมากทำให้เกิดปัญหา
ด้วย Drupal 7 โทเค็น API ที่ได้รับการปรับปรุงจะสร้างโทเค็นที่คุณใช้จริงเท่านั้นและปรับปรุงประสิทธิภาพและการใช้หน่วยความจำอย่างมาก ในการใช้งานปกติ Pathauto จะสำคัญเฉพาะเมื่อมีการบันทึกรายการ แต่ไม่มีผลต่อการดูหน้าเว็บ "ปกติ"
ปัญหาหนึ่งที่เราสะดุดใน Drupal 7 คือเมื่อคุณมีโหนดจำนวนมากซึ่งจะได้รับนามแฝงเส้นทางเดียวกัน เนื่องจากสิ่งที่เกิดขึ้นคือสิ่งแรกที่ได้รับ $ alias คนที่สองลอง $ alias เห็นว่าอันนี้ถูกจองไว้แล้วและใช้ $ alias-1 อันที่สามลองใช้ $ alias จากนั้น $ alias-1 จากนั้นใช้ $ alias-2 และอื่น ๆ แต่นั่นไม่ใช่ปัญหาที่คุณควรทำความสะอาดข้อมูลเส็งเคร็งของคุณ (เรามีการนำเข้าบทความพิมพ์ 600k ที่มีชื่อเหมือนกันนับร้อย .. เช่น "weather";)) หรือเลือกรูปแบบที่ดีกว่าสำหรับนามแฝงของคุณ (เช่นรวมถึงวันที่) นอกจากนี้ยังสามารถชะลอการนำเข้าข้อมูลอย่างจริงจังหากคุณเปิดใช้งานพา ธ อัตโนมัติ
อีกปัญหาหนึ่งคือเบราว์เซอร์โทเค็นจะระเบิดหากคุณมีหลายฟิลด์ซึ่งสามารถแยกหน้าใด ๆ ที่แสดงเบราว์เซอร์โทเค็นได้อย่างสมบูรณ์โดยเฉพาะไซต์การกำหนดค่า pathauto ซึ่งมีหลายฟิลด์
นอกเหนือจากปัญหาที่เกี่ยวข้องฉันไม่เห็นปัญหาประสิทธิภาพโดยตรงที่เกิดจาก Pathauto ถ้าคุณคิดว่าคุณทำสิ่งที่คุณควรทำจริงๆคือโปรไฟล์ไซต์ของคุณด้วย Xhprof เพื่อดูว่ามีอะไรใช้ซีพียู / หน่วยความจำจริง