On 1/28/2012 3:16 AM, Pid wrote:
On 27/01/2012 22:51, bxqdev wrote:


On 1/28/2012 2:39 AM, Pid wrote:
On 27/01/2012 21:35, bxqdev wrote:


On 1/28/2012 1:16 AM, Pid wrote:
On 27/01/2012 21:06, bxqdev wrote:


On 1/27/2012 8:27 PM, Pid wrote:
On 27/01/2012 14:53, bxqdev wrote:
Hello, Developers!

1. What are the premises to use either
apache.coyote.http11.Http11NioProtocol or
org.apache.coyote.http11.Http11NioProtocol connectors?

Eh?  Is that what you really mean?

i mean what are the reasons to use either connector variant.

NIO can handle more concurrent connections.

yeah, that's why i use the nio connector.


2. Do i get any advantages if i use Sync Servlet Api with
Http11NioProtocol connector or do i have to use Async Servlet Api
to get
the advantages?

What advantages are you looking for?  How much traffic are you
expecting
to handle?

a lot of. i'm looking for advantages in throughput and performance,
for
example.

How much is a lot?

10'000/sec

How many Tomcats are you running?

1

How much RAM/CPU per server etc?

8GB/Xeon

Only 1 CPU?

yes, but it's multicore.


How big is the average response?

300Kb

So you want to send 300k * 10000 / sec?  Isn't that just under 3Gb per
second?

actually when i measured it was less than 1Gb/sec

I see.  Did you identify where the bottleneck was?

well, we are getting too far from the subject.
can you make up 3 cases when to use 3 combinations of connector+servlet api
1. bio connector + async servlet
2. nio connector + sync servlet
3. nio connector + async servlet
i mean in which theoretical case each combination of connector+servlet api is 
the best choice?



3. How do i choose which one to use in any particular case?

First, don't prematurely optimise.  Have you tested your application
yet?

yes, i need a better throughput and performance.

Please provide details.

How have you optimised your application so far, or are you hoping to
optimise Tomcat first?

webapp is optimized, i want to optimize tomcat.

How did you optimise your webapp for 3Gb/sec with only 8Gb of RAM?

i wrote nice code. it's serving 1Gb/sec with 8Gb of RAM. are you surprised?

No, I'm curious*.  Of course you mean<  8Gb for the JVM process, as the
OS etc consumes ~1.5Gb usually, you want to leave a bit of space too, so
usually end up aiming for 4Gb for the JVM unless you want to use swap as
well.

Are you using swap to improve your memory performance?

is it some kind of sarcasm?



In 3 seconds you'll have produced more data than you have RAM, how have
you optimised the garbage collector for this?

we use a custom garbage collector.

Interesting.  Of your own design?

yes, we're going to opensource it soon. stay tuned.


I was going to ask whether you had a 64bit JVM and whether you found
CompressedOops to be a performance improvement or not?

why would we use 32bit OS/JVM on 8Gb server?
actually we don't have any problems to solve.
my question is more theoretical.



p



* There's a few meanings to that, André, I know which one I meant.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to