จะมีปัญหาใด ๆ กับฉันหรือไม่ที่จะบันทึกผลลัพธ์ประมาณ 10 ล้านรายการในไฟล์แยกกันในไดเรกทอรีเดียว
ใช่. อาจมีเหตุผลมากกว่านี้ แต่สิ่งเหล่านี้ฉันสามารถโพสต์จากด้านบนของหัวของฉัน:
tune2fs
มีตัวเลือกที่เรียกdir_index
ว่ามีแนวโน้มที่จะเปิดใช้งานตามค่าเริ่มต้น (บน Ubuntu คือ) ที่ให้คุณจัดเก็บไฟล์ประมาณ 100k ในไดเรกทอรีก่อนที่คุณจะเห็นประสิทธิภาพ ที่ไม่ได้อยู่ใกล้กับไฟล์ 10m ที่คุณกำลังคิด
ext
ระบบไฟล์มีจำนวนไอโหนดสูงสุดคงที่ ทุกไฟล์และไดเรกทอรีใช้ 1 ไอโหนด ใช้df -i
สำหรับมุมมองของพาร์ติชันและ inodes ของคุณฟรี เมื่อคุณใช้ไอโหนดหมดคุณจะไม่สามารถสร้างไฟล์หรือโฟลเดอร์ใหม่ได้
คำสั่งเช่นrm
และls
เมื่อใช้สัญลักษณ์ตัวแทนขยายคำสั่งและจะลงท้ายด้วย "รายการอาร์กิวเมนต์ยาวเกินไป" คุณจะต้องใช้find
เพื่อลบหรือแสดงรายการไฟล์ และfind
มีแนวโน้มที่จะช้า
หรือแนะนำให้แบ่งไฟล์ออกเป็นโฟลเดอร์หรือไม่?
ใช่. แน่นอนที่สุด โดยทั่วไปคุณไม่สามารถแม้แต่จะเก็บไฟล์ 10m ใน 1 ไดเรกทอรี
ฉันจะใช้ฐานข้อมูล หากคุณต้องการแคชสำหรับเว็บไซต์ให้ดูที่ " solr " ("ให้การจัดทำดัชนีแบบกระจายการจำลองแบบและการสอบถามการโหลดบาลานซ์")