Archived

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

Glacier2 Pool Request

Hello, we have a system that uses Glacier2, Icestorm and server written in Python with ICE 3.5.0 over Glacier.Application. We observed that the requests are queued and are attended sequentially. We are using Python 2.7.3 on a server with Ubuntu 12.04.3 LTS. Is possible to change the config to multiple queues requests? Could we update the version of Python to a newer version 3.x?

Comments

  • benoit
    benoit Rennes, France
    Hi,

    Did you try to increase the number of server threads to allow concurrent processing of multiple dispatch? You can tune the server thread pool size with the Ice.ThreadPool.Server.Size=<num> property.

    See https://doc.zeroc.com/display/Ice/Ice+Thread+Pool+Properties for more information.

    Cheers,
    Benoit.
  • benoit
    benoit Rennes, France
    BTW, see also this FAQ about multi-threading and Python: https://doc.zeroc.com/pages/viewpage.action?pageId=2523141

    Cheers,
    Benoit.
  • Thanks for your answer. I'm testing, but on a server with a processor only if Ice.ThreadPool.Server.Size is greater than one, after a time the service is locked and does not respond.
  • benoit
    benoit Rennes, France
    Hi,

    Having multiple threads calling into your server might expose unanticipated thread safety related issues.

    When the hang occurs, you could attach the debugger and get a thread dump to see what the Ice threads are doing. You can post the thread dump here, I'd be happy to take a look at it.


    Cheers,
    Benoit.