Hi,
I'm developing a test-suite to test a backend component (the server in my scenario).
My test-suite has to simulate a group of clients connecting to the backend. The backend component uses Glacier2.
I work in Ubuntu environment on a 64 bit machine.
To reach my target I developed the following steps:
1) Create the communicator:
ic= communicator();
2) Get the default router
router = Glacier2::RouterPrx::checkedCast( ic->getDefaultRouter() );
then for each client:
1) Create a new connection
router = Glacier2::RouterPrx::uncheckedCast(rt->ice_connectionId(ide_router));
2) Create a session
base = router->createSession(serial, user);
session = ade::argo::iGl2SessionPrx::uncheckedCast( base->ice_connectionId(ide_router)->ice_router(router) );
3) Clients use the AMI interface to interact with the backend
Examining the status of the machines I saw that the virtual memory used by my test-suite with about 15000 parallel connections is huge. In a test-case the virtual memory size is 235 GB after all the 15000 clients completed the connection, in another testcase the virtual memory size reach the 255 GB and the test crashes.
Is this behavior normal?
Is there a way to reduce the virtual memory size used by my test_suite?
Thanks in advance for your help.

Reply With Quote