Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0002924 [Resin] minor always 09-11-08 10:51 10-02-08 12:13
Reporter ferg View Status public  
Assigned To ferg
Priority urgent Resolution fixed  
Status closed   Product Version 3.1.7
Summary 0002924: comet issues
Description (rep by Martin Thompson)

As a result of our soak and performance testing we have discovered a number of issues with the Resin Comet implementation. I've tried to isolate the problems and produced some example code that demonstrates the issues discovered.

1. If we use the CometServlet in a long poll fashion ( [^] even on a fast machine we can only get about 90 requests per second and very high latencies suggesting the overhead of the session setup is high.

2. If the comet is used in streaming mode and the client goes away, with or without closing the socket connection, the CometController.isClosed() always returns false so there is no way to detect that client is gone. If wake is called which schedules a resume the server can continue indefinitely sending data to a client that is no longer there. This also seems to keep the session alive wasting resources.

3. The destroy methods for webbeans or servlets are not called on a clean system shutdown which prevents us from doing an orderly shutdown.

The performance of the Long Poll can be seen benchmarked against a simple in memory async implementation and the streaming version. On my laptop I'm getting:

    In-memory: 250K ops per second
    Streaming: 18K ops per second
    Long Poll: 90 ops per second

I've tried various threading configurations and can't get the long poll version to any respectable numbers. The attached project can be unzipped and run from a simple Ant script supplied.

Additional Information
Attached Files

- Relationships

- Notes
10-02-08 12:13


- Issue History
Date Modified Username Field Change
09-11-08 10:51 ferg New Issue
10-02-08 12:13 ferg Note Added: 0003484
10-02-08 12:13 ferg Assigned To  => ferg
10-02-08 12:13 ferg Status new => closed
10-02-08 12:13 ferg Resolution open => fixed
10-02-08 12:13 ferg Fixed in Version  => 3.2.1

Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
28 total queries executed.
25 unique queries executed.
Powered by Mantis Bugtracker