การตั้งค่าเครื่องมือเชื่อมต่อ

Google Cloud Search SDK มีพารามิเตอร์การกำหนดค่าที่ Google จัดหาให้ สำหรับเครื่องมือเชื่อมต่อทั้งหมด การปรับการตั้งค่าเหล่านี้จะช่วยเพิ่มประสิทธิภาพการจัดทำดัชนีข้อมูล คู่มือนี้แสดงปัญหาการจัดทำดัชนีที่พบบ่อยและการตั้งค่าเพื่อแก้ไขปัญหา

อัตราการส่งข้อมูลการจัดทำดัชนีต่ำสำหรับ FullTraversalConnector

ตารางต่อไปนี้แสดงการตั้งค่าเพื่อปรับปรุงอัตราการรับส่งข้อมูลสำหรับ FullTraversalConnector

การตั้งค่า คำอธิบาย ค่าเริ่มต้น การเปลี่ยนแปลงที่แนะนำ
traverse.partitionSize จำนวนApiOperation()ที่ประมวลผลเป็นกลุ่ม SDK จะรอให้พาร์ติชันเสร็จสมบูรณ์ก่อนที่จะดึงข้อมูลเพิ่มเติม 50 เพิ่มเป็น 1,000 ขึ้นไปหากมีหน่วยความจำเพียงพอ
batch.batchSize จำนวนคำขอที่จัดกลุ่มไว้ด้วยกัน 10 ลองลดขนาดกลุ่ม
batch.maxActiveBatches ชุดงานพร้อมกันที่อนุญาต 20 หากคุณลด batchSize ให้เพิ่มโดยใช้ (partitionSize / batchSize) + 50
traverse.threadPoolSize จำนวนเธรดสำหรับการประมวลผลแบบขนาน 50 เพิ่มค่านี้เป็นพหุคูณของ 10

ลองใช้ setRequestMode() เพื่อสลับระหว่างโหมดคำขอ API ของ ASYNCHRONOUS กับ SYNCHRONOUS

อัตราการส่งข้อมูลการจัดทำดัชนีต่ำสำหรับ ListTraversalConnector

ListTraversalConnector ใช้ Traverser 1 รายการโดยค่าเริ่มต้น หากต้องการเพิ่ม ปริมาณงาน ให้สร้าง Traverser หลายรายการสำหรับสถานะของสินค้าที่เฉพาะเจาะจง (เช่น NEW_ITEM, MODIFIED)

การตั้งค่าคำอธิบายค่าเริ่มต้นเปลี่ยน
repository.traversersสร้าง Traverser แต่ละรายการ โดยมีชื่อที่ไม่ซ้ำกัน (เช่น t1, t2)One traverserเพิ่มโปรแกรม Crawl
traversers.t1.hostloadจำนวน เธรดที่จะจัดทำดัชนีรายการพร้อมกัน5ลองใช้ค่า 10 หรือ มากกว่า
schedule.pollQueueIntervalSecsวินาทีที่รอ ก่อนที่จะสำรวจคิวที่ว่างเปล่าอีกครั้ง10ลองลดเป็น 1
traverser.t1.pollRequest.statusesสถานะ ที่จะจัดทำดัชนี (เช่น NEW_ITEM)ทั้งหมดใช้ตัวสำรวจที่แตกต่างกันสำหรับสถานะต่างๆ
แทน

SDK หมดเวลาหรือถูกขัดจังหวะ

หากพบว่าการอัปโหลดไฟล์ขนาดใหญ่หมดเวลา ให้เพิ่มการหมดเวลา โดยใช้ traverser.timeout=seconds (ค่าเริ่มต้นคือ 60 วินาที) นอกจากนี้ คุณยังเพิ่มการหมดเวลาของคำขอ API ได้ด้วย โดยทำดังนี้

พารามิเตอร์ คำอธิบาย ค่าเริ่มต้น
indexingService.connectTimeoutSeconds ระยะหมดเวลาของการเชื่อมต่อสำหรับคำขอ API 120 วินาที
indexingService.readTimeoutSeconds อ่านการหมดเวลาสำหรับคำขอ API 120 วินาที