บริษัท ของฉันมีภาพ openstack จำนวนมาก ฉันต้องการส่งตัวกรองตามชื่อเพื่อให้คำสั่งรายการรูปภาพทำงานได้เร็วขึ้น อย่างไรก็ตามฉันไม่สามารถรับได้ --name
เพื่อกรองสารตั้งต้นของชื่อภาพ เป็นไปไม่ได้เหรอ?
$ time openstack image list > /dev/null
real 2m26.971s <--- Entire list...ouch
user 0m1.472s
sys 0m1.083s
ถ้าฉันกรองชื่อที่แน่นอนทั้งหมด
$ time openstack image list --name="ubuntu_qcow2" > /dev/null
real 0m4.340s <--- Ahhh, much better
user 0m0.374s
sys 0m0.154s
แต่ถ้าฉันพยายามกรอง substring ฉันไม่สามารถทำงานได้ (โปรดสังเกตว่าแต่ละรายการเหล่านี้คืนค่าเนื้อหาเปล่า):
$ openstack image list --name="ubuntu"
$ openstack image list --name="ubuntu*"
$ openstack image list --name="ubuntu.*"
การประมวลผลภายหลังด้วย grep ไม่ใช่วิธีแก้ปัญหาแน่นอนเนื่องจากคำสั่งใช้เวลาทั้งหมดในการประมวลผลทุกอิมเมจและเอาต์พุตก่อนที่เนื้อหาจะถูกไพพ์เป็น grep
มีวิธีกรองการประมวลผลรายการเช่นนี้ใน openstack เพื่อให้ได้เวลาตอบสนองที่รวดเร็วกว่าหรือไม่