I have this issue. I suspect its due to the version of Serenity BDD and Selenium. The chromedriver process never releases until the entire test suite finishes. There are only 97 tests, but having 97 processes eat up the memory of a server that hasn't much resources may be having an affect on the performance.
To address I did 2 things (this is specific to windows).
before each test (annotated with @Before) get the process id (PID) of the chromedriver process with:
List<Integer> pids = new ArrayList<Integer>();
String out;
Process p = Runtime.getRuntime().exec("tasklist /FI \"IMAGENAME eq chromedriver.exe*\"");
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((out = input.readLine()) != null) {
String[] items = StringUtils.split(out, " ");
if (items.length > 1 && StringUtils.isNumeric(items[1])) {
pids.add(NumberUtils.toInt(items[1]));
}
}
after each test (annotated with @After) kill the PID with:
Runtime.getRuntime().exec("taskkill /F /PID " + pid);