หน้านี้อธิบายวิธีตั้งค่าขีดจำกัดการใช้งานต่อวันและตรวจสอบเวลา EECU ที่กำลังดำเนินการเพื่อช่วยควบคุมค่าใช้จ่ายในการคำนวณใน Earth Engine
จำกัดเวลา EECU ต่อวัน
หากต้องการช่วยควบคุมค่าใช้จ่ายของ Earth Engine คุณสามารถกำหนดขีดจำกัดจำนวน เวลา EECU ที่โปรเจ็กต์ของคุณได้รับอนุญาตให้ใช้ใน 1 วันได้โดยการอัปเดต โควต้า Cloud ต่อไปนี้
Earth Engine compute time (EECU-time) per day in seconds
: โควต้าระดับโปรเจ็กต์ ที่จำกัดเวลา EECU รวมของผู้ใช้ทั้งหมดในโปรเจ็กต์
ดูข้อมูลเพิ่มเติมเกี่ยวกับโควต้า Earth Engine ที่คุณตั้งค่าได้ที่โควต้า Earth Engine
เรียกใช้การค้นหาที่เกินขีดจำกัดโควต้าเป็นครั้งคราวตั้งขีดจำกัดการใช้งานต่อวัน
คุณดูและแก้ไขโควต้าได้ในหน้าโควต้าและขีดจำกัดของระบบในคอนโซล Google Cloud เมื่อปรับโควต้า การเปลี่ยนแปลงจะมีผลภายในไม่กี่นาที หากต้องการตั้งค่าหรืออัปเดตขีดจำกัดการใช้งานต่อวัน ให้ทำดังนี้
- ตรวจสอบว่าคุณมีสิทธิ์ในการเปลี่ยนโควต้าของโปรเจ็กต์ ในโปรเจ็กต์ที่เลือก
- ไปที่หน้าโควต้า ของคอนโซล Google Cloud
- ใช้ตัวกรองเมตริกในช่องค้นหาตัวกรองเพื่อกรอง
earthengine.googleapis.com/daily_eecu_usage_time
หากไม่เห็นEarth Engine compute time (EECU-time) per day in seconds
โควต้า ให้ยืนยัน ว่าคุณได้เปิดใช้ Earth Engine API สำหรับโปรเจ็กต์ที่เลือกแล้ว - คลิกแก้ไขโควต้าจากเมนู 3 จุด
- หากเลือกช่องทําเครื่องหมายไม่จํากัดไว้ ให้ยกเลิกการเลือก
- ป้อนขีดจํากัดในหน่วย EECU-วินาทีที่ต้องการในช่องค่าใหม่ คลิกส่งคำขอ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการดูและจัดการโควต้าได้ที่ดูและจัดการโควต้า
ข้อความแสดงข้อผิดพลาดที่ส่งคืน
หลังจากตั้งค่าขีดจำกัดรายวันแล้ว Earth Engine จะแสดงข้อความแสดงข้อผิดพลาดต่อไปนี้ เมื่อคุณใช้เกินขีดจำกัด
การใช้งานของคุณเกินโควต้าที่กำหนดเองสำหรับ 'earthengine.googleapis.com/daily_eecu_usage_time' ซึ่งผู้ดูแลระบบของคุณปรับได้ใน Google Cloud Console ที่ https://console.cloud.google.com/quotas/?project=_
เมื่อใช้โควต้าเกินแล้ว คำขอ Earth Engine จะล้มเหลวจนกว่าจะมีการรีเซ็ตโควต้าในวันถัดไปหรือผู้ดูแลระบบเพิ่มขีดจำกัด
การตรวจสอบและการแจ้งเตือนแบบละเอียด
หากต้องการควบคุมและตรวจสอบค่าใช้จ่ายในระดับที่ละเอียดกว่าขีดจำกัดรายวัน สูตรต่อไปนี้ต้องมีการตั้งค่าเพิ่มเติม แต่จะช่วยให้คุณตั้งค่าการแจ้งเตือนและการยกเลิกได้ที่ระดับworkload_tag
และระดับงานแบบกลุ่ม
สูตรเหล่านี้ใช้การตรวจสอบเวลา EECU ที่กำลังดำเนินการซึ่งแสดงสำหรับ คำขอที่กำลังทำงาน ดูข้อมูลเพิ่มเติมเกี่ยวกับ การรายงานเวลา EECU ที่ดำเนินการอยู่ ใน Cloud Monitoring ได้ที่คู่มือการตรวจสอบ การใช้งาน
กำหนดค่าการแจ้งเตือน
คุณสามารถกำหนดค่าการแจ้งเตือนใน Cloud Monitoring เพื่อเตือนเมื่อเมตริกถึง เกณฑ์ที่กำหนด ระบบการแจ้งเตือนของ Cloud Monitoring มีความยืดหยุ่นสูง เราได้รวบรวมสูตรอาหารที่เราชื่นชอบไว้ที่นี่ แต่คุณสามารถใช้การกำหนดค่าที่กำหนดเองซึ่งเหมาะกับความต้องการของคุณได้
สูตร: การแจ้งเตือนของแชทสำหรับการใช้งาน workload_tag
ตัวอย่างนี้แสดงวิธีเชื่อมต่อการแจ้งเตือนทางแชท (เช่น ข้อความ Google Chat
หรือข้อความ Slack) หากการใช้งานการคำนวณของ Earth Engine สำหรับworkload_tag
ที่กำหนดเกิน
เกณฑ์ ซึ่งอาจมีประโยชน์ในกรณีที่คุณมีชุดงานส่งออก
ที่สร้างข้อมูลสำหรับบริการที่ใช้งานจริง และต้องการรับการแจ้งเตือนหาก
งานเหล่านั้นใช้เวลา EECU รวมกันมากกว่าจำนวนหนึ่ง
- ไปที่หน้าการแจ้งเตือนในส่วน Cloud Monitoring ของ Cloud Console
- เลือก "สร้างนโยบาย" เพื่อกำหนดค่านโยบายการแจ้งเตือนใหม่
- เลือกเมตริก
- EECU-วินาทีที่ดำเนินการอยู่ แสดงจำนวนวินาทีการประมวลผลที่รอดำเนินการ (ยังไม่สำเร็จ)
- คุณอาจต้องยกเลิกการเลือกตัวกรอง "ใช้งานอยู่" เพื่อดูเมตริก
- เพิ่มตัวกรองโดยทำดังนี้
- ใช้
workload_tag == your_workload_tag_value
เพื่อกรองแท็กภาระงานที่เฉพาะเจาะจง - ใช้
compute_type = batch
หรือcompute_type = online
เพื่อกรองการคำนวณประเภทใดประเภทหนึ่ง
- ใช้
- เลือกค่า "กรอบเวลาแบบเลื่อน" ที่เหมาะสม หากไม่แน่ใจ ให้ใช้
5 min
- เลือก "Sum" จากเมนู "ฟังก์ชันหน้าต่างกลิ้ง"
- เลือกทริกเกอร์การแจ้งเตือนและตั้งชื่อ
- เลือกช่องทางการแจ้งเตือน
- สำหรับสูตรนี้ เราจะเลือก "จัดการแชแนลการแจ้งเตือน" จาก หน้าต่างโมดอล จากนั้นเลือก "เพิ่มใหม่" เพื่อวางรหัสพื้นที่ทำงานของ Google Chat โดยรหัสนี้อยู่ใน URL ของหน้า Gmail หรือ Chat เมื่อดูแชท
- หากใช้ Google Chat คุณจะต้องพิมพ์
@Google Cloud Monitoring
แล้วเลือกแอปเพื่อเพิ่มแอปการแจ้งเตือนลงในพื้นที่ (หากองค์กรอนุญาต)
- เลือกป้ายกำกับนโยบายและความรุนแรงที่เกี่ยวข้อง
- เขียนข้อมูลโค้ดเอกสารสั้นๆ
- เผยแพร่นโยบายการแจ้งเตือนใหม่
เมื่อตั้งค่าแล้ว คุณจะได้รับการแจ้งเตือนในพื้นที่แชททุกครั้งที่โปรเจ็กต์มีค่าเกินเกณฑ์
สูตร: รับการแจ้งเตือนทางอีเมลสำหรับเวลา EECU ที่ดำเนินการอยู่ทั้งหมด
ทำตามสูตรสำหรับการแจ้งเตือนของแชท แต่ให้ทำการเปลี่ยนแปลง 2 อย่างดังนี้
- ข้ามขั้นตอนการเพิ่ม
workload_tag
ตัวกรองเพื่อให้คุณเห็นค่าทั้งหมด - เมื่อเลือกช่องทางการแจ้งเตือน ให้เพิ่มอีเมลแทนการกำหนดค่าช่องทางแชท
เวลาในการตอบสนองและการกำหนดเวลาของการแจ้งเตือน
โปรดทราบว่าการเผยแพร่รายงานการตรวจสอบอาจมีความล่าช้าเล็กน้อย ดังนั้นคุณ จึงไม่ควรคาดหวังว่าจะได้รับการแจ้งเตือนทันที
ยกเลิกงานที่ใช้ทรัพยากรมาก
เมื่อมีโควต้า คุณจะใช้ Earth Engine API เพื่อตรวจสอบรายการงานที่รอดำเนินการเป็นระยะๆ และขอยกเลิกงานที่กำลังทำงานอยู่ซึ่งเกินขีดจำกัด EECU-วินาทีได้
สูตร: เรียกใช้ข้อมูลโค้ดใน Notebook หรือเชลล์ Python ในเครื่อง
eecu_seconds_limit = 50 * 60 * 60 # 50 hours
print("Watching for operations to cancel...")
while(True):
for op in ee.data.listOperations():
if op['metadata']['state'] == 'RUNNING':
if op['metadata'].get('batchEecuUsageSeconds', 0) > eecu_seconds_limit:
print(f"Cancelling operation {op['name']}")
ee.data.cancelOperation(op['name'])
time.sleep(10) # 10 seconds