Archived

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

about performance

Hi, everybody

I built a project with Ice becouse I deeply depend on excellent capacity of Ice. In my project, the clients has to send huge data to the server. Some ways are adopted to improve the performance, such as AMI, AMD. Everything are normal when the amount of clients is low. When the amount increases huge, the client once will catch an exception-"IceUtil::ThreadSyscallException". I try to increase the config of server side thread pool size but the result is not satisfied.

Do you have any good advices?

Thands in advance.

Fengxb

Comments

  • benoit
    benoit Rennes, France
    Hi,

    Could you please update your profile and set your full name and the name of the project you're working on (Ice is our project ;))? Thanks.

    It sounds like you're hitting some kind of resource limits but I'm afraid without more information it's impossible to help you. Could you provide the exact exception message, the plaform/OS and the Ice version you're using?

    Cheers,
    Benoit.
  • Hi, benoit

    Thanks for your reply. My project is used to implement scientific calculation. So data tranfic between clients and server is heavy. The enviroment of the project is HP-UX 11i. The version of Ice is 3.0.1. The cathed exception is "IceUtil::ThreadSyscallException", it seams the thread pool size of server is low. Sorry for my forgetting the details. I increase the number of size, the system could work properly more.

    Have any other solution to improve the load? I think about using UDP and multiple ports.
  • matthew
    matthew NL, Canada
    Did you read my article on performance in the last newsletter?
  • benoit
    benoit Rennes, France
    Hi,

    Where is the IceUtil::ThreadSyscallException exception catched? If the exception is printed on the standard output/error it should include some information on the system call error as well as the file and line number where it was raised, for example:
    Thread.cpp:551: IceUtil::ThreadSyscallException:
    thread syscall exception: Resource temporarily unavailable
    

    Having this information would be helpfull to figure out where the problem is coming from.

    Cheers,
    Benoit.
  • Would you please give me a link?
  • benoit
    benoit Rennes, France
    You'll find the Ice newsletters here:

    http://www.zeroc.com/newsletter/

    Cheers,
    Benoit.
  • Hi,

    I have resolved the problem. The reason could be that we offten interupt the program for debugging and the connection thread can not be released normally. When the server has no enough resource to create new thread, it fails to create the new thread and throws an exception.

    The experience told me that ICE is an excellent platform. Thanks ZeroC provide so great software for us.

    Feng Xuebin