Archived

This forum has been archived. Please start a new discussion on GitHub.

How to imporve ICE Server performance?

ICE 3.3
VC2005
Windows Server 2003

I write an ICE server program,which use oracle server.
The server code like this:
Ice::ObjectAdapterPtr adapter = communicator()->createObjectAdapter("CallbackServer");
		//init db env...
		DbOracleServicePtr pOra(new DbOracleService(oraUserName, oraPassword, oraOracleSerice, maxConn, minConn, incrConn));
		ServerDbPtr pSvrDb(new ServerDbOcci(pOra));

		CmnServicePtr cbs(new CmnServiceI(serverId, pSvrDb)); 
		adapter->add(cbs, communicator()->stringToIdentity("cmnservice"));
		adapter->activate();
		communicator()->waitForShutdown();

The servant CmnServiceI will use only one oracle connection pool, it's work OK.

But ,if I want to use servant per connection(may be the db server has no client pool.), would I create many servants and add them into adapter?(the servant will be host one connection.)

or I must create multi adapter ?

Comments

  • bernard
    bernard Jupiter, FL
    Hi Samon Sun,

    Could you describe in more details what you're trying to do? And why not upgrade to Ice 3.4.1?

    Did you have a look at the Oracle demos we ship with Ice?

    It's very likely you should use a single object adapter for all these servants stored in Oracle, and not a multiple object adapters.

    Best regards,
    Bernard