انواع سهمیه بندی
پلتفرم Earth Engine تعدادی محدودیت سهمیهبندی دارد تا از توزیع عادلانه منابع بین کاربران اطمینان حاصل شود. از آنجایی که انواع مختلفی از منابع در Earth Engine (محاسبات، ذخیرهسازی و غیره) موجود است، انواع مختلفی از محدودیتهای سهمیهبندی نیز وجود دارد.
تمایز اصلی بین انواع مختلف سهمیهبندی این است که آیا قابل تنظیم هستند یا خیر. برای برخی از انواع سهمیهبندی، میتوانیم محدودیتها را بر اساس هر کاربر یا هر پروژه تغییر دهیم، در حالی که انواع دیگر محدودیتهای سراسری سیستم هستند که قابل تغییر نیستند.
محدودیتهای سهمیه قابل تنظیم
محدودیتهای زیر بر اساس هر پروژه اعمال میشوند.
| نوع سهمیه | مقدار پیشفرض (به ازای هر پروژه) |
|---|---|
| حداکثر درخواستهای همزمان (نقطه پایانی استاندارد) | ۴۰ درخواست همزمان |
| حداکثر درخواستهای همزمان (نقطه پایانی با حجم بالا) | ۴۰ درخواست همزمان |
| حداکثر نرخ درخواستها (به ازای هر پروژه) | ۱۰۰ درخواست در ثانیه (۶۰۰۰ درخواست در دقیقه) |
| حداکثر نرخ درخواستها (به ازای هر حساب کاربری) | ۱۰۰ درخواست در ثانیه (۶۰۰۰ درخواست در دقیقه) |
| میانگین وظایف دستهای همزمان | ۲ وظیفه (به طور متوسط) |
| حداکثر فضای ذخیرهسازی دارایی | ۲۵۰ گیگابایت |
| حداکثر تعداد داراییها | ۱۰۰۰۰ |
| زمان محاسبه موتور زمین (زمان EECU) در روز به ثانیه | نامحدود |
درخواستهای تعاملی همزمان
هر پروژه میتواند درخواستهای تعاملی را به صورت موازی، تا سقف سهمیه مشخص، ارسال کند. اگر از این سقف تجاوز شود، Earth Engine خطاهای "HTTP 429: Too Many Requests" را برمیگرداند. به طور کلی، این خطاها توسط کتابخانه کلاینت Earth Engine مدیریت میشوند که درخواستها را به صورت نمایی (exponential backoff) پردازش میکند و پرسوجو را تا زمان موفقیتآمیز بودن، دوباره امتحان میکند. کتابخانه کلاینت Earth Engine درخواست را تا پنج بار دوباره امتحان میکند.
برای جلوگیری از دریافت این خطاهای ۴۲۹، میتوانید قابلیت ذخیرهسازی موقت (caching) را برای برنامه خود فعال کنید، برای مثال با استفاده از memcache، تا در صورت امکان از کوئریهای تکراری جلوگیری شود. اگر از نسخه قدیمیتر کتابخانه کلاینت Earth Engine استفاده میکنید که کوئریها را به طور خودکار دوباره امتحان نمیکند، یا اگر یک کوئری پس از پنج بار تلاش مجدد هنوز تکمیل نشده است، ممکن است نیاز به پیادهسازی روش بازگشت نمایی (exponential backoff) در اطراف درخواستها داشته باشید.
نرخ درخواستها (QPS)
علاوه بر محدودیتهای همزمانی ، Earth Engine نرخ درخواستهای تعاملی را در سطح پروژه و کاربر محدود میکند. این تنظیمات را میتوان در کنسول ابری تنظیم کرد.
وظایف دستهای همزمان
وظایف دستهای به میزان کمی از موازیسازی محدود میشوند، زیرا آنها از منابع بیشتری نسبت به درخواستهای تعاملی استفاده میکنند.
هنگام استفاده غیرتجاری از Earth Engine، حداکثر تعداد وظایف دستهای که میتوانید همزمان اجرا کنید، توسط سطح غیرتجاری شما تعیین میشود.
هنگام استفاده تجاری از Earth Engine، حداکثر تعداد وظایف دستهای که میتوانید همزمان اجرا کنید توسط طرح قیمتگذاری تعیین میشود، اگرچه ممکن است با تنظیم محدودیت همزمانی وظایف دستهای برای هر پروژه، این تعداد بیشتر کاهش یابد. به طور پیشفرض، محدودیت همزمانی وظایف دستهای در یک پروژه به حداکثر مجاز توسط طرح پرداخت پیکربندی شده در حساب صورتحساب پروژه تنظیم میشود. برای مشاهده یا بهروزرسانی این محدودیت در یک پروژه، به مستندات ابزار خط فرمان مراجعه کنید.
سهمیه ذخیره دارایی
هر دارایی Earth Engine دارای اندازه ذخیرهسازی داده متناظر با بایت است. داراییها میتوانند متعلق به پروژههای ابری یا افراد (داراییهای قدیمی) باشند و هر دارایی در برابر محدودیت Earth Engine مالک خود در ذخیرهسازی کلی و تعداد داراییها محاسبه میشود.
زمان EECU در روز
اگر به دنبال کنترل هزینهها هستید، میتوانید میزان زمان EECU که یک پروژه مجاز به مصرف آن در Earth Engine در روز است را محدود کنید. به طور پیشفرض، این سهمیه نامحدود است. مدیران سهمیه میتوانند این محدودیت را در کنسول ابری با فیلتر کردن معیار سهمیه earthengine.googleapis.com/daily_eecu_usage_time تعیین کنند. پس از تعیین، این سهمیه، زمان EECU مصرف شده توسط درخواستهای موفق Earth Engine از همه کاربران در یک پروژه را جمعآوری میکند. هنگامی که سهمیه از حد مجاز فراتر رود، درخواستها تا زمانی که سهمیه روز بعد مجدداً تنظیم شود یا محدودیت افزایش یابد، با شکست مواجه میشوند. برای جزئیات بیشتر در مورد تنظیم این سهمیه، به راهنمای کنترل هزینه مراجعه کنید.
محدودیتهای سهمیه ثابت
این نوع محدودیتهای سهمیه در سطح پلتفرم تعیین میشوند، بنابراین نمیتوان آنها را بر اساس هر کاربر یا هر پروژه تنظیم کرد . بعید است که با گذشت زمان تغییر قابل توجهی داشته باشند.
زمان محاسبه
انواع مختلف درخواستها حداکثر مدت زمان متفاوتی دارند که جزئیات آن در مستندات محیطهای پردازش آمده است.
برای کمک به رفع خطاهای timeout، به راهنمای اشکالزدایی مراجعه کنید.
ردپای حافظه به ازای هر درخواست
وقتی درخواستی با عبارت "User memory limit exceeded" با شکست مواجه میشود، به این معنی است که Earth Engine قادر به محاسبه پاسخ در محدوده حافظه مجاز نبوده است. پلتفرم محاسباتی EE مقدار محدودی رم در دسترس دارد و برای اطمینان از پایداری سیستم، هر درخواست فقط میتواند از مقدار مشخصی استفاده کند. حداکثر مقدار حافظه موجود به نوع درخواست بستگی دارد (مثلاً برای یک کار دستهای بیشتر از یک کاشی نقشه)، اما این محدودیتها در سطح سیستم هستند.
برای کمک به رفع خطاهای حافظه، به راهنمای اشکالزدایی مراجعه کنید.
تجمیعها
هنگام پردازش درخواستهای Earth Engine، انواع خاصی از محاسبات فرعی را که میدانیم از نظر محاسباتی فشرده هستند، جدا میکنیم. این محاسبات فرعی "تجمیع" نامیده میشوند و بهطور ویژه در سیستم EE مدیریت میشوند. نتایج تجمیعها برای جلوگیری از محاسبه مجدد، ذخیره میشوند.
تجمیعهای همزمان
برای جلوگیری از خطای محاسباتی کنترل نشده، تعداد تجمیعهایی را که یک کاربر میتواند همزمان اجرا کند، محدود میکنیم و این غیرقابل تغییر است. وقتی درخواستی با خطای «تجمیع همزمان خیلی زیاد» با شکست مواجه میشود، به این معنی است که درخواستکننده تجمیعهای زیادی را همزمان اجرا کرده است.
برای کمک به رفع خطاهای تجمیع همزمان، به راهنمای اشکالزدایی مراجعه کنید.
نتایج تجمیع بزرگ
وقتی درخواستی با خطای "مقدار محاسبهشده خیلی بزرگ است" با شکست مواجه میشود، به این معنی است که تجمیع، نتیجهای را برگردانده است که برای جا شدن در حافظه پنهان ما بسیار بزرگ است. محدودیت اندازه نتایج محاسبهشده ۱۰۰ مگابایت است و این یک محدودیت در سطح سیستم است.
محدودیتهای واردات جدول
محدودیتهای آپلود جدول در راهنمای وارد کردن دادههای جدول توضیح داده شده است.
درخواست اندازه بار مفید
حجم یک پرسوجو در Earth Engine به 10 مگابایت محدود شده است. این محدودیت معمولاً فقط زمانی اعمال میشود که دادههای اضافی بزرگی مستقیماً در پرسوجو گنجانده شوند، مانند یک shapefile یا ساختار GeoJSON که در پرسوجو گنجانده شده است. در عوض، این اشیاء باید آپلود شده و به یک دارایی FeatureCollection تبدیل شوند و توسط شناسه دارایی به آنها ارجاع داده شوند.
طول صف وظیفه
وظایفی که در انتظار زمانبندی هستند (در حالت READY ) «صف وظیفه» را تشکیل میدهند. صف هر پروژه حداکثر از ۳۰۰۰ وظیفه پشتیبانی میکند. این بدان معناست که داشتن بیش از ۳۰۰۰ وظیفه در حالت READY امکانپذیر نیست.
محدودیتهای سهمیه توابع رستری BigQuery
سهمیههای زیر برای فراخوانیهای Earth Engine از BigQuery اعمال میشود، مانند زمانی که از تابع ST_REGIONSTATS SQL استفاده میشود.
| نوع سهمیه | مقدار پیشفرض (به ازای هر پروژه) |
|---|---|
| زمان استفاده از BigQuery در هر روز | ۱,۲۶۰,۰۰۰ ثانیه (۳۵۰ ساعت) |
زمان استفاده از BigQuery در هر روز
سهمیهی زمان-تقسیم روزانهی BigQuery یک سهمیهی سفارشی است که به شما امکان میدهد میزان زمان-تقسیمی را که توابع رستری BigQuery مجاز به مصرف آن در Earth Engine در یک روز معین برای یک پروژهی معین هستند، محدود کنید. سهمیهی روزانه، کل زمان صرف شده روی تمام پرسوجوها، حتی آنهایی که با شکست مواجه میشوند را جمع میکند. میتوانید سهمیه را در کنسول ابری تحت معیار earthengine.googleapis.com/bigquery_slot_usage_time مشاهده کنید و مقدار آن را میتوان توسط مدیر سهمیه افزایش یا کاهش داد. برای افزایش مقدار بالاتر از مقدار پیشفرض، یک درخواست افزایش سهمیه ایجاد کنید که به طور خودکار تأیید میشود. این تغییر باید ظرف 10 دقیقه اعمال شود.
اگر از این سهمیه تجاوز کنید، BigQuery پیام خطای زیر را برمیگرداند:
From Earth Engine: Custom quota exceeded: Your usage exceeded the custom quota for, which is adjustable by your administrator in the Google Cloud console: https://console.cloud.google.com/quotas/?project=_.
به محض اینکه سهمیه از حد مجاز فراتر رود، فراخوانیهای ST_REGIONSTATS تا زمانی که سهمیه روز بعد مجدداً تنظیم شود یا محدودیت توسط مدیر افزایش یابد، با شکست مواجه میشوند.