โมดูลที่ไม่เปิดใช้งานมีผลต่อประสิทธิภาพหรือไม่


91

มีโมดูล Drupal อยู่ แต่ไม่เปิดใช้งานมีผลกระทบต่อประสิทธิภาพของไซต์ Drupal หรือไม่

เพื่อนำไปใช้ในทางอื่น .. การลบโมดูลที่ถูกปิดการใช้งานจากไซต์ Drupal มีผลกระทบเชิงบวกต่อประสิทธิภาพหรือไม่

คำตอบ:


97

โดยทั่วไปแล้วจะไม่มีผลต่อประสิทธิภาพยกเว้นเมื่อคุณกำลังดูหน้าการเลือกโมดูล (admin / build / modules หรือ admin / modules) โมดูลที่ปิดใช้งานจะไม่ถูกโหลดเข้าสู่หน่วยความจำและไม่เคยดำเนินการ


24
ดังที่กล่าวไว้ว่าโมดูลที่ปิดใช้งานยังคงทิ้งตัวแปรและตารางฐานข้อมูลไว้เพื่อให้โมดูลนั้นสามารถเปิดใช้งานได้อีกครั้งโดยไม่ทำให้ข้อมูลสูญหาย หากคุณไม่ได้วางแผนที่จะใช้โมดูลที่ถูกปิดใช้งานอีกครั้งคุณควรถอนการติดตั้งโมดูลผ่านทางผู้ดูแลระบบ / สร้าง / โมดูล / ถอนการติดตั้งใน D6 หรือผู้ดูแลระบบ / โมดูล / ถอนการติดตั้งใน D7
Dave Reid

1
ฉันเดาว่านี่อาจเป็นตัวอย่างหนึ่งของโมดูลที่เพิ่มคอลัมน์ในตารางโหนด drupal.org/project/quickstats ดังนั้นฉันเดาว่าถ้าคุณไม่ถอนการติดตั้งโมดูลสิ่งนี้จะแสดงถึงการบริโภคทรัพยากรที่จำเป็น ) ไปยังโมดูลอื่นเมื่อดึงข้อมูลโหนด
cigotete

62

ใช่. มันสามารถ

แม้จะมีสิ่งที่คนอื่นพูด แต่มีหลายสถานการณ์ที่การแสดงจะลดลง

  1. ปิดการใช้งานและไม่ได้ถอนการติดตั้งอย่างถูกต้องโมดูลสามารถมีผลกระทบอย่างรุนแรงต่อประสิทธิภาพการทำงาน: ตัวแปรสำหรับโมดูลจะไม่ถูกลบออกและจะถูกโหลดในทุกหน้าเพจ โลแคลสำหรับโมดูล (ในกรณีที่คุณใช้ไซต์ที่แปลแล้ว) จะไม่ถูกลบออกและทำให้เกิดโอเวอร์เฮดในตารางฐานข้อมูลที่ยุ่งยากอยู่แล้ว
  2. Drupal ใช้ตารางระบบเป็นแคชเพื่อหลีกเลี่ยงการค้นหาในระบบไฟล์สำหรับโมดูล ยิ่งมีรายการอยู่ในตารางมากเท่าไหร่ก็จะยิ่งช้าลงเท่านั้น ผลกระทบนี้มีขนาดค่อนข้างเล็กเนื่องจากตารางระบบค่อนข้างได้รับการจัดทำดัชนีค่อนข้างดี อย่างไรก็ตามการล้างแคชและการเยี่ยมชมหน้าผู้ดูแลระบบทำให้ตารางนี้ถูกสร้างขึ้นมาใหม่ การสร้างตารางใหม่ด้วยโมดูลที่ไม่ได้ใช้กว่า 200+ นั้นช้ากว่าประมาณ 25 เท่าโดยไม่มีโมดูลที่ไม่ได้ใช้ จำนวนการสร้างใหม่ของตารางนี้อาจค่อนข้างสูงในบางสถานการณ์ที่แปลกประหลาดในระหว่างการพัฒนาและอื่น ๆ

โมดูลที่ไม่ได้ใช้จะไม่ใช้หน่วยความจำเพิ่มเติมจากนั้นในระหว่างการสร้างตารางระบบใหม่ โมดูลที่ไม่ได้ใช้จะไม่ก่อให้เกิดการค้นหามากขึ้นหรือช้าลงในระบบไฟล์ของคุณอื่น ๆ จากนั้นในระหว่างการสร้างตารางระบบขึ้นใหม่ หากคุณไปเหนือโมดูล X-thousand แล้วระบบไฟล์นั้นอาจทำให้เกิดปัญหาได้


5
โมดูลที่ปิดใช้งานไม่จำเป็นต้องถอนการติดตั้งโมดูลอย่างไม่ถูกต้อง: ฉันสามารถปิดใช้งานโมดูลเพื่อหลีกเลี่ยงหน้าการตั้งค่าที่ปรากฏขึ้นและไม่ได้เพราะฉันต้องการถอนการติดตั้ง ตัวอย่างเช่นใน Drupal.org Views UI จะเปิดใช้งานเฉพาะเมื่อมีคนต้องการแก้ไขมุมมองจากนั้นจะถูกปิดใช้งานหลังจากแก้ไขมุมมองเสร็จแล้ว
kiamlaluno

3
นอกจากนี้หากคุณติดตั้ง devel / admin_menu คุณจะมีทางลัดที่ดีในการ 'ปิดใช้งานโมดูลผู้พัฒนา' ซึ่งจะปิดใช้งานสิ่งต่างๆเช่น Views UI, UI ของกฎ, UI ของฟิลด์และอื่น ๆ ที่ไม่จำเป็นสำหรับไซต์ที่ใช้งานจริง สิ่งนี้สามารถประหยัดได้ไม่กี่ MB ในแต่ละเธรด PHP / Apache บนเครื่อง LAMP ปกติ!
geerlingguy

5
ฉันทราบว่าโมดูลที่ไม่เปิดใช้งานไม่ใช่โมดูลที่ถูกปิดการใช้งาน ตัวอย่างของคุณของมุมมองและโมดูล devel เหมือนกันไม่พิสูจน์จุดของฉัน: เมื่อคุณปิดการใช้งานมุมมอง UI ตารางสถานที่ของคุณและโต๊ะ varaibles ของคุณ / เกลื่อน / กับผ้าสำลีที่โหลดและประเมินผลในแต่ละหน้า ฉันเพิ่งล้างไซต์ที่เรามี 5MB (!) และเกือบ 60MB (!) ของตัวแปรที่เหลือและสตริงสถานที่ที่ไม่ได้ใช้ที่เหลือจากโมดูลเก่าและไม่ใช้อีกต่อไป ทำให้การค้นหาโลแคลกลายเป็นคิวรีช้าและทำให้หน่วยความจำเพิ่ม 5Mb ในแต่ละเพจเจล
berkes

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

2
เมื่อคุณใช้มุมมอง UI ตามที่อธิบาย: ปิดการใช้งานพร้อมตัวเลือกเพื่อใช้งานได้ตามต้องการ มันมีผลกระทบต่อประสิทธิภาพการทำงาน นั่นคือสิ่งที่ OP ถาม และเห็นได้ชัดว่าเป็นวิธีที่ผู้คนใช้งาน (อย่างน้อยคุณก็ทำ) ดังนั้นข้อสรุปคือโมดูลที่ปิดใช้งานอาจมีผลกระทบต่อประสิทธิภาพ โดยเฉพาะอย่างยิ่งหากคุณเลือกที่จะไม่ลบออกทั้งหมด; และหากพวกเขาไม่ถอนการติดตั้งตัวเองอย่างถูกต้อง
berkes

8

เมื่อติดตั้งแล้วฉันคิดว่าคุณหมายถึงภายในโมดูล drupal ("sites / all / modules" หรือ "sites / yoursite.com / modules") ใช่ไหม?

หากเป็นเช่นนั้นโมดูลที่ปิดใช้งานจะไม่มีผลกับประสิทธิภาพเลยเพียงแค่คุณเข้าสู่หน้า "ผู้ดูแลระบบ / สร้าง / โมดูล" Drupal สร้างแคชใหม่ขององค์ประกอบโมดูลบางอย่าง (ในฐานะที่เป็นhook_menu )


7

จากประสบการณ์ของฉันประสิทธิภาพที่ลดลงจากโมดูลที่ถูกปิดใช้งานนั้นมีน้อยมาก (และเมื่อเทียบกับโมดูลที่ปิดใช้งานแล้ว 4,000 โมดูลอาจทำให้บางสิ่งช้าลงกว่า 30 โมดูลที่ถูกปิดใช้งานเป็นต้น)

โดยส่วนตัวแล้วฉันเป็นกังวลมากขึ้นเกี่ยวกับรหัสที่ไม่ได้ใช้ (และอาจล้าสมัย) ที่นั่งอยู่ใน repo และเว็บของฉัน แต่ฉันก็ตอบโต้ด้วยความสมัครใจแบบนั้น


4

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


3

การลบรหัสของโมดูลที่ปิดใช้งานอาจไม่มีผลกระทบต่อไซต์

จากนั้นอีกครั้งหากคุณติดตั้งโมดูลในบางจุดจะมีการเติมฐานข้อมูลด้วยตารางบางอย่าง ดังนั้นยิ่งคุณติดตั้งโมดูลมากเท่าไรโอกาสที่จะมีผลต่อประสิทธิภาพของฐานข้อมูลก็จะยิ่งมากขึ้นเท่านั้น

การถอนการติดตั้งโมดูลจะเป็นการลบตารางที่ไม่จำเป็นออกไป

ประสิทธิภาพจะขึ้นอยู่กับจำนวนโมดูลที่คุณติดตั้งอีกครั้ง


3

โมดูลที่ถูกปิดใช้งานที่ไม่ได้ถอนการติดตั้ง แต่ถูกลบออกจากระบบโฟลเดอร์จะส่งผลกระทบต่อประสิทธิภาพของไซต์ ฉันมีโมดูลดังกล่าว 5 โมดูลและเนื่องจากนั้นมีการเรียกฟังก์ชั่น is_dir () อีก 10,000 ครั้ง ฉันใช้โมดูล missing_modules (missing_module) เพื่อระบุโมดูลที่หายไปและแก้ไขปัญหาในฐานข้อมูล


1

การถอนการติดตั้งและปิดใช้งานจะไม่มีผลกับประสิทธิภาพ

แต่ถ้าโมดูลถูกปิดใช้งานเท่านั้นอาจมีบางตารางที่เกี่ยวข้องดังนั้นจึงเป็นภาระเพิ่มเติมในฐานข้อมูล drupal

และดังที่กล่าวไว้ก่อนหน้านี้จะมีปัญหาเรื่องประสิทธิภาพที่สำคัญในหน้าโมดูลของ drupal หลายครั้งที่หน้านี้ไม่ได้โหลดและใช้เวลานานเนื่องจากโมดูลทั้งหมดที่ติดตั้ง / ถอนการติดตั้งจะปรากฏขึ้นที่นั่น

ดังนั้นสำหรับการเอาชนะสถานการณ์นี้เราควรลบโมดูลที่ไม่ได้ใช้ออกจาก / sites / all / modules / drive


1
"ถอนการติดตั้งและปิดใช้งานจะไม่มีผลกับประสิทธิภาพ" - ในบางกรณีพวกเขาสามารถ ประสิทธิภาพการทำงานของผู้ดูแลระบบโดยเฉพาะ ไม่เพียง แต่หน้า "โมดูล" บางโมดูลสำหรับการแปลหรือตรวจสอบรหัสทำงานบนโมดูลที่ไม่ได้เปิดใช้งานด้วย และมีสิ่งเล็กน้อยเช่นประสิทธิภาพของระบบไฟล์
Mołot

1

โมดูลที่ปิดใช้งานจะไม่มีผลต่อประสิทธิภาพของไซต์ drupal

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

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