Hello Dennis,
from what I understood you are running all enaio components in one VM with 32GB RAM and 4 CPU cores. While this is possible for development purposes, it is - as you experienced - not really a good environment for time sensitive applications like e2e tests.
Form our experience, the most important factor in this scenario is the speed of the harddrive. You will need a very fast harddrive - preferably a SSD. If no ssd is available try to separate the storage for the mssql/oracle db from the storage of the elasticsearch data to physically independent drives.
Especially elasticsearch is a very disk and RAM instensive application. You will need to give it at least 8 GB RAM - better would be 12 to 16 GB.
Also keep in mind that you need to have some "unused" RAM left - Windows uses it for caching file accesses which speeds up performance significantly.
If you don't need / access any renditons (content-previews) in your tests you can also configure the objecttype settings to not create a rendition right away and disable the rendition-plus service. Otherwise it will start the conversion process for each uploaded content-file which might take performance away.
Another thing is the logging settings of the dms-service and the service-manager. Make sure you are not logging in DEBUG mode and turn off any unnecessary logging. Especially the "console" logger of the dms-service is not needed if you run it as a windows service and you should configure it to "OFF" (using the enterprise-manager).
From the project view there are also a few things to keep in mind.
- The more objecttypes and roles you have the more complex the database statements will be
- Try to use as little clauses in roles as possible - clauses will increase complexity very much
- Minimize use of abstract types and inheritance
- Only choose to create an initial rendition if you really need to
If this doesn't help, there is most probably no other solution than to scale the system to two or more VMs.
Nicolai