Now, it's time to test SharePoint Online through client side CSOM + PowerShell.
SharePoint Online as access threshold for one user, which make it hard to test "multiple thread" performance.
However, we still can test "ExecuteQuery for each item" and "ExecuteQuery for a batch of items".
I assume the SharePoint Online host center is quite close to where I am, as the network latency is less than 3 ms for tenant 1, and less than 15 ms for tenant 2.
* The unit in the table below is "items per second".
* There is no "Bulk commit" for Delete, Recycle and Retrieve.
* 5 single-line text fields in the test list.
Action | Single, tenant 1 | Single, tenant 2 | Bulk, tenant 1 | Bulk, tenant 2 |
---|---|---|---|---|
Insert | 7.1 | 6.6 | 14.1 | 12.7 |
Update | 8.6 | 7.1 | 21.3 | 13.5 |
Delete | 5.8 | 6.3 | 10.4 | 10.4 |
Retrieve | 11.9 | 13.3 | 1000 | 1000 |
For single item "insert", it takes around 140 ms.
The performance is around 25% of SharePoint 2016 (local server). This is disappointing, even if we exclude the 15 ms consumed on the traffic.
So, it's fast for "read-only" access on SharePoint Online, but pretty slow for any "write" access.
[update, 2018-12-07]
PowerShell script is slower than C#, so I did some other test by C#
Run the C# code remotely
Action | Single, test 1 | Single, test 2 | Bulk, test 1 | Bulk, test 2 |
---|---|---|---|---|
Insert | 6.90 | 6.09 | 7.79 | 12.91 |
Update | 7.94 | 6.42 | 19.49 | 17.25 |
Delete | 6.01 | 6.00 | 5.78 | 6.34 |
Recycle | 6.46 | 6.59 | 6.37 | 7.10 |
Retrieve | 1307.85 | 1183.34 | 807.41 | 746.23 |
Run the C# code from Azure API Apps
Action | Single, test 1 | Single, test 2 | Bulk, test 1 | Bulk, test 2 |
---|---|---|---|---|
Insert | 8.17 | 7.14 | 7.14 | 12.35 |
Update | 10.63 | 8.16 | 8.16 | 14.93 |
Delete | 7.69 | 6.41 | 6.41 | 7.12 |
Recycle | 9.08 | 6.76 | 6.76 | 6.68 |
Retrieve | 2133.05 | 1600.18 | 1600.18 | 1280.42 |
Not much difference.
No comments:
Post a Comment