One or other day you might end up seeing this message in SharePoint Online Admin center stating that your resource quota is full.
First let’s try to understand what have gone wrong. If you create your site collection using PowerShell script and If you don’t provide any value for the QUOTA parameter, the default value would be taken for consideration and that is 300 and that’s the same case if you create from UI (Admin center) 300 is the pre-defined value.
Assume we end up creating thousands of site with 300 as the default value then, at one point in time we would end up seeing this.
As per MS: Total server resource quota is based upon the number of users in your tenant and is intended to be shared across all site collections. more
Since MS is going to depreciate Sandbox Solution, is it recommended to have 0 resources allotted to the Site collection? The resource quota comes into picture only if you have sandbox solutions active on your site collections. You can have site collections having no resources allocated.
Now let’s see how to bring the resource number down
foreach($S in (Get-Content C:\test\resource.txt))
Set-SPOSite -Identity $S -ResourceQuota 0
#Get-SPOSite -Identity $S |select ResourceQuota |ft
The resource.txt should have all the site collection to which you want to bring the resource to 0.
Note: If your tenant resources are completely full, we mightn’t be able to run this script, in that case, for the first couple of site collection you might have reduce site manually (may be for 5 site collection) and then re-run this script.
Next part, I would like to share is more on the SharePoint online getting Throttled.
If you’re migrating content in GB’s/modifying metadata for (1000) of files (Right now we don’t have a correct number shared by MS) but let me take a scenario if we’re moving GB’s of data with one single account, it’s expected that our tenant would get throttle.
What MS says:
What is throttling?
SharePoint Online uses throttling to maintain optimal performance and reliability of the SharePoint Online service. Throttling limits the number of user actions or concurrent calls (by script or code) to prevent overuse of resources.
That said, it is extremely rare for a user to get throttled in SharePoint Online. The service is robust, and it is designed to handle very high volume. If you do get throttled, 99% of the time it is because of custom code. That doesn’t mean that there aren’t other ways to get throttled, just that they are less common. For example, you spin up 10 machines and have a sync client going on all 10. On each sync 1TB of content. This would likely get you throttled.
Here is what we did to overcome throttling because of migrating the data, we created multiple account and move these data using each of the account, since MS throttles based on individual user account…
Please refer to know more around throttling.