We’d recommend this machine size because inserts are a high-disk-throughput operation and so the expected throughput of the machine is important. (For more information, please see the expected throughput for each type, here.) In addition, in production we’d recommend 2 Azure Premium Storage Disks: - 1 for the WAL: GP2, 350 GB (Even though the WAL only needs ~10GB, we recommend a larger volume size for the higher IOPS) - 1 for the Data: GP2, 5 TB
Developing a quite large application (over 500 classes and around 2000 tests) written from scratch in TypeScript gave me a chance to experience a full range of problems coming from usage of a not-fully-typed mocking framework. The most painful issues are connected with automatic refactoring. When the objects used in tests are not typed (and the IDE is not able to strictly determine the types), the IDE won’t be able to figure out which usages of them should be modified, when we rename a method in one of them. In the other words: let’s say, we have over ten classes containing a method called
load(). When we try to rename one of them, IDE will change all mocking configuration connected with the remaining nine occurrences of the
load(), kindly breaking tens of tests.