شیرپوینت آنلاین از throttling در سطوح مختلف برای اطمینان از قابلیت اطمینان و برآورده کردن الزامات عملکرد سرویس آنلاین شیرپوینت استفاده می کند. Throttling وسیله ای است که هر زمان که یک اسکریپت یا کد اجرا شود، شیرپوینت استفاده بیش از حد از منابع را ممنوع می کند. از آنجایی که زیرساخت Office365 توسط مایکروسافت نگهداری می شود، این امر برای اطمینان از در دسترس بودن پلت فرم اجتناب ناپذیر می شود. این throttling در سطح کاربر انجام می شود و این محدودیت ها تعریف نشده اند.
واقعاً وقتی گاز می گیرید چه اتفاقی می افتد؟
- هر صفحهای را که در مرورگر ضربه بزنید به صفحه خطای دریچه گاز تحت طرحبندیهایی به نام throttle.htm هدایت میشوید.
- هر درخواستی که بهصورت آنلاین از طریق کد به شیرپوینت ارسال میکنید با شکست مواجه میشود و با کد وضعیت HTTP 429 برمیگردد که درخواستها بسیار زیاد است.
- اگر کاربر به انجام عملیات بیشتر ادامه دهد، سیستم با خطای 503 سرویس غیرقابل دسترس، فرآیند را به طور کامل مسدود می کند.
راههای متعددی وجود دارد از جمله کاهش تعداد درخواستها در کد، کاهش تعداد تماسهای مکرر و استفاده از تکنیکهای بازگشت تدریجی که در آن شما اساساً به جای ExecuteQuery از ExecuteQueryWithIncrementalRetry استفاده میکنید.
تزئینات ترافیک
چند سناریو دریچه گاز وجود دارد که برای اطمینان از در دسترس بودن بالا حفظ می شود. یکی از عواملی که در اولویت بندی ترافیک مورد استفاده قرار می گیرد، دکوراسیون ترافیکی است. همیشه به ترافیکی که به خوبی تزئین شده است اولویت بیشتری نسبت به ترافیکی که ندارد.
چگونه ترافیک خود را تزئین می کنید
برای تزئین ترافیک خود، یک رشته عامل کاربر را به همراه درخواست خود به SharePoint Online ارسال می کنید، خواه CSOM یا REST API باشد. عامل کاربر با استفاده از یک قالب تعریف شده ساخته شده است که شامل پرچم ISV یا NONISV، نام شرکت و برنامه اگر یا عنوان برنامه است.