Re: Tomcat performance goes down after install apr.

2014-11-14 Thread 杨华杰
Well, here is the information

the platform (OS) redhat enterprise 6.4(64 bit)
- the Java JVM version used (1.7.45)
- the Tomcat version used (7.0.45)
- the APR version used (APR from redhat cd)

On Tue, Nov 11, 2014 at 5:00 PM, André Warnier a...@ice-sa.com wrote:

 杨华杰 wrote:

 Tomcat performance goes down after install apr.

 I followed this doc
 http://tomcat.apache.org/native-doc/, I think the different is I didn't
 set sslengine setting as I don't use it. And I saw the error in
 catilina.out, I simply ignore it as I don't use it.

 I fired 300 concurrent calls from another server and I found tomcat just
 dead. Performance is much worse. Anything I did wrong?


 Hi.

 For a question like this (and basically any other question), you should
 really communicate
 - the platform (OS) under which you are running this
 - the Java JVM version used (x.y.z)
 - the Tomcat version used (x.y.z)
 - the APR version used (x.y.z)
 otherwise, how do you want anyone to comment ?

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




Re: Tomcat performance goes down after install apr.

2014-11-11 Thread André Warnier

杨华杰 wrote:

Tomcat performance goes down after install apr.

I followed this doc
http://tomcat.apache.org/native-doc/, I think the different is I didn't set sslengine setting as I don't use it. And I saw the error in catilina.out, I simply ignore it as I don't use it. 



I fired 300 concurrent calls from another server and I found tomcat just dead. 
Performance is much worse. Anything I did wrong?


Hi.

For a question like this (and basically any other question), you should really 
communicate
- the platform (OS) under which you are running this
- the Java JVM version used (x.y.z)
- the Tomcat version used (x.y.z)
- the APR version used (x.y.z)
otherwise, how do you want anyone to comment ?

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



Tomcat performance goes down after install apr.

2014-11-10 Thread 杨华杰
Tomcat performance goes down after install apr.

I followed this doc
http://tomcat.apache.org/native-doc/, I think the different is I didn't set 
sslengine setting as I don't use it. And I saw the error in catilina.out, I 
simply ignore it as I don't use it. 


I fired 300 concurrent calls from another server and I found tomcat just dead. 
Performance is much worse. Anything I did wrong?

Re: Need settings/configuration details to improve tomcat performance

2013-09-11 Thread Arun Kumar
Hi

for better request handling you need to know all about tomcat connectors ,
just try jk_mod with tomcat
http://tomcat.apache.org/tomcat-3.3-doc/mod_jk-howto.html
http://tomcat.apache.org/connectors-doc/


On Wed, Sep 11, 2013 at 11:17 PM, Akbar Thanakalacheruvu 
akb...@sumtotalsystems.com wrote:

 Hi All

 We are deploying around 10 to 15 websites on a tomcat server where each
 website will have concurrency of 100 users at a given time.
 This concurrency will continue though out the day.

 So, I need settings/configuration details of tomcat server to improve its
 performance.
 Please forward/suggest me if you have any information on this.

 Regards
 Akbar

 This message and any attachments thereto contain information that may be
 privileged, confidential or otherwise protected from disclosure and is the
 property of SumTotal Systems, LLC  It is intended only for the person to
 whom it is addressed.  If you are not the intended recipient, you are not
 authorized to read, print, retain, copy, disseminate, distribute, or use
 this message, any attachments thereto or any part thereof.  If you receive
 this message in error, please notify me at akb...@sumtotalsystems.com
 mailto:akb...@sumtotalsystems.com and delete all copies of this message
 and attachments.   SumTotal Systems, LLC has implemented anti-virus
 software on its computers and servers, however, it is the recipient's own
 responsibility to ensure that all attachments are scanned for viruses prior
 to usage.



Re: Need settings/configuration details to improve tomcat performance

2013-09-11 Thread David kerber

On 9/11/2013 1:47 PM, Akbar Thanakalacheruvu wrote:

Hi All

We are deploying around 10 to 15 websites on a tomcat server where each website 
will have concurrency of 100 users at a given time.
This concurrency will continue though out the day.

So, I need settings/configuration details of tomcat server to improve its 
performance.
Please forward/suggest me if you have any information on this.


Are you sure you need to improve its performance?  Have you found that 
its current performance is inadequate?  If so, you will need to 
benchmark where your performance hits are coming from (database 
connections, disk I/O, network I/O, etc), and mitigate whichever one is 
most limiting first.





Regards
Akbar

This message and any attachments thereto contain information that may be privileged, 
confidential or otherwise protected from disclosure and is the property of SumTotal 
Systems, LLC  It is intended only for the person to whom it is addressed.  If you are 
not the intended recipient, you are not authorized to read, print, retain, copy, 
disseminate, distribute, or use this message, any attachments thereto or any part 
thereof.  If you receive this message in error, please notify me at 
akb...@sumtotalsystems.commailto:akb...@sumtotalsystems.com and delete all 
copies of this message and attachments.   SumTotal Systems, LLC has implemented 
anti-virus software on its computers and servers, however, it is the recipient's own 
responsibility to ensure that all attachments are scanned for viruses prior to usage.




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



Re: Need settings/configuration details to improve tomcat performance

2013-09-11 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Akbar,

On 9/11/13 1:47 PM, Akbar Thanakalacheruvu wrote:
 We are deploying around 10 to 15 websites on a tomcat server where 
 each website will have concurrency of 100 users at a given time.

100 sessions or 100 simultaneous requests/connections per webapp, for
a total load of 1000-1500 concurrent requests?

Are you configuring a single server, or a farm of server? Is a farm,
how many nodes? Are you using distributed sessions?

You have really provided no good information with your request. If I
were a consultant, I'd tell you that your best bet is to bring-in my
Sharepoint and SAP teams, and after a few tens of million dollars and
a few years, you'll have everything your heart desires. But I'm not,
and those products are rarely the proper solution ;)

You didn't even say what Tomcat version you were running. I'd
recommend upgrading from 3.2.3 to something more recent.

 This concurrency will continue though out the day.

Doesn't really matter: if peak = steady, that just means your peak is
probably incorrect :)

 So, I need settings/configuration details of tomcat server to
 improve its performance.
 
 Please forward/suggest me if you have any information on this.

Aah... the perennial question: where is the fast configuration
switch, and how do I turn it on?

The short answer is that Tomcat is tuned pretty well in its default
configuration. Only you can determine what settings are appropriate
for your needs. Nobody can give you any tips of tricks to speed things up.

That being said, Tomcat currently ships with the default BIO (blocking
I/O) connector enabled. Using either the NIO (all Java) or APR
(native) connector would probably be an improvement. If you are using
SSL, I highly recommend the APR connector, as there is a measurable
performance improvement using OpenSSL over JSSE.

If you need to be able to handle 1000-1500 simultaneous connections,
then you are going to have to either use more servers or raise the
limits on your Connector (which default to 200 threads). The
attributes you want to adjust depend upon the Connector you are using.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.14 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBCAAGBQJSMK8ZAAoJEBzwKT+lPKRYIWgQAI9mCcSsc2OHrf3g3bPe5zzN
GdRcBlVcY5LC6ZATOe0ychJj5268hV2N2GZmS2oasUHg8UNI0YKPG5+peQXaVBgP
Cf/HQhCAXTxMzjfkCRQE/PHsaqOS3T10mbbwBfWgZiZ9yhlNlJ/5siswUKwdVlcM
c8aRafWCYvwWIjeiwpWxX04GFvs6m2c2NlgdO56uVqsIPndup8QDmUOKF1D65II1
Yi4AjNkf/DjG50fbDE1K13qf/6c2x8kDJMEQcYWL7aEHwDz7Lhl+59A9UqI/ZFVr
Lb+ASyb5qjTgrOgi887iIn4wnq8fl92sZg1Uz/rasqF/OBy1bwBedmeVEioEhDU0
8Tm9elxRwbY7Eh0Oil6YvyhOaB6TEcKwt5kCoLEJVcDnksdczaaOO5MG/X88k/+7
S0tQWkKSlvDFfL1GZxrcHMvNU/85NmCrpQp2zjBt7ysFBjT4rGuwmj3r6Q0hMth7
vUqmJ5XcO0E9Ahd/XiW3vYMivIlwpGru301NCxKkeWSUX+aAOuNNTOCt1wriXXCw
2YejCPM/s5oTWs5UxEGgOHEdWR6sg3AWmtsK4bfa8hbDiKgCpXlCRzuwxzbN/WyR
F8EBSs+DxP1+cBAxNq1DPnCgxnGzx5n2NR6rjj6lxZL+9sl5S/8Bb430jyvbZNWa
pFy6NACqKLwvoq545N4Q
=X2MW
-END PGP SIGNATURE-

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



Need settings/configuration details to improve tomcat performance

2013-09-11 Thread Akbar Thanakalacheruvu
Hi All

We are deploying around 10 to 15 websites on a tomcat server where each website 
will have concurrency of 100 users at a given time.
This concurrency will continue though out the day.

So, I need settings/configuration details of tomcat server to improve its 
performance.
Please forward/suggest me if you have any information on this.

Regards
Akbar

This message and any attachments thereto contain information that may be 
privileged, confidential or otherwise protected from disclosure and is the 
property of SumTotal Systems, LLC  It is intended only for the person to whom 
it is addressed.  If you are not the intended recipient, you are not authorized 
to read, print, retain, copy, disseminate, distribute, or use this message, any 
attachments thereto or any part thereof.  If you receive this message in error, 
please notify me at 
akb...@sumtotalsystems.commailto:akb...@sumtotalsystems.com and delete all 
copies of this message and attachments.   SumTotal Systems, LLC has implemented 
anti-virus software on its computers and servers, however, it is the 
recipient's own responsibility to ensure that all attachments are scanned for 
viruses prior to usage.


Re: Need settings/configuration details to improve tomcat performance

2013-09-11 Thread André Warnier

Akbar Thanakalacheruvu wrote:

Hi All

We are deploying around 10 to 15 websites on a tomcat server where each website 
will have concurrency of 100 users at a given time.
This concurrency will continue though out the day.

So, I need settings/configuration details of tomcat server to improve its 
performance.
Please forward/suggest me if you have any information on this.



The term improving implies that there is a current situation, and you want to make it 
better. So what is the current situation ?

Don't be afraid to provide some real data, if you want some real answers.

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



Re: Tomcat performance problem

2012-11-26 Thread Mark Thomas
On 25/11/2012 00:50, Alex Moskvin wrote:
 Hi,
 
 I am using Tomcat 7.0.30 and OpenEJB 4.5 to host high loaded app and at
 some point found with VisualVM there is a bottleneck when there is a lot of
 concurrent requests (about 400-600 req/sec). Requests and responses are
 small (usually not larger than 2kb in JSON format) - almost all CPU time is
 occupied by TaskQueue.poll() calls and general response latency becomes
 very slow.
 I tried APR/Nio connectors and different threading setting and that didn't
 help anyhow. Tuning (increasing) amount of threads in thread pools didn't
 help as well.
 Tests were conducted on Intel Core i7 3450, 8Gb RAM, 100Mb network, RHEL
 6.3 x64.
 
 How to interpret this relatively low request rate? What I might be doing
 wrong? What can be tuned in Tomcat to improve request handling?
 Because we expect much larger request rate processing speed on the
 mentioned hardware.
 
 Here is a VisualVM top output:
 
 Hot spots - method; self time [%]; self time; self time (cpu)
 
 org.apache.tomcat.util.threads.TaskQueue.poll() 75.508965 57 668 249 ms
 (75,5%) 0,000 ms

That indicates idle threads waiting for work to do. Not an issue.

 net.spy.memcached.internal.OperationFuture.get() 14.22508 10 864 079 ms
 (14,2%) 6 798 ms
 net.spy.memcached.internal.BulkGetFuture.internalGet() 5.644 4 308 270
 ms (5,6%) 0,000 ms

This is more interesting. That looks like the application is waiting for
memCached to complete a task. I'd look into this first.

 org.apache.tomcat.util.net.NioEndpoint$Poller.run() 0.71728086 547 806 ms
 (0,7%) 530 252 ms

That is the NIO connector's Poller processing incoming connections. I'm
a little surprised to see this appearing rather than application code
but given the relatively low % I'd not focus too much time on here just yet.

Mark


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



Re: Tomcat performance problem

2012-11-24 Thread Tony Anecito
Hi Alex,
 
Typically I have found the first issue is the response time of the database 
queries. Threads and sockets will start to reach a limit when this happens.
Then after that is looked at then the next issue will be understanding what is 
really possible with the system. Just going from EJB container to Tomcat on an 
I7 will take at least 5-6msec. Depending on EJB types caching at that layer and 
the Tomcat layer may be needed.
Sorry you are just starting tuning. It took me years to get to sub-millisecond 
response from Database to web service interface and to see it in my logs below 
a millisecond and then I started to see latency from network external to my 
company.
 
Good Hunting.
-Tony

--- On Sat, 11/24/12, Alex Moskvin moskvin.alek...@gmail.com wrote:


From: Alex Moskvin moskvin.alek...@gmail.com
Subject: Tomcat performance problem
To: users@tomcat.apache.org, users-h...@tomcat.apache.org
Date: Saturday, November 24, 2012, 5:50 PM


Hi,

I am using Tomcat 7.0.30 and OpenEJB 4.5 to host high loaded app and at
some point found with VisualVM there is a bottleneck when there is a lot of
concurrent requests (about 400-600 req/sec). Requests and responses are
small (usually not larger than 2kb in JSON format) - almost all CPU time is
occupied by TaskQueue.poll() calls and general response latency becomes
very slow.
I tried APR/Nio connectors and different threading setting and that didn't
help anyhow. Tuning (increasing) amount of threads in thread pools didn't
help as well.
Tests were conducted on Intel Core i7 3450, 8Gb RAM, 100Mb network, RHEL
6.3 x64.

How to interpret this relatively low request rate? What I might be doing
wrong? What can be tuned in Tomcat to improve request handling?
Because we expect much larger request rate processing speed on the
mentioned hardware.

Here is a VisualVM top output:

Hot spots - method; self time [%]; self time; self time (cpu)

org.apache.tomcat.util.threads.TaskQueue.poll() 75.508965 57 668 249 ms
(75,5%) 0,000 ms
net.spy.memcached.internal.OperationFuture.get() 14.22508 10 864 079 ms
(14,2%) 6 798 ms
net.spy.memcached.internal.BulkGetFuture.internalGet() 5.644 4 308 270
ms (5,6%) 0,000 ms
org.apache.tomcat.util.net.NioEndpoint$Poller.run() 0.71728086 547 806 ms
(0,7%) 530 252 ms
org.quartz.core.QuartzSchedulerThread.run() 0.69727546 532 528 ms (0,7%)
0,000 ms

Regards,
Alex


Re: Tomcat Performance Turning.

2011-09-03 Thread Leon Rosenberg
Hello Christopher,

On Fri, Sep 2, 2011 at 11:52 PM, Christopher Schultz
ch...@christopherschultz.net wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Leon,

 On 9/2/2011 4:19 PM, Leon Rosenberg wrote:
 holywarfrom my experience there is no need for apache in your
 setup anyway /holywar.

 Uh, load-balancing?
Aeh... loadbalancer? There are both, soft and hardware solutions.

regards
Leon



 - -chris
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.10 (MingW32)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

 iEYEARECAAYFAk5hUDgACgkQ9CaO5/Lv0PBfhQCdFwEDvm37L9QTe6FBns88RKLg
 7ukAnikbIxI+y/oaskk/Zv/Y4aKPpYD9
 =Dc+M
 -END PGP SIGNATURE-

 -
 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



Re: Tomcat Performance Turning.

2011-09-03 Thread Leon Rosenberg
Hello Talha,

On Fri, Sep 2, 2011 at 11:34 PM, Talha Fazal tfa...@credera.com wrote:
 Q. Have you tried running directly against tomcat without apache inbetween?
 A. Yes; this resolves the performance bottleneck.

Than its pretty clear where to search, isn't it?


 Q. holywarfrom my experience there is no need for apache in your setup 
 anyway /holywar.
 A.  :-) The reasons for having apache in front:
A) Create a DMZ and protect Tomcat from being exposed to outside attacks;
You know that httpd does nothing but forwards each and single request
to tomcat? So you are not really protect them, you just add another
(time consuming) layer.


 B) Load balancing.
You mentioned that you have 2 httpd servers, so all the traffic to 6
(or was it eight) tomcat servers are going through the two httpds?
And how do you loadbalancer the 2 httpd servers?


Regards
Leon


 Thanks Leon!

 -Original Message-
 From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com]
 Sent: Friday, September 02, 2011 3:19 PM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning.

 Hello Talha,

 On Fri, Sep 2, 2011 at 6:16 PM, Talha Fazal tfa...@credera.com wrote:
 PLEASE SEE MY ANSWERS BELOW IN UPPER CAPS.

 ONE IMPORTANT OBSERVATION: Even though, tomcat's response time is decent, 
 for some reason, apache is taking a lot longer to serve requests. We are 
 using mod_jk with Tomcat using AJP1.3 protocol in the connector setting in 
 server.xml. We plan to try mod_proxy_ajp and mod_proxy instead of mod_jk. 
 Any thoughts here?

 Interesting observation. Have you tried running directly against
 tomcat without apache inbetween?
 holywarfrom my experience there is no need for apache in your setup
 anyway /holywar.

 In the past we used both mod_jk and mod_proxy_ajp, and even
 mod_proxy_ajp is somewhat faster, the difference where never 17
 seconds.
 Your best guess would probably be to test without httpd to rule out if
 tomcat or httpd is the bottleneck.

 regards
 Leon


 Thanks,


 -Original Message-
 From: R Batchelor [mailto:rsbat...@yahoo.com]
 Sent: Friday, September 02, 2011 10:10 AM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning.

 Have you ruled out issues with db connection pooling? NO. IN FACT, THERE ARE 
 KNOWN DBCP CONNECTION POOLING DEADLOCK ISSUES IN TOMCAT 6.0.26 
 [https://issues.apache.org/jira/browse/DBCP-270]. I AM LOBBYING TO UPGRADE 
 TO TOMCAT 7.0.20 AND USE THE JDBC CONNECTION POOL INSTEAD OF DBCP CONNECTION 
 POOL.

 You might consider setting your dbcp maxWait to 8000 or less and watch
 for timeout waiting for idle object exceptions.  Also, you could
 monitor database connections/active-users on the DB side to see if your
 dbcp pools are max'd but all the database users/connections are idle.
 These can be symptoms of an application mis-managing its dbcp pools.
 I WILL DEFINITELY TRY THIS OUT. THANKS!

 
 From: Leon Rosenberg rosenberg.l...@gmail.com
 To: Tomcat Users List users@tomcat.apache.org
 Sent: Friday, September 2, 2011 7:55 AM
 Subject: Re: Tomcat Performance Turning.

 Hello Talha,

 well... the quickshots are through.
 You should really create some threaddumps after each other (for
 example with jstack) and try to find out which thread is slowing the
 app down.
 For starters you could try with code you changed for tomcat
 adaptations if any. The problem seems to lie beneath the surface, so
 you will have to start
 performance monitoring and look into the inside.
 However, time difference of 17 seconds must be something very very
 obvious like a synchronized block in a valve/filter, db lock (have you
 checked the db locks?), or an if (tomcat)
 Thread.sleep(1000L*60*17);

 regards
 Leon

 On Fri, Sep 2, 2011 at 4:21 PM, Talha Fazal tfa...@credera.com wrote:
 Hi Leon,

 Please see any answers in CAPS below.



 -Original Message-
 From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com]
 Sent: Friday, September 02, 2011 9:06 AM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning.

 Hello Talha,

 seems that your tomcats are fine.
 Question, you mention that the tomcat do not perform, but you don't
 tell us how you come to this conclusion except for cpu load. ANSWER: 
 LOOKING INTO THE TOMCAT ACCESS LOGS, THE RESPONSE TIME (%D) IS HORRIBLE).
 What is the difference in response times between weblogic and tomcat? 
 ANSWER: FOR PAGES THAT WEBLOGIC SERVES IN 500 ms ON AVERAGE, TOMCAT IS 
 TAKING 17000 ms ON AVERAGE.
 Maybe your tomcat just perform the job MUCH faster ;-)
 The thread dump you posted in another reply indicates that your
 tomcats are idling.
 Do you have manager installed? NO. With manager you could monitor active
 connections and requests.
 Do you have probe installed? YES, WE HAVE IT INSTALLED. A LOT OF THREADS 
 ARE IDLING IS WHAT WE OBSERVE.
 Finally, if you really want to profile your application, do you have
 moskito installed? :-) (the one i initially wrote
 -moskito.anotheria.net, therefore the shameless

Tomcat Performance Turning.

2011-09-02 Thread Talha Fazal
Background:

We have a moderately high traffic web application (between 8 to 21 million 
hits/day) running Apache to serve static content (also to load balance and 
create a DMZ) and Weblogic to serve dynamic content (Struts 1.1 based Java web 
application).
We are trying to replace Weblogic with Tomcat and we have ported our code to 
work with Tomcat. All works well in Tomcat in the DEV, QA, and STAGING 
environment as long as there is no real load.

The Issue - Load Testing:

In our staging environment for load testing, when we run the load test using 
525 concurrent users, the app doesn't perform at all. The CPU usage (on Apache 
and Tomcat Servers) hovers between 7% to 8%. The database server CPU usage is 
also between 4 and 5%.

Setup for Load Testing:

We have setup 2 apache web servers (4 Quad Processors i.e. 16 CPUs each), 2 
Tomcat (version 6.0.29) servers (4 Quad Processors i.e. 16 CPUs each). Each 
server has 32 Gb ram. We are using AJP 1.3 to connect Tomcat and Apache.

Mentioned below is the version information:
Apache Version 2.2.14 (with mod_jk module)
Tomcat: 6.0.29
Database: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bits
Connection Pool: DBCP.

Mentioned below are connector settings in conf/server.xml:

  Connector
address=stagingTCserver01
backlog=300
connectionTimeout=6
enableLookups=false
maxPostSize=2097152
maxSpareThreads=10
maxThreads=30
minSpareThreads=5
port=8006
protocol=AJP/1.3
tcpNoDelay=true
/

Mentioned below are the settings for JNDI resource configured in 
conf/context.xml:

  Resource
name=jdbc/onlinedb
auth=Container
type=javax.sql.DataSource
driverClassName=oracle.jdbc.OracleDriver
url=jdbc:oracle:thin:@192.168.12.10:1521:WEBDB
initialSize=1
maxActive=30
minIdle=1
maxIdle=5
maxWait=30
poolPreparedStatements=true
maxOpenPreparedStatements=300
validationQuery=SELECT 1 FROM BB_DUAL
testOnBorrow=true
validationInterval=1
testWhileIdle=true
/

JVM Parameters:

-Xms512m -Xmx2048m
-XX:PermSize=128m -XX:MaxPermSize=256m
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/WL2TC/app/
-verbose:gc -Xloggc:/logs/WL2TC/app/WL2TC_1-gc.log

It must be noted that Weblogic setup performs very well using similar settings.

Garbage Collection: While the load test is running, Garbage collection works 
just fine i.e. Young GC occurring every 2-3 minutes and takes less than half a 
second. Full GC occurs every hour and takes a little over 2 seconds.

Any tips/pointers will be greatly appreciated.

Talha.


Re: Tomcat Performance Turning.

2011-09-02 Thread Leon Rosenberg
Hello Talha,

from a quick glance at your post, do you have the same 30 max threads
limit in weblogic?
Because sending 525 users through 2x30=60 max threads seems a little
bottlenecky.
Which software are you using to produce the load? Does it keepalive
the connections?

regards
Leon

On Fri, Sep 2, 2011 at 3:31 PM, Talha Fazal tfa...@credera.com wrote:
 Background:

 We have a moderately high traffic web application (between 8 to 21 million 
 hits/day) running Apache to serve static content (also to load balance and 
 create a DMZ) and Weblogic to serve dynamic content (Struts 1.1 based Java 
 web application).
 We are trying to replace Weblogic with Tomcat and we have ported our code to 
 work with Tomcat. All works well in Tomcat in the DEV, QA, and STAGING 
 environment as long as there is no real load.

 The Issue - Load Testing:

 In our staging environment for load testing, when we run the load test using 
 525 concurrent users, the app doesn't perform at all. The CPU usage (on 
 Apache and Tomcat Servers) hovers between 7% to 8%. The database server CPU 
 usage is also between 4 and 5%.

 Setup for Load Testing:

 We have setup 2 apache web servers (4 Quad Processors i.e. 16 CPUs each), 2 
 Tomcat (version 6.0.29) servers (4 Quad Processors i.e. 16 CPUs each). Each 
 server has 32 Gb ram. We are using AJP 1.3 to connect Tomcat and Apache.

 Mentioned below is the version information:
 Apache Version 2.2.14 (with mod_jk module)
 Tomcat: 6.0.29
 Database: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bits
 Connection Pool: DBCP.

 Mentioned below are connector settings in conf/server.xml:

  Connector
        address=stagingTCserver01
        backlog=300
        connectionTimeout=6
        enableLookups=false
        maxPostSize=2097152
        maxSpareThreads=10
        maxThreads=30
        minSpareThreads=5
        port=8006
        protocol=AJP/1.3
        tcpNoDelay=true
    /

 Mentioned below are the settings for JNDI resource configured in 
 conf/context.xml:

  Resource
        name=jdbc/onlinedb
        auth=Container
        type=javax.sql.DataSource
        driverClassName=oracle.jdbc.OracleDriver
        url=jdbc:oracle:thin:@192.168.12.10:1521:WEBDB
        initialSize=1
        maxActive=30
        minIdle=1
        maxIdle=5
        maxWait=30
        poolPreparedStatements=true
        maxOpenPreparedStatements=300
        validationQuery=SELECT 1 FROM BB_DUAL
        testOnBorrow=true
        validationInterval=1
        testWhileIdle=true
    /

 JVM Parameters:

 -Xms512m -Xmx2048m
 -XX:PermSize=128m -XX:MaxPermSize=256m
 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/WL2TC/app/
 -verbose:gc -Xloggc:/logs/WL2TC/app/WL2TC_1-gc.log

 It must be noted that Weblogic setup performs very well using similar 
 settings.

 Garbage Collection: While the load test is running, Garbage collection works 
 just fine i.e. Young GC occurring every 2-3 minutes and takes less than half 
 a second. Full GC occurs every hour and takes a little over 2 seconds.

 Any tips/pointers will be greatly appreciated.

 Talha.


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



RE: Tomcat Performance Turning.

2011-09-02 Thread Caldarale, Charles R
 From: Talha Fazal [mailto:tfa...@credera.com] 
 Subject: Tomcat Performance Turning.

 In our staging environment for load testing, when we run the load 
 test using 525 concurrent users, the app doesn't perform at all.
 The CPU usage (on Apache and Tomcat Servers) hovers between 7% to 
 8%. The database server CPU usage is also between 4 and 5%.

Since your CPU usage is low, your threads must be waiting for something.  Take 
several thread dumps and find out what.

http://wiki.apache.org/tomcat/HowTo#How_do_I_obtain_a_thread_dump_of_my_running_webapp_.3F

(I'll guess maxThreads and data base connections; a max of 30 seems a bit low 
for 525 concurrent requests.)

 validationQuery=SELECT 1 FROM BB_DUAL

Most DBs provide a very simple ping-like request capability; that would be 
preferable to a select.

 -Xms512m -Xmx2048m

In a server environment, one normally sets Xms and Xmx to the same value to 
avoid heap thrashing.  However, this is unrelated to your current problem.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


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



RE: Tomcat Performance Turning.

2011-09-02 Thread Talha Fazal
Plz. see my answers below in UPPERCAPS.

Thanks!

-Original Message-
From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com] 
Sent: Friday, September 02, 2011 8:35 AM
To: Tomcat Users List
Subject: Re: Tomcat Performance Turning.

Hello Talha,

from a quick glance at your post, do you have the same 30 max threads
limit in weblogic? YES.
Because sending 525 users through 2x30=60 max threads seems a little
bottlenecky. I FORGOT TO MENTION THAT ON EACH TOMCAT SERVER, WE ARE RUNNING 3 
INSTANCES OF TOMCAT ON EACH OF OUR TOMCAT SERVERS (2 SERVERS), THUS 2*3*30=180 
maxThreads. WE EVEN INCREASED THE maxThreads TO 120 FOR EACH INSTANCE (thus 
120*6=720 maxThreads), AND MATCHED maxActive IN JNDI RESOURCE TO 120, BUT WE 
STILL DIDN'T SEE CONSIDERABLE IMPROVEMENT. THE CPU USAGE INCREASED FROM 7% to 
10%.

Which software are you using to produce the load? LOADRUNNER. Does it keepalive 
the connections? YES.

regards
Leon

On Fri, Sep 2, 2011 at 3:31 PM, Talha Fazal tfa...@credera.com wrote:
 Background:

 We have a moderately high traffic web application (between 8 to 21 million 
 hits/day) running Apache to serve static content (also to load balance and 
 create a DMZ) and Weblogic to serve dynamic content (Struts 1.1 based Java 
 web application).
 We are trying to replace Weblogic with Tomcat and we have ported our code to 
 work with Tomcat. All works well in Tomcat in the DEV, QA, and STAGING 
 environment as long as there is no real load.

 The Issue - Load Testing:

 In our staging environment for load testing, when we run the load test using 
 525 concurrent users, the app doesn't perform at all. The CPU usage (on 
 Apache and Tomcat Servers) hovers between 7% to 8%. The database server CPU 
 usage is also between 4 and 5%.

 Setup for Load Testing:

 We have setup 2 apache web servers (4 Quad Processors i.e. 16 CPUs each), 2 
 Tomcat (version 6.0.29) servers (4 Quad Processors i.e. 16 CPUs each). Each 
 server has 32 Gb ram. We are using AJP 1.3 to connect Tomcat and Apache.

 Mentioned below is the version information:
 Apache Version 2.2.14 (with mod_jk module)
 Tomcat: 6.0.29
 Database: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bits
 Connection Pool: DBCP.

 Mentioned below are connector settings in conf/server.xml:

  Connector
        address=stagingTCserver01
        backlog=300
        connectionTimeout=6
        enableLookups=false
        maxPostSize=2097152
        maxSpareThreads=10
        maxThreads=30
        minSpareThreads=5
        port=8006
        protocol=AJP/1.3
        tcpNoDelay=true
    /

 Mentioned below are the settings for JNDI resource configured in 
 conf/context.xml:

  Resource
        name=jdbc/onlinedb
        auth=Container
        type=javax.sql.DataSource
        driverClassName=oracle.jdbc.OracleDriver
        url=jdbc:oracle:thin:@192.168.12.10:1521:WEBDB
        initialSize=1
        maxActive=30
        minIdle=1
        maxIdle=5
        maxWait=30
        poolPreparedStatements=true
        maxOpenPreparedStatements=300
        validationQuery=SELECT 1 FROM BB_DUAL
        testOnBorrow=true
        validationInterval=1
        testWhileIdle=true
    /

 JVM Parameters:

 -Xms512m -Xmx2048m
 -XX:PermSize=128m -XX:MaxPermSize=256m
 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/WL2TC/app/
 -verbose:gc -Xloggc:/logs/WL2TC/app/WL2TC_1-gc.log

 It must be noted that Weblogic setup performs very well using similar 
 settings.

 Garbage Collection: While the load test is running, Garbage collection works 
 just fine i.e. Young GC occurring every 2-3 minutes and takes less than half 
 a second. Full GC occurs every hour and takes a little over 2 seconds.

 Any tips/pointers will be greatly appreciated.

 Talha.


-
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



RE: Tomcat Performance Turning.

2011-09-02 Thread Talha Fazal
Thx Charles! We did take a thread dump and we found a lot of threads locked. 
Please see a short sample below:

http-8014-9 daemon prio=10 tid=0x60965c00 nid=0x6c83 in Object.wait() 
[0x4c688000..0x4c688c90]
   java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)
- locked 0x2aaae10403b0 (a 
org.apache.tomcat.util.net.JIoEndpoint$Worker)
at 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:484)
at java.lang.Thread.run(Thread.java:619)

Sincerely, Talha.

-Original Message-
From: Caldarale, Charles R [mailto:chuck.caldar...@unisys.com] 
Sent: Friday, September 02, 2011 8:42 AM
To: Tomcat Users List
Subject: RE: Tomcat Performance Turning.

 From: Talha Fazal [mailto:tfa...@credera.com] 
 Subject: Tomcat Performance Turning.

 In our staging environment for load testing, when we run the load 
 test using 525 concurrent users, the app doesn't perform at all.
 The CPU usage (on Apache and Tomcat Servers) hovers between 7% to 
 8%. The database server CPU usage is also between 4 and 5%.

Since your CPU usage is low, your threads must be waiting for something.  Take 
several thread dumps and find out what.

http://wiki.apache.org/tomcat/HowTo#How_do_I_obtain_a_thread_dump_of_my_running_webapp_.3F

(I'll guess maxThreads and data base connections; a max of 30 seems a bit low 
for 525 concurrent requests.)

 validationQuery=SELECT 1 FROM BB_DUAL

Most DBs provide a very simple ping-like request capability; that would be 
preferable to a select.

 -Xms512m -Xmx2048m

In a server environment, one normally sets Xms and Xmx to the same value to 
avoid heap thrashing.  However, this is unrelated to your current problem.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


-
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



Re: Tomcat Performance Turning.

2011-09-02 Thread Leon Rosenberg
Hello Talha,

seems that your tomcats are fine.
Question, you mention that the tomcat do not perform, but you don't
tell us how you come to this conclusion except for cpu load.
What is the difference in response times between weblogic and tomcat?
Maybe your tomcat just perform the job MUCH faster ;-)
The thread dump you posted in another reply indicates that your
tomcats are idling.
Do you have manager installed? With manager you could monitor active
connections and requests.
Do you have probe installed?
Finally, if you really want to profile your application, do you have
moskito installed? :-) (the one i initially wrote
-moskito.anotheria.net, therefore the shameless advertisement).

In the last case I can offer you to provide support getting it running.

regards
Leon

On Fri, Sep 2, 2011 at 3:50 PM, Talha Fazal tfa...@credera.com wrote:
 Plz. see my answers below in UPPERCAPS.

 Thanks!

 -Original Message-
 From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com]
 Sent: Friday, September 02, 2011 8:35 AM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning.

 Hello Talha,

 from a quick glance at your post, do you have the same 30 max threads
 limit in weblogic? YES.
 Because sending 525 users through 2x30=60 max threads seems a little
 bottlenecky. I FORGOT TO MENTION THAT ON EACH TOMCAT SERVER, WE ARE RUNNING 3 
 INSTANCES OF TOMCAT ON EACH OF OUR TOMCAT SERVERS (2 SERVERS), THUS 
 2*3*30=180 maxThreads. WE EVEN INCREASED THE maxThreads TO 120 FOR EACH 
 INSTANCE (thus 120*6=720 maxThreads), AND MATCHED maxActive IN JNDI RESOURCE 
 TO 120, BUT WE STILL DIDN'T SEE CONSIDERABLE IMPROVEMENT. THE CPU USAGE 
 INCREASED FROM 7% to 10%.

 Which software are you using to produce the load? LOADRUNNER. Does it 
 keepalive the connections? YES.

 regards
 Leon

 On Fri, Sep 2, 2011 at 3:31 PM, Talha Fazal tfa...@credera.com wrote:
 Background:

 We have a moderately high traffic web application (between 8 to 21 million 
 hits/day) running Apache to serve static content (also to load balance and 
 create a DMZ) and Weblogic to serve dynamic content (Struts 1.1 based Java 
 web application).
 We are trying to replace Weblogic with Tomcat and we have ported our code to 
 work with Tomcat. All works well in Tomcat in the DEV, QA, and STAGING 
 environment as long as there is no real load.

 The Issue - Load Testing:

 In our staging environment for load testing, when we run the load test using 
 525 concurrent users, the app doesn't perform at all. The CPU usage (on 
 Apache and Tomcat Servers) hovers between 7% to 8%. The database server CPU 
 usage is also between 4 and 5%.

 Setup for Load Testing:

 We have setup 2 apache web servers (4 Quad Processors i.e. 16 CPUs each), 2 
 Tomcat (version 6.0.29) servers (4 Quad Processors i.e. 16 CPUs each). Each 
 server has 32 Gb ram. We are using AJP 1.3 to connect Tomcat and Apache.

 Mentioned below is the version information:
 Apache Version 2.2.14 (with mod_jk module)
 Tomcat: 6.0.29
 Database: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bits
 Connection Pool: DBCP.

 Mentioned below are connector settings in conf/server.xml:

  Connector
        address=stagingTCserver01
        backlog=300
        connectionTimeout=6
        enableLookups=false
        maxPostSize=2097152
        maxSpareThreads=10
        maxThreads=30
        minSpareThreads=5
        port=8006
        protocol=AJP/1.3
        tcpNoDelay=true
    /

 Mentioned below are the settings for JNDI resource configured in 
 conf/context.xml:

  Resource
        name=jdbc/onlinedb
        auth=Container
        type=javax.sql.DataSource
        driverClassName=oracle.jdbc.OracleDriver
        url=jdbc:oracle:thin:@192.168.12.10:1521:WEBDB
        initialSize=1
        maxActive=30
        minIdle=1
        maxIdle=5
        maxWait=30
        poolPreparedStatements=true
        maxOpenPreparedStatements=300
        validationQuery=SELECT 1 FROM BB_DUAL
        testOnBorrow=true
        validationInterval=1
        testWhileIdle=true
    /

 JVM Parameters:

 -Xms512m -Xmx2048m
 -XX:PermSize=128m -XX:MaxPermSize=256m
 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/WL2TC/app/
 -verbose:gc -Xloggc:/logs/WL2TC/app/WL2TC_1-gc.log

 It must be noted that Weblogic setup performs very well using similar 
 settings.

 Garbage Collection: While the load test is running, Garbage collection works 
 just fine i.e. Young GC occurring every 2-3 minutes and takes less than half 
 a second. Full GC occurs every hour and takes a little over 2 seconds.

 Any tips/pointers will be greatly appreciated.

 Talha.


 -
 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

RE: Tomcat Performance Turning.

2011-09-02 Thread Caldarale, Charles R
 From: Talha Fazal [mailto:tfa...@credera.com] 
 Subject: RE: Tomcat Performance Turning.

 We did take a thread dump and we found a lot of threads locked. 
 http-8014-9 daemon prio=10 tid=0x60965c00 nid=0x6c83 in 
 Object.wait() 
 at 
 org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)

Often, a throughput problem is not the many, but just one that is holding all 
of the others up.  The example you cite above is simply a thread waiting for 
something to do.

Do you perhaps have a network problem, where requests are simply not getting 
delivered to httpd or Tomcat in a timely fashion?

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


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



RE: Tomcat Performance Turning.

2011-09-02 Thread Talha Fazal
Hi Leon,

Please see any answers in CAPS below.



-Original Message-
From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com] 
Sent: Friday, September 02, 2011 9:06 AM
To: Tomcat Users List
Subject: Re: Tomcat Performance Turning.

Hello Talha,

seems that your tomcats are fine.
Question, you mention that the tomcat do not perform, but you don't
tell us how you come to this conclusion except for cpu load. ANSWER: LOOKING 
INTO THE TOMCAT ACCESS LOGS, THE RESPONSE TIME (%D) IS HORRIBLE).
What is the difference in response times between weblogic and tomcat? ANSWER: 
FOR PAGES THAT WEBLOGIC SERVES IN 500 ms ON AVERAGE, TOMCAT IS TAKING 17000 ms 
ON AVERAGE.
Maybe your tomcat just perform the job MUCH faster ;-)
The thread dump you posted in another reply indicates that your
tomcats are idling.
Do you have manager installed? NO. With manager you could monitor active
connections and requests.
Do you have probe installed? YES, WE HAVE IT INSTALLED. A LOT OF THREADS ARE 
IDLING IS WHAT WE OBSERVE.
Finally, if you really want to profile your application, do you have
moskito installed? :-) (the one i initially wrote
-moskito.anotheria.net, therefore the shameless advertisement). :-) SURE WILL 
GIVE IT A TRY [TIME PERMITTING].

In the last case I can offer you to provide support getting it running. WILL 
LET YOU KNOW IF WE ARE INTERESTED. THANKS.

regards
Leon

On Fri, Sep 2, 2011 at 3:50 PM, Talha Fazal tfa...@credera.com wrote:
 Plz. see my answers below in UPPERCAPS.

 Thanks!

 -Original Message-
 From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com]
 Sent: Friday, September 02, 2011 8:35 AM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning.

 Hello Talha,

 from a quick glance at your post, do you have the same 30 max threads
 limit in weblogic? YES.
 Because sending 525 users through 2x30=60 max threads seems a little
 bottlenecky. I FORGOT TO MENTION THAT ON EACH TOMCAT SERVER, WE ARE RUNNING 3 
 INSTANCES OF TOMCAT ON EACH OF OUR TOMCAT SERVERS (2 SERVERS), THUS 
 2*3*30=180 maxThreads. WE EVEN INCREASED THE maxThreads TO 120 FOR EACH 
 INSTANCE (thus 120*6=720 maxThreads), AND MATCHED maxActive IN JNDI RESOURCE 
 TO 120, BUT WE STILL DIDN'T SEE CONSIDERABLE IMPROVEMENT. THE CPU USAGE 
 INCREASED FROM 7% to 10%.

 Which software are you using to produce the load? LOADRUNNER. Does it 
 keepalive the connections? YES.

 regards
 Leon

 On Fri, Sep 2, 2011 at 3:31 PM, Talha Fazal tfa...@credera.com wrote:
 Background:

 We have a moderately high traffic web application (between 8 to 21 million 
 hits/day) running Apache to serve static content (also to load balance and 
 create a DMZ) and Weblogic to serve dynamic content (Struts 1.1 based Java 
 web application).
 We are trying to replace Weblogic with Tomcat and we have ported our code to 
 work with Tomcat. All works well in Tomcat in the DEV, QA, and STAGING 
 environment as long as there is no real load.

 The Issue - Load Testing:

 In our staging environment for load testing, when we run the load test using 
 525 concurrent users, the app doesn't perform at all. The CPU usage (on 
 Apache and Tomcat Servers) hovers between 7% to 8%. The database server CPU 
 usage is also between 4 and 5%.

 Setup for Load Testing:

 We have setup 2 apache web servers (4 Quad Processors i.e. 16 CPUs each), 2 
 Tomcat (version 6.0.29) servers (4 Quad Processors i.e. 16 CPUs each). Each 
 server has 32 Gb ram. We are using AJP 1.3 to connect Tomcat and Apache.

 Mentioned below is the version information:
 Apache Version 2.2.14 (with mod_jk module)
 Tomcat: 6.0.29
 Database: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bits
 Connection Pool: DBCP.

 Mentioned below are connector settings in conf/server.xml:

  Connector
        address=stagingTCserver01
        backlog=300
        connectionTimeout=6
        enableLookups=false
        maxPostSize=2097152
        maxSpareThreads=10
        maxThreads=30
        minSpareThreads=5
        port=8006
        protocol=AJP/1.3
        tcpNoDelay=true
    /

 Mentioned below are the settings for JNDI resource configured in 
 conf/context.xml:

  Resource
        name=jdbc/onlinedb
        auth=Container
        type=javax.sql.DataSource
        driverClassName=oracle.jdbc.OracleDriver
        url=jdbc:oracle:thin:@192.168.12.10:1521:WEBDB
        initialSize=1
        maxActive=30
        minIdle=1
        maxIdle=5
        maxWait=30
        poolPreparedStatements=true
        maxOpenPreparedStatements=300
        validationQuery=SELECT 1 FROM BB_DUAL
        testOnBorrow=true
        validationInterval=1
        testWhileIdle=true
    /

 JVM Parameters:

 -Xms512m -Xmx2048m
 -XX:PermSize=128m -XX:MaxPermSize=256m
 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/WL2TC/app/
 -verbose:gc -Xloggc:/logs/WL2TC/app/WL2TC_1-gc.log

 It must be noted that Weblogic setup performs very well using similar 
 settings.

 Garbage Collection: While the load test is running

RE: Tomcat Performance Turning.

2011-09-02 Thread Talha Fazal
WE GENERATE REPORT ON NETWORK BACKLOG USING ADVANCED TOOLS, WHICH INDICATE 
NEGLIGIBLE NETWORK DELAY. AT ONE POINT TO TIME THIS WAS AN ISSUE. WE INCREASED 
THE BANDWIDTH FROM 45 MBPS TO 100 MBPS WHICH RESOLVED THE ISSUE.

THANKS, TALHA.

-Original Message-
From: Caldarale, Charles R [mailto:chuck.caldar...@unisys.com] 
Sent: Friday, September 02, 2011 9:16 AM
To: Tomcat Users List
Subject: RE: Tomcat Performance Turning.

 From: Talha Fazal [mailto:tfa...@credera.com] 
 Subject: RE: Tomcat Performance Turning.

 We did take a thread dump and we found a lot of threads locked. 
 http-8014-9 daemon prio=10 tid=0x60965c00 nid=0x6c83 in 
 Object.wait() 
 at 
 org.apache.tomcat.util.net.JIoEndpoint$Worker.await(JIoEndpoint.java:458)

Often, a throughput problem is not the many, but just one that is holding all 
of the others up.  The example you cite above is simply a thread waiting for 
something to do.

Do you perhaps have a network problem, where requests are simply not getting 
delivered to httpd or Tomcat in a timely fashion?

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


-
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



Re: Tomcat Performance Turning.

2011-09-02 Thread Leon Rosenberg
Hello Talha,

well... the quickshots are through.
You should really create some threaddumps after each other (for
example with jstack) and try to find out which thread is slowing the
app down.
For starters you could try with code you changed for tomcat
adaptations if any. The problem seems to lie beneath the surface, so
you will have to start
performance monitoring and look into the inside.
However, time difference of 17 seconds must be something very very
obvious like a synchronized block in a valve/filter, db lock (have you
checked the db locks?), or an if (tomcat)
Thread.sleep(1000L*60*17);

regards
Leon

On Fri, Sep 2, 2011 at 4:21 PM, Talha Fazal tfa...@credera.com wrote:
 Hi Leon,

 Please see any answers in CAPS below.



 -Original Message-
 From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com]
 Sent: Friday, September 02, 2011 9:06 AM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning.

 Hello Talha,

 seems that your tomcats are fine.
 Question, you mention that the tomcat do not perform, but you don't
 tell us how you come to this conclusion except for cpu load. ANSWER: LOOKING 
 INTO THE TOMCAT ACCESS LOGS, THE RESPONSE TIME (%D) IS HORRIBLE).
 What is the difference in response times between weblogic and tomcat? ANSWER: 
 FOR PAGES THAT WEBLOGIC SERVES IN 500 ms ON AVERAGE, TOMCAT IS TAKING 17000 
 ms ON AVERAGE.
 Maybe your tomcat just perform the job MUCH faster ;-)
 The thread dump you posted in another reply indicates that your
 tomcats are idling.
 Do you have manager installed? NO. With manager you could monitor active
 connections and requests.
 Do you have probe installed? YES, WE HAVE IT INSTALLED. A LOT OF THREADS ARE 
 IDLING IS WHAT WE OBSERVE.
 Finally, if you really want to profile your application, do you have
 moskito installed? :-) (the one i initially wrote
 -moskito.anotheria.net, therefore the shameless advertisement). :-) SURE WILL 
 GIVE IT A TRY [TIME PERMITTING].

 In the last case I can offer you to provide support getting it running. WILL 
 LET YOU KNOW IF WE ARE INTERESTED. THANKS.

 regards
 Leon

 On Fri, Sep 2, 2011 at 3:50 PM, Talha Fazal tfa...@credera.com wrote:
 Plz. see my answers below in UPPERCAPS.

 Thanks!

 -Original Message-
 From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com]
 Sent: Friday, September 02, 2011 8:35 AM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning.

 Hello Talha,

 from a quick glance at your post, do you have the same 30 max threads
 limit in weblogic? YES.
 Because sending 525 users through 2x30=60 max threads seems a little
 bottlenecky. I FORGOT TO MENTION THAT ON EACH TOMCAT SERVER, WE ARE RUNNING 
 3 INSTANCES OF TOMCAT ON EACH OF OUR TOMCAT SERVERS (2 SERVERS), THUS 
 2*3*30=180 maxThreads. WE EVEN INCREASED THE maxThreads TO 120 FOR EACH 
 INSTANCE (thus 120*6=720 maxThreads), AND MATCHED maxActive IN JNDI RESOURCE 
 TO 120, BUT WE STILL DIDN'T SEE CONSIDERABLE IMPROVEMENT. THE CPU USAGE 
 INCREASED FROM 7% to 10%.

 Which software are you using to produce the load? LOADRUNNER. Does it 
 keepalive the connections? YES.

 regards
 Leon

 On Fri, Sep 2, 2011 at 3:31 PM, Talha Fazal tfa...@credera.com wrote:
 Background:

 We have a moderately high traffic web application (between 8 to 21 million 
 hits/day) running Apache to serve static content (also to load balance and 
 create a DMZ) and Weblogic to serve dynamic content (Struts 1.1 based Java 
 web application).
 We are trying to replace Weblogic with Tomcat and we have ported our code 
 to work with Tomcat. All works well in Tomcat in the DEV, QA, and STAGING 
 environment as long as there is no real load.

 The Issue - Load Testing:

 In our staging environment for load testing, when we run the load test 
 using 525 concurrent users, the app doesn't perform at all. The CPU usage 
 (on Apache and Tomcat Servers) hovers between 7% to 8%. The database server 
 CPU usage is also between 4 and 5%.

 Setup for Load Testing:

 We have setup 2 apache web servers (4 Quad Processors i.e. 16 CPUs each), 2 
 Tomcat (version 6.0.29) servers (4 Quad Processors i.e. 16 CPUs each). Each 
 server has 32 Gb ram. We are using AJP 1.3 to connect Tomcat and Apache.

 Mentioned below is the version information:
 Apache Version 2.2.14 (with mod_jk module)
 Tomcat: 6.0.29
 Database: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bits
 Connection Pool: DBCP.

 Mentioned below are connector settings in conf/server.xml:

  Connector
        address=stagingTCserver01
        backlog=300
        connectionTimeout=6
        enableLookups=false
        maxPostSize=2097152
        maxSpareThreads=10
        maxThreads=30
        minSpareThreads=5
        port=8006
        protocol=AJP/1.3
        tcpNoDelay=true
    /

 Mentioned below are the settings for JNDI resource configured in 
 conf/context.xml:

  Resource
        name=jdbc/onlinedb
        auth=Container
        type=javax.sql.DataSource
        driverClassName

Re: Tomcat Performance Turning.

2011-09-02 Thread R Batchelor
Have you ruled out issues with db connection pooling?

You might consider setting your dbcp maxWait to 8000 or less and watch 
for timeout waiting for idle object exceptions.  Also, you could 
monitor database connections/active-users on the DB side to see if your 
dbcp pools are max'd but all the database users/connections are idle.  
These can be symptoms of an application mis-managing its dbcp pools.



From: Leon Rosenberg rosenberg.l...@gmail.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Friday, September 2, 2011 7:55 AM
Subject: Re: Tomcat Performance Turning.

Hello Talha,

well... the quickshots are through.
You should really create some threaddumps after each other (for
example with jstack) and try to find out which thread is slowing the
app down.
For starters you could try with code you changed for tomcat
adaptations if any. The problem seems to lie beneath the surface, so
you will have to start
performance monitoring and look into the inside.
However, time difference of 17 seconds must be something very very
obvious like a synchronized block in a valve/filter, db lock (have you
checked the db locks?), or an if (tomcat)
Thread.sleep(1000L*60*17);

regards
Leon

On Fri, Sep 2, 2011 at 4:21 PM, Talha Fazal tfa...@credera.com wrote:
 Hi Leon,

 Please see any answers in CAPS below.



 -Original Message-
 From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com]
 Sent: Friday, September 02, 2011 9:06 AM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning.

 Hello Talha,

 seems that your tomcats are fine.
 Question, you mention that the tomcat do not perform, but you don't
 tell us how you come to this conclusion except for cpu load. ANSWER: LOOKING 
 INTO THE TOMCAT ACCESS LOGS, THE RESPONSE TIME (%D) IS HORRIBLE).
 What is the difference in response times between weblogic and tomcat? ANSWER: 
 FOR PAGES THAT WEBLOGIC SERVES IN 500 ms ON AVERAGE, TOMCAT IS TAKING 17000 
 ms ON AVERAGE.
 Maybe your tomcat just perform the job MUCH faster ;-)
 The thread dump you posted in another reply indicates that your
 tomcats are idling.
 Do you have manager installed? NO. With manager you could monitor active
 connections and requests.
 Do you have probe installed? YES, WE HAVE IT INSTALLED. A LOT OF THREADS ARE 
 IDLING IS WHAT WE OBSERVE.
 Finally, if you really want to profile your application, do you have
 moskito installed? :-) (the one i initially wrote
 -moskito.anotheria.net, therefore the shameless advertisement). :-) SURE WILL 
 GIVE IT A TRY [TIME PERMITTING].

 In the last case I can offer you to provide support getting it running. WILL 
 LET YOU KNOW IF WE ARE INTERESTED. THANKS.

 regards
 Leon

 On Fri, Sep 2, 2011 at 3:50 PM, Talha Fazal tfa...@credera.com wrote:
 Plz. see my answers below in UPPERCAPS.

 Thanks!

 -Original Message-
 From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com]
 Sent: Friday, September 02, 2011 8:35 AM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning.

 Hello Talha,

 from a quick glance at your post, do you have the same 30 max threads
 limit in weblogic? YES.
 Because sending 525 users through 2x30=60 max threads seems a little
 bottlenecky. I FORGOT TO MENTION THAT ON EACH TOMCAT SERVER, WE ARE RUNNING 
 3 INSTANCES OF TOMCAT ON EACH OF OUR TOMCAT SERVERS (2 SERVERS), THUS 
 2*3*30=180 maxThreads. WE EVEN INCREASED THE maxThreads TO 120 FOR EACH 
 INSTANCE (thus 120*6=720 maxThreads), AND MATCHED maxActive IN JNDI RESOURCE 
 TO 120, BUT WE STILL DIDN'T SEE CONSIDERABLE IMPROVEMENT. THE CPU USAGE 
 INCREASED FROM 7% to 10%.

 Which software are you using to produce the load? LOADRUNNER. Does it 
 keepalive the connections? YES.

 regards
 Leon

 On Fri, Sep 2, 2011 at 3:31 PM, Talha Fazal tfa...@credera.com wrote:
 Background:

 We have a moderately high traffic web application (between 8 to 21 million 
 hits/day) running Apache to serve static content (also to load balance and 
 create a DMZ) and Weblogic to serve dynamic content (Struts 1.1 based Java 
 web application).
 We are trying to replace Weblogic with Tomcat and we have ported our code 
 to work with Tomcat. All works well in Tomcat in the DEV, QA, and STAGING 
 environment as long as there is no real load.

 The Issue - Load Testing:

 In our staging environment for load testing, when we run the load test 
 using 525 concurrent users, the app doesn't perform at all. The CPU usage 
 (on Apache and Tomcat Servers) hovers between 7% to 8%. The database server 
 CPU usage is also between 4 and 5%.

 Setup for Load Testing:

 We have setup 2 apache web servers (4 Quad Processors i.e. 16 CPUs each), 2 
 Tomcat (version 6.0.29) servers (4 Quad Processors i.e. 16 CPUs each). Each 
 server has 32 Gb ram. We are using AJP 1.3 to connect Tomcat and Apache.

 Mentioned below is the version information:
 Apache Version 2.2.14 (with mod_jk module)
 Tomcat: 6.0.29
 Database: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0

RE: Tomcat Performance Turning.

2011-09-02 Thread Talha Fazal
PLEASE SEE MY ANSWERS BELOW IN UPPER CAPS.

ONE IMPORTANT OBSERVATION: Even though, tomcat's response time is decent, for 
some reason, apache is taking a lot longer to serve requests. We are using 
mod_jk with Tomcat using AJP1.3 protocol in the connector setting in 
server.xml. We plan to try mod_proxy_ajp and mod_proxy instead of mod_jk. Any 
thoughts here?

Thanks,


-Original Message-
From: R Batchelor [mailto:rsbat...@yahoo.com] 
Sent: Friday, September 02, 2011 10:10 AM
To: Tomcat Users List
Subject: Re: Tomcat Performance Turning.

Have you ruled out issues with db connection pooling? NO. IN FACT, THERE ARE 
KNOWN DBCP CONNECTION POOLING DEADLOCK ISSUES IN TOMCAT 6.0.26 
[https://issues.apache.org/jira/browse/DBCP-270]. I AM LOBBYING TO UPGRADE TO 
TOMCAT 7.0.20 AND USE THE JDBC CONNECTION POOL INSTEAD OF DBCP CONNECTION POOL.

You might consider setting your dbcp maxWait to 8000 or less and watch 
for timeout waiting for idle object exceptions.  Also, you could 
monitor database connections/active-users on the DB side to see if your 
dbcp pools are max'd but all the database users/connections are idle.  
These can be symptoms of an application mis-managing its dbcp pools.
I WILL DEFINITELY TRY THIS OUT. THANKS!


From: Leon Rosenberg rosenberg.l...@gmail.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Friday, September 2, 2011 7:55 AM
Subject: Re: Tomcat Performance Turning.

Hello Talha,

well... the quickshots are through.
You should really create some threaddumps after each other (for
example with jstack) and try to find out which thread is slowing the
app down.
For starters you could try with code you changed for tomcat
adaptations if any. The problem seems to lie beneath the surface, so
you will have to start
performance monitoring and look into the inside.
However, time difference of 17 seconds must be something very very
obvious like a synchronized block in a valve/filter, db lock (have you
checked the db locks?), or an if (tomcat)
Thread.sleep(1000L*60*17);

regards
Leon

On Fri, Sep 2, 2011 at 4:21 PM, Talha Fazal tfa...@credera.com wrote:
 Hi Leon,

 Please see any answers in CAPS below.



 -Original Message-
 From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com]
 Sent: Friday, September 02, 2011 9:06 AM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning.

 Hello Talha,

 seems that your tomcats are fine.
 Question, you mention that the tomcat do not perform, but you don't
 tell us how you come to this conclusion except for cpu load. ANSWER: LOOKING 
 INTO THE TOMCAT ACCESS LOGS, THE RESPONSE TIME (%D) IS HORRIBLE).
 What is the difference in response times between weblogic and tomcat? ANSWER: 
 FOR PAGES THAT WEBLOGIC SERVES IN 500 ms ON AVERAGE, TOMCAT IS TAKING 17000 
 ms ON AVERAGE.
 Maybe your tomcat just perform the job MUCH faster ;-)
 The thread dump you posted in another reply indicates that your
 tomcats are idling.
 Do you have manager installed? NO. With manager you could monitor active
 connections and requests.
 Do you have probe installed? YES, WE HAVE IT INSTALLED. A LOT OF THREADS ARE 
 IDLING IS WHAT WE OBSERVE.
 Finally, if you really want to profile your application, do you have
 moskito installed? :-) (the one i initially wrote
 -moskito.anotheria.net, therefore the shameless advertisement). :-) SURE WILL 
 GIVE IT A TRY [TIME PERMITTING].

 In the last case I can offer you to provide support getting it running. WILL 
 LET YOU KNOW IF WE ARE INTERESTED. THANKS.

 regards
 Leon

 On Fri, Sep 2, 2011 at 3:50 PM, Talha Fazal tfa...@credera.com wrote:
 Plz. see my answers below in UPPERCAPS.

 Thanks!

 -Original Message-
 From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com]
 Sent: Friday, September 02, 2011 8:35 AM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning.

 Hello Talha,

 from a quick glance at your post, do you have the same 30 max threads
 limit in weblogic? YES.
 Because sending 525 users through 2x30=60 max threads seems a little
 bottlenecky. I FORGOT TO MENTION THAT ON EACH TOMCAT SERVER, WE ARE RUNNING 
 3 INSTANCES OF TOMCAT ON EACH OF OUR TOMCAT SERVERS (2 SERVERS), THUS 
 2*3*30=180 maxThreads. WE EVEN INCREASED THE maxThreads TO 120 FOR EACH 
 INSTANCE (thus 120*6=720 maxThreads), AND MATCHED maxActive IN JNDI RESOURCE 
 TO 120, BUT WE STILL DIDN'T SEE CONSIDERABLE IMPROVEMENT. THE CPU USAGE 
 INCREASED FROM 7% to 10%.

 Which software are you using to produce the load? LOADRUNNER. Does it 
 keepalive the connections? YES.

 regards
 Leon

 On Fri, Sep 2, 2011 at 3:31 PM, Talha Fazal tfa...@credera.com wrote:
 Background:

 We have a moderately high traffic web application (between 8 to 21 million 
 hits/day) running Apache to serve static content (also to load balance and 
 create a DMZ) and Weblogic to serve dynamic content (Struts 1.1 based Java 
 web application).
 We are trying to replace Weblogic with Tomcat and we have ported our code 
 to work

Re: Tomcat Performance Turning.

2011-09-02 Thread Leon Rosenberg
Hello Talha,

On Fri, Sep 2, 2011 at 6:16 PM, Talha Fazal tfa...@credera.com wrote:
 PLEASE SEE MY ANSWERS BELOW IN UPPER CAPS.

 ONE IMPORTANT OBSERVATION: Even though, tomcat's response time is decent, for 
 some reason, apache is taking a lot longer to serve requests. We are using 
 mod_jk with Tomcat using AJP1.3 protocol in the connector setting in 
 server.xml. We plan to try mod_proxy_ajp and mod_proxy instead of mod_jk. Any 
 thoughts here?

Interesting observation. Have you tried running directly against
tomcat without apache inbetween?
holywarfrom my experience there is no need for apache in your setup
anyway /holywar.

In the past we used both mod_jk and mod_proxy_ajp, and even
mod_proxy_ajp is somewhat faster, the difference where never 17
seconds.
Your best guess would probably be to test without httpd to rule out if
tomcat or httpd is the bottleneck.

regards
Leon


 Thanks,


 -Original Message-
 From: R Batchelor [mailto:rsbat...@yahoo.com]
 Sent: Friday, September 02, 2011 10:10 AM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning.

 Have you ruled out issues with db connection pooling? NO. IN FACT, THERE ARE 
 KNOWN DBCP CONNECTION POOLING DEADLOCK ISSUES IN TOMCAT 6.0.26 
 [https://issues.apache.org/jira/browse/DBCP-270]. I AM LOBBYING TO UPGRADE TO 
 TOMCAT 7.0.20 AND USE THE JDBC CONNECTION POOL INSTEAD OF DBCP CONNECTION 
 POOL.

 You might consider setting your dbcp maxWait to 8000 or less and watch
 for timeout waiting for idle object exceptions.  Also, you could
 monitor database connections/active-users on the DB side to see if your
 dbcp pools are max'd but all the database users/connections are idle.
 These can be symptoms of an application mis-managing its dbcp pools.
 I WILL DEFINITELY TRY THIS OUT. THANKS!

 
 From: Leon Rosenberg rosenberg.l...@gmail.com
 To: Tomcat Users List users@tomcat.apache.org
 Sent: Friday, September 2, 2011 7:55 AM
 Subject: Re: Tomcat Performance Turning.

 Hello Talha,

 well... the quickshots are through.
 You should really create some threaddumps after each other (for
 example with jstack) and try to find out which thread is slowing the
 app down.
 For starters you could try with code you changed for tomcat
 adaptations if any. The problem seems to lie beneath the surface, so
 you will have to start
 performance monitoring and look into the inside.
 However, time difference of 17 seconds must be something very very
 obvious like a synchronized block in a valve/filter, db lock (have you
 checked the db locks?), or an if (tomcat)
 Thread.sleep(1000L*60*17);

 regards
 Leon

 On Fri, Sep 2, 2011 at 4:21 PM, Talha Fazal tfa...@credera.com wrote:
 Hi Leon,

 Please see any answers in CAPS below.



 -Original Message-
 From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com]
 Sent: Friday, September 02, 2011 9:06 AM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning.

 Hello Talha,

 seems that your tomcats are fine.
 Question, you mention that the tomcat do not perform, but you don't
 tell us how you come to this conclusion except for cpu load. ANSWER: LOOKING 
 INTO THE TOMCAT ACCESS LOGS, THE RESPONSE TIME (%D) IS HORRIBLE).
 What is the difference in response times between weblogic and tomcat? 
 ANSWER: FOR PAGES THAT WEBLOGIC SERVES IN 500 ms ON AVERAGE, TOMCAT IS 
 TAKING 17000 ms ON AVERAGE.
 Maybe your tomcat just perform the job MUCH faster ;-)
 The thread dump you posted in another reply indicates that your
 tomcats are idling.
 Do you have manager installed? NO. With manager you could monitor active
 connections and requests.
 Do you have probe installed? YES, WE HAVE IT INSTALLED. A LOT OF THREADS ARE 
 IDLING IS WHAT WE OBSERVE.
 Finally, if you really want to profile your application, do you have
 moskito installed? :-) (the one i initially wrote
 -moskito.anotheria.net, therefore the shameless advertisement). :-) SURE 
 WILL GIVE IT A TRY [TIME PERMITTING].

 In the last case I can offer you to provide support getting it running. WILL 
 LET YOU KNOW IF WE ARE INTERESTED. THANKS.

 regards
 Leon

 On Fri, Sep 2, 2011 at 3:50 PM, Talha Fazal tfa...@credera.com wrote:
 Plz. see my answers below in UPPERCAPS.

 Thanks!

 -Original Message-
 From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com]
 Sent: Friday, September 02, 2011 8:35 AM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning.

 Hello Talha,

 from a quick glance at your post, do you have the same 30 max threads
 limit in weblogic? YES.
 Because sending 525 users through 2x30=60 max threads seems a little
 bottlenecky. I FORGOT TO MENTION THAT ON EACH TOMCAT SERVER, WE ARE RUNNING 
 3 INSTANCES OF TOMCAT ON EACH OF OUR TOMCAT SERVERS (2 SERVERS), THUS 
 2*3*30=180 maxThreads. WE EVEN INCREASED THE maxThreads TO 120 FOR EACH 
 INSTANCE (thus 120*6=720 maxThreads), AND MATCHED maxActive IN JNDI 
 RESOURCE TO 120, BUT WE STILL DIDN'T SEE CONSIDERABLE IMPROVEMENT. THE CPU 
 USAGE

RE: Tomcat Performance Turning.

2011-09-02 Thread Talha Fazal
Q. Have you tried running directly against tomcat without apache inbetween?
A. Yes; this resolves the performance bottleneck.

Q. holywarfrom my experience there is no need for apache in your setup anyway 
/holywar.
A.  :-) The reasons for having apache in front: A) Create a DMZ and protect 
Tomcat from being exposed to outside attacks; B) Load balancing.

Thanks Leon!

-Original Message-
From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com] 
Sent: Friday, September 02, 2011 3:19 PM
To: Tomcat Users List
Subject: Re: Tomcat Performance Turning.

Hello Talha,

On Fri, Sep 2, 2011 at 6:16 PM, Talha Fazal tfa...@credera.com wrote:
 PLEASE SEE MY ANSWERS BELOW IN UPPER CAPS.

 ONE IMPORTANT OBSERVATION: Even though, tomcat's response time is decent, for 
 some reason, apache is taking a lot longer to serve requests. We are using 
 mod_jk with Tomcat using AJP1.3 protocol in the connector setting in 
 server.xml. We plan to try mod_proxy_ajp and mod_proxy instead of mod_jk. Any 
 thoughts here?

Interesting observation. Have you tried running directly against
tomcat without apache inbetween?
holywarfrom my experience there is no need for apache in your setup
anyway /holywar.

In the past we used both mod_jk and mod_proxy_ajp, and even
mod_proxy_ajp is somewhat faster, the difference where never 17
seconds.
Your best guess would probably be to test without httpd to rule out if
tomcat or httpd is the bottleneck.

regards
Leon


 Thanks,


 -Original Message-
 From: R Batchelor [mailto:rsbat...@yahoo.com]
 Sent: Friday, September 02, 2011 10:10 AM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning.

 Have you ruled out issues with db connection pooling? NO. IN FACT, THERE ARE 
 KNOWN DBCP CONNECTION POOLING DEADLOCK ISSUES IN TOMCAT 6.0.26 
 [https://issues.apache.org/jira/browse/DBCP-270]. I AM LOBBYING TO UPGRADE TO 
 TOMCAT 7.0.20 AND USE THE JDBC CONNECTION POOL INSTEAD OF DBCP CONNECTION 
 POOL.

 You might consider setting your dbcp maxWait to 8000 or less and watch
 for timeout waiting for idle object exceptions.  Also, you could
 monitor database connections/active-users on the DB side to see if your
 dbcp pools are max'd but all the database users/connections are idle.
 These can be symptoms of an application mis-managing its dbcp pools.
 I WILL DEFINITELY TRY THIS OUT. THANKS!

 
 From: Leon Rosenberg rosenberg.l...@gmail.com
 To: Tomcat Users List users@tomcat.apache.org
 Sent: Friday, September 2, 2011 7:55 AM
 Subject: Re: Tomcat Performance Turning.

 Hello Talha,

 well... the quickshots are through.
 You should really create some threaddumps after each other (for
 example with jstack) and try to find out which thread is slowing the
 app down.
 For starters you could try with code you changed for tomcat
 adaptations if any. The problem seems to lie beneath the surface, so
 you will have to start
 performance monitoring and look into the inside.
 However, time difference of 17 seconds must be something very very
 obvious like a synchronized block in a valve/filter, db lock (have you
 checked the db locks?), or an if (tomcat)
 Thread.sleep(1000L*60*17);

 regards
 Leon

 On Fri, Sep 2, 2011 at 4:21 PM, Talha Fazal tfa...@credera.com wrote:
 Hi Leon,

 Please see any answers in CAPS below.



 -Original Message-
 From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com]
 Sent: Friday, September 02, 2011 9:06 AM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning.

 Hello Talha,

 seems that your tomcats are fine.
 Question, you mention that the tomcat do not perform, but you don't
 tell us how you come to this conclusion except for cpu load. ANSWER: LOOKING 
 INTO THE TOMCAT ACCESS LOGS, THE RESPONSE TIME (%D) IS HORRIBLE).
 What is the difference in response times between weblogic and tomcat? 
 ANSWER: FOR PAGES THAT WEBLOGIC SERVES IN 500 ms ON AVERAGE, TOMCAT IS 
 TAKING 17000 ms ON AVERAGE.
 Maybe your tomcat just perform the job MUCH faster ;-)
 The thread dump you posted in another reply indicates that your
 tomcats are idling.
 Do you have manager installed? NO. With manager you could monitor active
 connections and requests.
 Do you have probe installed? YES, WE HAVE IT INSTALLED. A LOT OF THREADS ARE 
 IDLING IS WHAT WE OBSERVE.
 Finally, if you really want to profile your application, do you have
 moskito installed? :-) (the one i initially wrote
 -moskito.anotheria.net, therefore the shameless advertisement). :-) SURE 
 WILL GIVE IT A TRY [TIME PERMITTING].

 In the last case I can offer you to provide support getting it running. WILL 
 LET YOU KNOW IF WE ARE INTERESTED. THANKS.

 regards
 Leon

 On Fri, Sep 2, 2011 at 3:50 PM, Talha Fazal tfa...@credera.com wrote:
 Plz. see my answers below in UPPERCAPS.

 Thanks!

 -Original Message-
 From: Leon Rosenberg [mailto:rosenberg.l...@gmail.com]
 Sent: Friday, September 02, 2011 8:35 AM
 To: Tomcat Users List
 Subject: Re: Tomcat Performance Turning

Re: Tomcat Performance Turning.

2011-09-02 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Leon,

On 9/2/2011 4:19 PM, Leon Rosenberg wrote:
 holywarfrom my experience there is no need for apache in your
 setup anyway /holywar.

Uh, load-balancing?

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk5hUDgACgkQ9CaO5/Lv0PBfhQCdFwEDvm37L9QTe6FBns88RKLg
7ukAnikbIxI+y/oaskk/Zv/Y4aKPpYD9
=Dc+M
-END PGP SIGNATURE-

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



Re: Tomcat performance issues...

2011-06-30 Thread Tony Anecito
Thanks for the link and it proved what I was concerned about and that is Tomcat 
6 does not have an approved standard library for JSP's which means 7 has more 
issues with this Standard taglib.

I could be wrong but the highest level of support is servlet 2.4 and Tomcat 6 
is 
at 2.5.

Regards,
-Tony



- Original Message 
From: Tony Anecito adanec...@yahoo.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Wed, June 29, 2011 5:10:33 PM
Subject: Re: Tomcat performance issues...

Thanks I did not spot the users group. I thought maybe the taglibs was a dead 
project seemed like there was no version that supported Tomcat 6.0.x.
I will continue the message thread onto that group thanks for the advice.

I am a tester but the response time was 3-4 seconds.

I have not asked the developers the specifics yet about the tag. Now I am more 
concerned the version of Taglib being used was like for version 5 of Tomcat and 
not for version 6.

Thanks All.
-Tony


 


- Original Message 
From: Konstantin Kolinko knst.koli...@gmail.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Wed, June 29, 2011 12:43:48 PM
Subject: Re: Tomcat performacne issues...

2011/6/29 Christopher Schultz ch...@christopherschultz.net:
 Apache taglibs /is/ JSTL from an API point of view.

To be more precise, JSTL is implemented by the Standard taglib there

http://tomcat.apache.org/taglibs/standard/

Note, that the Taglibs project has its separate taglibs-user mailing list.

Best regards,
Konstantin Kolinko

-
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

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



Re: Tomcat performance issues...

2011-06-30 Thread Konstantin Kolinko
2011/6/30 Tony Anecito adanec...@yahoo.com:
 Thanks for the link and it proved what I was concerned about and that is 
 Tomcat
 6 does not have an approved standard library for JSP's which means 7 has more
 issues with this Standard taglib.

 I could be wrong but the highest level of support is servlet 2.4 and Tomcat 6 
 is
 at 2.5.

All previous versions of specifications are supported.

The version 1.1.2 of the Standard taglib is included into the
examples web application and does works on all supported Tomcat
versions.

It is not included as part of Tomcat, because your web application
is free to use and bundle whatever libraries it wants, be that
taglibs, myfaces, etc etc.

Best regards,
Konstantin Kolinko

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



Re: Tomcat performance issues...

2011-06-30 Thread Tony Anecito
Thanks I joined the taglib email list and am waiting for an answer. I suspect 
Tomcat might support the lib you mentioned but the servlet spec and what 
appeared to be a dead project worried me.

Regards,
-Tony



- Original Message 
From: Konstantin Kolinko knst.koli...@gmail.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Thu, June 30, 2011 9:19:49 AM
Subject: Re: Tomcat performance issues...

2011/6/30 Tony Anecito adanec...@yahoo.com:
 Thanks for the link and it proved what I was concerned about and that is 
Tomcat
 6 does not have an approved standard library for JSP's which means 7 has more
 issues with this Standard taglib.

 I could be wrong but the highest level of support is servlet 2.4 and Tomcat 6 
is
 at 2.5.

All previous versions of specifications are supported.

The version 1.1.2 of the Standard taglib is included into the
examples web application and does works on all supported Tomcat
versions.

It is not included as part of Tomcat, because your web application
is free to use and bundle whatever libraries it wants, be that
taglibs, myfaces, etc etc.

Best regards,
Konstantin Kolinko

-
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



Re: Tomcat performance issues...

2011-06-30 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

On 6/30/2011 11:23 AM, Tony Anecito wrote:
 I suspect Tomcat might support the lib you mentioned

Tomcat does not need to support the library specifically: if a library
properly uses the Servlet and/or JSP APIs properly, it should work with
Tomcat. If it doesn't work, the problem is either in configuration (some
features are only available with certain spec versions), a bug in the
library or a bug in Tomcat.

 but the servlet spec

JSTL does not require the use of the most up-to-date servlet spec
(currently 3.0) in order to use it. Tomcat supports all versions of the
servlet spec up to that which is declared (spec 2.4 for TC5.5, spec 2.5
for TC6, and spec 3.0 for TC7).

 and what appeared to be a dead project worried me.

The project is not dead. I think it's just mature enough that there's
little development going on: everything works just fine, apparently.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk4M3qQACgkQ9CaO5/Lv0PBs8wCgpK7Q87nX/DI44jlzV5Rv9aIJ
c30AoLlNRnHDMiENiS6bSHxhGTPebHDz
=Y1ug
-END PGP SIGNATURE-

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



Re: Tomcat performance issues...

2011-06-29 Thread Tony Anecito
Thanks I did not spot the users group. I thought maybe the taglibs was a dead 
project seemed like there was no version that supported Tomcat 6.0.x.
I will continue the message thread onto that group thanks for the advice.

I am a tester but the response time was 3-4 seconds.

I have not asked the developers the specifics yet about the tag. Now I am more 
concerned the version of Taglib being used was like for version 5 of Tomcat and 
not for version 6.

Thanks All.
-Tony


 


- Original Message 
From: Konstantin Kolinko knst.koli...@gmail.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Wed, June 29, 2011 12:43:48 PM
Subject: Re: Tomcat performacne issues...

2011/6/29 Christopher Schultz ch...@christopherschultz.net:
 Apache taglibs /is/ JSTL from an API point of view.

To be more precise, JSTL is implemented by the Standard taglib there

http://tomcat.apache.org/taglibs/standard/

Note, that the Taglibs project has its separate taglibs-user mailing list.

Best regards,
Konstantin Kolinko

-
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



Re: IIS7/isapi/tomcat performance

2011-03-24 Thread Bilal S
Folks:

I might be a little to this discussion. I have taken upon myself; (don't ask
why I asked for that kind of pain ;o) to review how IIS and tomcat inter
operate and just released in beta a new connector specifically  for IIS7 /
tomcat (though this works in IIS6 as well).

You can download binary code and docs from RIA forge site (I use this for my
projects):
http://tomcatiis.riaforge.org/

The download also has a pointer to source code if you need to download it
and would like to compile it yourself.
I am currently working on automating the install for this.

I did very detailed analysis the existing ISAPI connection methodology and
elected to forgo it and use a more future proof managed document handler.
This has several advantages, one of which it that it gracefully handles
32/64 bit with the same code base.
My initial focus was on providing a connector that is more aggressive in
managing throughput, thus able to use larger IP packets, more simultaneous
connections per client, larger connection pools by default then the previous
ISAPI based one.

I would appreciate any feedback from the members here.

Best,
Bilal


Re: IIS7/isapi/tomcat performance

2011-03-05 Thread Michael Ludwig
Christopher Schultz schrieb am 01.03.2011 um 16:56 (-0500):

 I find *NIX smaller, cleaner, simpler, more scriptable and
 remotely administratable (is that a word? maybe administerable?)
 than Windows.

The word is: administrable

http://en.wiktionary.org/wiki/-abilis
http://en.wiktionary.org/wiki/administrare

Cheers,

Michael

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



Re: [OT] IIS7/isapi/tomcat performance

2011-03-03 Thread Tony Anecito
Hi Chuck,

You did not see my earlier response where I came to the same conclusion  about 
the types after looking at some other sites including a wiki. Yes there was 
some 
confusion  but now I am clear that it is compiler dependant as I said earlier.
 
Thanks,
-Tony


  

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



Re: IIS7/isapi/tomcat performance

2011-03-02 Thread Tony Anecito
As stated in my message I was using the -server option for the server jvm.

-Tony



- Original Message 
From: David kerber dcker...@verizon.net
To: Tomcat Users List users@tomcat.apache.org
Sent: Tue, March 1, 2011 2:23:45 PM
Subject: Re: IIS7/isapi/tomcat performance

On 3/1/2011 4:07 PM, Tony Anecito wrote:
 Thanks Chris I will take a look at it.

 I am just trying to figure out what is the fastest was to handle my app. I was
 shooting for less than 1msec at Tomcat which I not have done. Now I want to 
get
 to 100 microseconds. Years ago from an logical architecture standpoint It was:
 1. Apache web server - JBoss, then
 2. Apache - Tomcat - JBoss
 3. APR/Tomcat - JBoss.

 Then I drilled down into and refactored some of my code then finally looked at
 different types of web services and how fast and maybe why they might be slow.

 I currently am using 200MB xmx, xms, -server, NUMA, and set my new generation 
to
 be large since my objects are short lived. I do not remember my other 
settings.
 I am beginning to think simpler is better for settings since at 1msec or less
 any time spent by the processor might be wasted time.

 I am very curious how you got 50K requests per second. I can get 1K per second
 on my AMD 6 core system. What was your client setup? I ran my client on the 
same
 server as my APR/Tomcat-JBoss and I am setting up the client on a laptop so I 
am
 not sharing resources. For the client I am using ApacheHttp class running in
 Eclipse and launch each http request in a different thread. I ended
 up configuring Tomcat for 400 connections which made a big difference. I still
 have alot more testing/tuning to do and I hope to get to it over the next 
couple
 of evenings.

Are you using the client or server jvm?  I found a HUGE performance 
improvement when I went to the server jvm.

D

-
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



Re: IIS7/isapi/tomcat performance

2011-03-02 Thread David kerber

On 3/2/2011 12:03 PM, Tony Anecito wrote:

As stated in my message I was using the -server option for the server jvm.

-Tony



My bad; I missed that.


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



Re: IIS7/isapi/tomcat performance

2011-03-02 Thread Tony Anecito
I do not know what the My bad limit per day is but I am sure you are fine. :]

-Tony



- Original Message 
From: David kerber dcker...@verizon.net
To: Tomcat Users List users@tomcat.apache.org
Sent: Wed, March 2, 2011 10:20:57 AM
Subject: Re: IIS7/isapi/tomcat performance

On 3/2/2011 12:03 PM, Tony Anecito wrote:
 As stated in my message I was using the -server option for the server jvm.

 -Tony


My bad; I missed that.


-
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



Re: [OT] IIS7/isapi/tomcat performance

2011-03-02 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

On 3/1/2011 6:27 PM, Tony Anecito wrote:
 I believe the effect of compression is relative. In other words for a big 
 program with lots of 64-bit pointers and 64-bit longs it is helps but for 
 small 
 programs it does not.

A long in Java is always 64 bits. Those /will/ be faster on a 64-bit
architecture. The only reason any of this is a problem is because
pointers (somewhat) unexpectedly double in size when moving from a
32-bit to a 64-bit platform. If you were running fine in a 128MiB heap
on a 32-bit machine, you may well have to increase your heap size on a
64-bit machine just to store the exact same set of objects.

 I would hope the full 64-bit data bus would be used. So you think 32-pins on 
 the 
 processor are not used when running a 32-bit process?

It depends upon exactly what the processor id doing. Those chips with
bundled x86 cores will use the x86 core (which is /only/ 32-bit, so
there's no option for 64-bit operations). Those chips which have only
x86-64 chips will either use 64 bits to manipulate 32-bit data (and
effectively waste the 32 most significant bits) or wave their hands
wildly and achieve some sort of miracle where 32-bit processes run twice
as fast because of a wider word size.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1u+RsACgkQ9CaO5/Lv0PCXegCfYWZr5Z8gOpHLH4g0FM3aJE5Z
ovEAn02zREkR5mqq1wX4dagQAq9MvACz
=v55r
-END PGP SIGNATURE-

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



Re: [OT] IIS7/isapi/tomcat performance

2011-03-02 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Chuck,

On 3/1/2011 6:09 PM, Caldarale, Charles R wrote:
 From: Christopher Schultz [mailto:ch...@christopherschultz.net] 
 Subject: Re: [OT] IIS7/isapi/tomcat performance
 
 I don't understand why communicating a 64-bit value over a 
 64-bit bus would take longer than communicating a 32-bit 
 value over a 64-bit bus:
 
 Because you get *two* 32-bit values for one transfer, not just one. 

If, as you say, Intel can move 64 /bytes/ across a data path (if you
prefer that phrase over the bus) then the word size really does make a
difference, here. They should be getting 16 32-bit words across such a
data path or 8 64-bit words.

If the pointers are doubling in size, this makes 64-bit mode go slower
because you get half the throughput when using word-sized values. Since
pointers in general are word-sized, they always suffer while other
(usually smaller) data does not.

The key is that the data path(s) are actually much wider than the word
size, which I didn't realize.

 I also get that some processors (like Itanium) have an x84
 processor core on the die
 
 (Presumably, you meant x86.)  Sorry, Itanium was notoriously bad at running 
 32-bit apps.

I did mean x86. Lots of typing yesterday. The new Itaniums are supposed
to be actually worth it, though.

 getting the data from point A to point B shouldn't matter
 
 Sure it does, if you can batch multiple operand accesses together (which 
 current Intel cores do).
 
 I suppose of the CPU knew it was in a 32-bit mode, it could 
 adjust the number of clock ticks it had to wait around for 
 32-bit data to go through an adder, but that seems overly 
 complicated for a straightforward CPU task.
 
 Simple adders have only used one cycle for decades, regardless of the width.

If the clock tick is long enough :)

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1u/FUACgkQ9CaO5/Lv0PBBHACfQsXMTwCmZywZrihKJI3M0k5c
BdoAn3VrrewxdTHZU0TZvR1pbQcKFwVj
=1Png
-END PGP SIGNATURE-

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



Re: [OT] IIS7/isapi/tomcat performance

2011-03-02 Thread Tony Anecito
Actually according to the IBM porting guide longs are different byte lengths 
depending upon what frame of reference they are speaking to.
On page 4 of the following port guide:

http://public.dhe.ibm.com/software/dw/jdk/64bitporting/64BitJavaPortingGuide.pdf

It states:For Windows, on 32-bit systems, integers, longs and pointers are all 
32-bits. On 64-bit systems, integers and
longs remain 32-bits, but pointers become 64-bits and long longs are 
64-bits.integers remain 32-bits and longs and pointers become 64-bits.
I could have interpreted this wrong but from a OS standpoint native code this 
is 
what they said. Now if the byte code is transalated to native code (which it 
must be to run). This would explain why Windows might seem to run faster than 
Linux for 64-bit.
 
Regarding bus usage I agree with Chuck's explanation about usage that the 
processors and I said so in a previous message.
 
Regards,
-Tony



- Original Message 
From: Christopher Schultz ch...@christopherschultz.net
To: Tomcat Users List users@tomcat.apache.org
Sent: Wed, March 2, 2011 7:12:43 PM
Subject: Re: [OT] IIS7/isapi/tomcat performance

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

On 3/1/2011 6:27 PM, Tony Anecito wrote:
 I believe the effect of compression is relative. In other words for a big 
 program with lots of 64-bit pointers and 64-bit longs it is helps but for 
 small 

 programs it does not.

A long in Java is always 64 bits. Those /will/ be faster on a 64-bit
architecture. The only reason any of this is a problem is because
pointers (somewhat) unexpectedly double in size when moving from a
32-bit to a 64-bit platform. If you were running fine in a 128MiB heap
on a 32-bit machine, you may well have to increase your heap size on a
64-bit machine just to store the exact same set of objects.

 I would hope the full 64-bit data bus would be used. So you think 32-pins on 
the 

 processor are not used when running a 32-bit process?

It depends upon exactly what the processor id doing. Those chips with
bundled x86 cores will use the x86 core (which is /only/ 32-bit, so
there's no option for 64-bit operations). Those chips which have only
x86-64 chips will either use 64 bits to manipulate 32-bit data (and
effectively waste the 32 most significant bits) or wave their hands
wildly and achieve some sort of miracle where 32-bit processes run twice
as fast because of a wider word size.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1u+RsACgkQ9CaO5/Lv0PCXegCfYWZr5Z8gOpHLH4g0FM3aJE5Z
ovEAn02zREkR5mqq1wX4dagQAq9MvACz
=v55r
-END PGP SIGNATURE-

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

For AIX and Linux, on 32-bit systems, integers, longs and pointers are all 
32-bits. On 64-bit systems, 




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



Re: [OT] IIS7/isapi/tomcat performance

2011-03-02 Thread Tony Anecito
On the wiki Java long is 64-bits not sure what a Long is. So IBM is thinking 
C,C++ a long is 32bits which is what the paper meant.

So I as wrong.

Regards,
-Tony



- Original Message 
From: Tony Anecito adanec...@yahoo.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Wed, March 2, 2011 9:15:09 PM
Subject: Re: [OT] IIS7/isapi/tomcat performance

Actually according to the IBM porting guide longs are different byte lengths 
depending upon what frame of reference they are speaking to.
On page 4 of the following port guide:

http://public.dhe.ibm.com/software/dw/jdk/64bitporting/64BitJavaPortingGuide.pdf

It states:For Windows, on 32-bit systems, integers, longs and pointers are all 
32-bits. On 64-bit systems, integers and
longs remain 32-bits, but pointers become 64-bits and long longs are 
64-bits.integers remain 32-bits and longs and pointers become 64-bits.
I could have interpreted this wrong but from a OS standpoint native code this 
is 

what they said. Now if the byte code is transalated to native code (which it 
must be to run). This would explain why Windows might seem to run faster than 
Linux for 64-bit.
 
Regarding bus usage I agree with Chuck's explanation about usage that the 
processors and I said so in a previous message.
 
Regards,
-Tony



- Original Message 
From: Christopher Schultz ch...@christopherschultz.net
To: Tomcat Users List users@tomcat.apache.org
Sent: Wed, March 2, 2011 7:12:43 PM
Subject: Re: [OT] IIS7/isapi/tomcat performance

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

On 3/1/2011 6:27 PM, Tony Anecito wrote:
 I believe the effect of compression is relative. In other words for a big 
 program with lots of 64-bit pointers and 64-bit longs it is helps but for 
 small 


 programs it does not.

A long in Java is always 64 bits. Those /will/ be faster on a 64-bit
architecture. The only reason any of this is a problem is because
pointers (somewhat) unexpectedly double in size when moving from a
32-bit to a 64-bit platform. If you were running fine in a 128MiB heap
on a 32-bit machine, you may well have to increase your heap size on a
64-bit machine just to store the exact same set of objects.

 I would hope the full 64-bit data bus would be used. So you think 32-pins on 
the 

 processor are not used when running a 32-bit process?

It depends upon exactly what the processor id doing. Those chips with
bundled x86 cores will use the x86 core (which is /only/ 32-bit, so
there's no option for 64-bit operations). Those chips which have only
x86-64 chips will either use 64 bits to manipulate 32-bit data (and
effectively waste the 32 most significant bits) or wave their hands
wildly and achieve some sort of miracle where 32-bit processes run twice
as fast because of a wider word size.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1u+RsACgkQ9CaO5/Lv0PCXegCfYWZr5Z8gOpHLH4g0FM3aJE5Z
ovEAn02zREkR5mqq1wX4dagQAq9MvACz
=v55r
-END PGP SIGNATURE-

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

For AIX and Linux, on 32-bit systems, integers, longs and pointers are all 
32-bits. On 64-bit systems, 




-
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



RE: [OT] IIS7/isapi/tomcat performance

2011-03-02 Thread Caldarale, Charles R
 From: Tony Anecito [mailto:adanec...@yahoo.com] 
 Subject: Re: [OT] IIS7/isapi/tomcat performance

 On page 4 of the following port guide:
 http://public.dhe.ibm.com/software/dw/jdk/64bitporting/64BitJavaPortingGuide.pdf

 It states:For Windows, on 32-bit systems, integers, longs and 
 pointers are all 32-bits. On 64-bit systems, integers and longs
 remain 32-bits, but pointers become 64-bits and long longs are 
 64-bits.

That ancient porting guide is misleading in several respects, one in particular 
being that the OS determines the size of language-specific types.  That is 
incorrect; it's the *compiler* being used that makes that determination, not 
the platform or the OS.

 This would explain why Windows might seem to run faster than 
 Linux for 64-bit.

Sorry, that's completely false.  As Chris pointed out, Java non-reference type 
sizes are fixed, and are completely independent of the platform the Java 
program is running on.  The only thing that changes between a 32-bit JVM and a 
64-bit one is the size of a reference (pointer).  Even in the C and C++ code 
that makes up the core of the JVM, the programmers studiously avoid use of 
ambiguous C types such as int and long anywhere that it might make a 
difference, and instead use explicitly sized types.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


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



Re: [OT] IIS7/isapi/tomcat performance

2011-03-01 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

On 2/28/2011 2:57 PM, Tony Anecito wrote:
 Since the memory pointers are larger you may need to increase your heap size 
 but 
 you can compress the address pointers.

+1

 Also, if you use JNI and it is 32-bit then you will have unexpected issues 
 same 
 thing with any native libs your try to use.

+1

 Generally it will be up to 20% slower due to the pointers.

Can you explain that claim? Unless the OP is using compressed pointers
(which will require a decode in order to dereference), why would the
performance drop when using 64-bit pointers instead of 32-bit pointers.
Presumably, the CPU has 64-bit (or bigger) registers and can handle
64-bit numbers just as fast as 32-bit numbers. Or do modern CPUs run in
g a32-bit mode where the hardware doesn't bother to add-out to the 33+ bits?

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1tEMcACgkQ9CaO5/Lv0PBa8ACgmRjggPsYHma8tShCNK2WfOJd
Qv8AoJ0KGEVwKQRDfSvwAvoF2Is5oHoW
=Anih
-END PGP SIGNATURE-

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



Re: IIS7/isapi/tomcat performance

2011-03-01 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

On 2/28/2011 4:21 PM, Tony Anecito wrote:
 I also use Native APR with Tomcat 7 which eliminates AJP and 
 supposedly is faster than Apache Web Server

It's probably the same as AWS, as the code is the same :)

 http://people.apache.org/~schultz/ApacheCon%20NA%202010/ApacheCon%20NA%202010%20Slides.pdf

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1tEWoACgkQ9CaO5/Lv0PBaUgCff8BC8ctr6IRNz0822wepdyxN
47sAn15U0Sy3O9mUAk1roW2M8vAjV3Z2
=r51s
-END PGP SIGNATURE-

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



Re: [OT] IIS7/isapi/tomcat performance

2011-03-01 Thread Tony Anecito
Hi Chris,

The performance degregation for 64 bit versus 32 bit has been the subject of 
much concern in the java community.

Here is the number I mentioned straight from Oracle itself:
http://www.oracle.com/technetwork/java/hotspotfaq-138619.html

What are the performance characteristics of 64-bit versus 32-bit VMs? 
Generally, the benefits of being able to address larger amounts of memory come 
with a small performance loss in 64-bit VMs versus running the same application 
on a 32-bit VM.  This is due to the fact that every native pointer in the 
system 
takes up 8 bytes instead of 4.  The loading of this extra data has an impact on 
memory usage which translates to slightly slower execution depending on how 
many 
pointers get loaded during the execution of your Java program.  The good news 
is 
that with AMD64 and EM64T platforms running in 64-bit mode, the Java VM gets 
some additional registers which it can use to generate more efficient native 
instruction sequences.  These extra registers increase performance to the point 
where there is often no performance loss at all when comparing 32 to 64-bit 
execution speed.   

The performance difference comparing an application running on a 64-bit 
platform 
versus a 32-bit platform on SPARC is on the order of 10-20% degradation when 
you 
move to a 64-bit VM.  On AMD64 and EM64T platforms this difference ranges from 
0-15% depending on the amount of pointer accessing your application performs.   




If you google using the keywords: java 64-bit vs 32-bit performance
You will find alot of discussion about this.

Regards,
-Tony


- Original Message 
From: Christopher Schultz ch...@christopherschultz.net
To: Tomcat Users List users@tomcat.apache.org
Sent: Tue, March 1, 2011 8:29:11 AM
Subject: Re: [OT] IIS7/isapi/tomcat performance

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

On 2/28/2011 2:57 PM, Tony Anecito wrote:
 Since the memory pointers are larger you may need to increase your heap size 
but 

 you can compress the address pointers.

+1

 Also, if you use JNI and it is 32-bit then you will have unexpected issues 
 same 

 thing with any native libs your try to use.

+1

 Generally it will be up to 20% slower due to the pointers.

Can you explain that claim? Unless the OP is using compressed pointers
(which will require a decode in order to dereference), why would the
performance drop when using 64-bit pointers instead of 32-bit pointers.
Presumably, the CPU has 64-bit (or bigger) registers and can handle
64-bit numbers just as fast as 32-bit numbers. Or do modern CPUs run in
g a32-bit mode where the hardware doesn't bother to add-out to the 33+ bits?

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1tEMcACgkQ9CaO5/Lv0PBa8ACgmRjggPsYHma8tShCNK2WfOJd
Qv8AoJ0KGEVwKQRDfSvwAvoF2Is5oHoW
=Anih
-END PGP SIGNATURE-

-
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



Re: IIS7/isapi/tomcat performance

2011-03-01 Thread Tony Anecito
Hi Chris,

I understand it is from the core AWS but the important thing for me was to 
eliminate AJP because in a AWS standalone I had used to communicate AJP.
When I enabled ARP I did not have to do anything with AJP.

So does ARP communicate with the servlet conatiner in a more efficiant manner?

Thanks,
-Tony



- Original Message 
From: Christopher Schultz ch...@christopherschultz.net
To: Tomcat Users List users@tomcat.apache.org
Sent: Tue, March 1, 2011 8:31:54 AM
Subject: Re: IIS7/isapi/tomcat performance

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

On 2/28/2011 4:21 PM, Tony Anecito wrote:
 I also use Native APR with Tomcat 7 which eliminates AJP and 
 supposedly is faster than Apache Web Server

It's probably the same as AWS, as the code is the same :)

http://people.apache.org/~schultz/ApacheCon%20NA%202010/ApacheCon%20NA%202010%20Slides.pdf
f

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1tEWoACgkQ9CaO5/Lv0PBaUgCff8BC8ctr6IRNz0822wepdyxN
47sAn15U0Sy3O9mUAk1roW2M8vAjV3Z2
=r51s
-END PGP SIGNATURE-

-
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



Re: [OT] IIS7/isapi/tomcat performance

2011-03-01 Thread Tony Anecito
Also, I have not programmed in assembly language or in hexadecimal  for some 
time but I would hope that for a 32-bit java process running on a 64-bit 
processor I would fetch a 32-bit pointer and maybe a 32-bit long on a 64-bit 
data bus. Remember we are talking about pointers in code coming into the 
processor via the data bus.

Interesting enough for AIX and Linux a long is 64bit for 64-bit java versus 
32-bit for 64-bit windows. So it looks like for Linux it would be slower than 
windows.
See: 
http://public.dhe.ibm.com/software/dw/jdk/64bitporting/64BitJavaPortingGuide.pdf

Bottom line on how much worse things get is based upon how many pointers and 
longs are used for 64-bit java that are used.

Regards,
-Tony



- Original Message 
From: Tony Anecito adanec...@yahoo.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Tue, March 1, 2011 12:44:37 PM
Subject: Re: [OT] IIS7/isapi/tomcat performance

Hi Chris,

The performance degregation for 64 bit versus 32 bit has been the subject of 
much concern in the java community.

Here is the number I mentioned straight from Oracle itself:
http://www.oracle.com/technetwork/java/hotspotfaq-138619.html

What are the performance characteristics of 64-bit versus 32-bit VMs? 
Generally, the benefits of being able to address larger amounts of memory come 
with a small performance loss in 64-bit VMs versus running the same application 
on a 32-bit VM.  This is due to the fact that every native pointer in the 
system 

takes up 8 bytes instead of 4.  The loading of this extra data has an impact on 
memory usage which translates to slightly slower execution depending on how 
many 

pointers get loaded during the execution of your Java program.  The good news 
is 

that with AMD64 and EM64T platforms running in 64-bit mode, the Java VM gets 
some additional registers which it can use to generate more efficient native 
instruction sequences.  These extra registers increase performance to the point 
where there is often no performance loss at all when comparing 32 to 64-bit 
execution speed.   

The performance difference comparing an application running on a 64-bit 
platform 

versus a 32-bit platform on SPARC is on the order of 10-20% degradation when 
you 

move to a 64-bit VM.  On AMD64 and EM64T platforms this difference ranges from 
0-15% depending on the amount of pointer accessing your application performs.   




If you google using the keywords: java 64-bit vs 32-bit performance
You will find alot of discussion about this.

Regards,
-Tony


- Original Message 
From: Christopher Schultz ch...@christopherschultz.net
To: Tomcat Users List users@tomcat.apache.org
Sent: Tue, March 1, 2011 8:29:11 AM
Subject: Re: [OT] IIS7/isapi/tomcat performance

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

On 2/28/2011 2:57 PM, Tony Anecito wrote:
 Since the memory pointers are larger you may need to increase your heap size 
but 

 you can compress the address pointers.

+1

 Also, if you use JNI and it is 32-bit then you will have unexpected issues 
 same 


 thing with any native libs your try to use.

+1

 Generally it will be up to 20% slower due to the pointers.

Can you explain that claim? Unless the OP is using compressed pointers
(which will require a decode in order to dereference), why would the
performance drop when using 64-bit pointers instead of 32-bit pointers.
Presumably, the CPU has 64-bit (or bigger) registers and can handle
64-bit numbers just as fast as 32-bit numbers. Or do modern CPUs run in
g a32-bit mode where the hardware doesn't bother to add-out to the 33+ bits?

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1tEMcACgkQ9CaO5/Lv0PBa8ACgmRjggPsYHma8tShCNK2WfOJd
Qv8AoJ0KGEVwKQRDfSvwAvoF2Is5oHoW
=Anih
-END PGP SIGNATURE-

-
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




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



Re: IIS7/isapi/tomcat performance

2011-03-01 Thread Mladen Turk

On 02/28/2011 07:15 PM, Caldarale, Charles R wrote:

From: Bruce Pease [mailto:bpe...@wth.com]
Subject: IIS7/isapi/tomcat performance



In performance tests I have found the configuration runs
dramatically slower than it's corresponding server in 32
bit Windows on 2000 Server and Tomcat 6.


Until you quantify dramatically, better describe your testing scenario 
(including configurations of all components), eliminate as many moving pieces as you can 
(e.g., try Tomcat standalone), and do some basic bottleneck analysis, there's not much 
anyone can help you with.



He still didn't follow your suggestion and that is to determine
which part slows down the pipeline.
Is it IIS/isapi_redirect or Tomcat/JVM

Lots of time a dramatic slowdown is caused by a
simple name resolving problems from box to box.
It might be a dramatic from 32-bit-boxA to 32-bit-boxB



Regards
--
^TM

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



Re: IIS7/isapi/tomcat performance

2011-03-01 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

On 3/1/2011 2:49 PM, Tony Anecito wrote:
 I understand it is from the core AWS but the important thing for me was to 
 eliminate AJP because in a AWS standalone I had used to communicate AJP.
 When I enabled ARP I did not have to do anything with AJP.
 
 So does ARP communicate with the servlet conatiner in a more efficiant manner?

(Presuming s/ARP/APR/g)

APR is just a connector strategy, like the BIO or NIO connectors. There
are APR connectors for both HTTP and AJP.

If you're saying that you switched from BIO/AJP to APR/HTTP, I'm not
surprised you experienced a performance improvement: you're eliminated
the web server altogether.

If instead you are still using a web server out front and using HTTP
instead of AJP to communicate with the back-end, I'd be interested in
your configuration, environment, and observed performance gain.
Generally speaking, use of AJP is slightly faster than proxied HTTP but
there are certainly some trade-offs (like lack of encrypted
communication support for AJP).

APR handles connections differently than the Default BIO connector. See
http://tomcat.apache.org/tomcat-6.0-doc/config/http.html#Connector%20Comparison
for notes about the relative capabilities of the connectors (for HTTP).
There is
no NIO connector for AJP, but I would imagine that the comparison between
the other two HTTP connectors is applicable to the AJP connectors as well.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1tWj0ACgkQ9CaO5/Lv0PBNLwCgmpEjzeX8lxu2+ac7yxP5BV95
9eYAn0SkImgJxKoqg15rqgk0pCBs2e6L
=y6g9
-END PGP SIGNATURE-

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



Re: [OT] IIS7/isapi/tomcat performance

2011-03-01 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

On 3/1/2011 3:24 PM, Tony Anecito wrote:
 Also, I have not programmed in assembly language or in hexadecimal  for some 
 time but I would hope that for a 32-bit java process running on a 64-bit 
 processor I would fetch a 32-bit pointer and maybe a 32-bit long on a 64-bit 
 data bus. Remember we are talking about pointers in code coming into the 
 processor via the data bus.

The bus on a 64-bit architecture has better be at least 64-bits wide,
otherwise nothing works right. They used to run 64-bit OSs on 32-bit
hardware and everything took twice as long because the bus was only
32-bit and so every piece of (64-bit) data took double the time to
transmit. Booting 64-bit WinNT would take a looong time.

I don't understand why communicating a 64-bit value over a 64-bit bus
would take longer than communicating a 32-bit value over a 64-bit bus:
the clock speed of the bus is the same... the only difference between
the two scenarios is that the user doesn't care about the upper 32-bits
of data.

The only thing that makes sense to me intuitively at this point (I'm
still reading) is that using compressed object pointers slows things down.

 Interesting enough for AIX and Linux a long is 64bit for 64-bit java versus 
 32-bit for 64-bit windows. So it looks like for Linux it would be slower than 
 windows.
 See: 
 http://public.dhe.ibm.com/software/dw/jdk/64bitporting/64BitJavaPortingGuide.pdf

That's interesting, though it doesn't specify what compiler is being
used. The only thing that makes a long value 32-bit or 64-bit is the
compiler compiling the code where the word long is present. Java fixes
the size of all native data types, so a Java long is always 64-bits
regardless of the architecture. ISO C declares that long is at least
32-bit, short is at least 16-bit, and plain-old int is somewhere in
between whatever short and long turn out to be.

That document seems to imply that the OS decides what the type widths
are, and that only matters when interfacing with OS calls: if you call
brk() and it expects a 64-bit value, if you provide a 32-bit one, bad
things will happen.

 Bottom line on how much worse things get is based upon how many pointers and 
 longs are used for 64-bit java that are used.

I still don't get why moving 64-bit values around is slower than moving
32-bit values around: the bus is 64-bits no matter what mode you're in.
I *do* get that compressed pointers slow things down. I *do* get that
the heap will grow somewhere approaching twice the size as in a 32-bit
JVM. I also get that some processors (like Itanium) have an x84
processor core on the die, so that processor can avoid (uselessly)
performing 64-bit operations on 32-bit data, but getting the data from
point A to point B shouldn't matter. Also, performing 64-bit operations
on 32-bit data should take just as long as performing 64-bit operations
on 64-bit data: the ALU goes as fast as it's designed to go.

I suppose of the CPU knew it was in a 32-bit mode, it could adjust the
number of clock ticks it had to wait around for 32-bit data to go
through an adder, but that seems overly complicated for a
straightforward CPU task.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1tXrsACgkQ9CaO5/Lv0PBJfgCfXoAqt/K8TzqGk5AYO2+g4n7J
OsMAoIbJ1nRUFVDilUDdkQTTOrRoMNWb
=d3UM
-END PGP SIGNATURE-

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



Re: IIS7/isapi/tomcat performance

2011-03-01 Thread Tony Anecito
Thanks Chris I will take a look at it.

I am just trying to figure out what is the fastest was to handle my app. I was 
shooting for less than 1msec at Tomcat which I not have done. Now I want to get 
to 100 microseconds. Years ago from an logical architecture standpoint It was:
1. Apache web server - JBoss, then 
2. Apache - Tomcat - JBoss
3. APR/Tomcat - JBoss. 

Then I drilled down into and refactored some of my code then finally looked at 
different types of web services and how fast and maybe why they might be slow.

I currently am using 200MB xmx, xms, -server, NUMA, and set my new generation 
to 
be large since my objects are short lived. I do not remember my other settings. 
I am beginning to think simpler is better for settings since at 1msec or less 
any time spent by the processor might be wasted time.

I am very curious how you got 50K requests per second. I can get 1K per second 
on my AMD 6 core system. What was your client setup? I ran my client on the 
same 
server as my APR/Tomcat-JBoss and I am setting up the client on a laptop so I 
am 
not sharing resources. For the client I am using ApacheHttp class running in 
Eclipse and launch each http request in a different thread. I ended 
up configuring Tomcat for 400 connections which made a big difference. I still 
have alot more testing/tuning to do and I hope to get to it over the next 
couple 
of evenings.

-Tony



- Original Message 
From: Christopher Schultz ch...@christopherschultz.net
To: Tomcat Users List users@tomcat.apache.org
Sent: Tue, March 1, 2011 1:42:37 PM
Subject: Re: IIS7/isapi/tomcat performance

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

On 3/1/2011 2:49 PM, Tony Anecito wrote:
 I understand it is from the core AWS but the important thing for me was to 
 eliminate AJP because in a AWS standalone I had used to communicate AJP.
 When I enabled ARP I did not have to do anything with AJP.
 
 So does ARP communicate with the servlet conatiner in a more efficiant manner?

(Presuming s/ARP/APR/g)

APR is just a connector strategy, like the BIO or NIO connectors. There
are APR connectors for both HTTP and AJP.

If you're saying that you switched from BIO/AJP to APR/HTTP, I'm not
surprised you experienced a performance improvement: you're eliminated
the web server altogether.

If instead you are still using a web server out front and using HTTP
instead of AJP to communicate with the back-end, I'd be interested in
your configuration, environment, and observed performance gain.
Generally speaking, use of AJP is slightly faster than proxied HTTP but
there are certainly some trade-offs (like lack of encrypted
communication support for AJP).

APR handles connections differently than the Default BIO connector. See
http://tomcat.apache.org/tomcat-6.0-doc/config/http.html#Connector%20Comparison
for notes about the relative capabilities of the connectors (for HTTP).
There is
no NIO connector for AJP, but I would imagine that the comparison between
the other two HTTP connectors is applicable to the AJP connectors as well.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1tWj0ACgkQ9CaO5/Lv0PBNLwCgmpEjzeX8lxu2+ac7yxP5BV95
9eYAn0SkImgJxKoqg15rqgk0pCBs2e6L
=y6g9
-END PGP SIGNATURE-

-
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



Re: IIS7/isapi/tomcat performance

2011-03-01 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

Good thing these are marked as [OT]... we have totally hijacked Bruce's
thread. Maybe we should start another.

On 3/1/2011 4:07 PM, Tony Anecito wrote:
 I am just trying to figure out what is the fastest was to handle my app. I 
 was 
 shooting for less than 1msec at Tomcat which I not have done. Now I want to 
 get 
 to 100 microseconds. Years ago from an logical architecture standpoint It was:
 1. Apache web server - JBoss, then 
 2. Apache - Tomcat - JBoss
 3. APR/Tomcat - JBoss. 

Do you mean you are using Tomcat out in front of JBoss? Why not just use
JBoss directly? That'll probably buy you more than any other
configuration change.

 I currently am using 200MB xmx, xms, -server, NUMA, and set my new generation 
 to 
 be large since my objects are short lived. I do not remember my other 
 settings. 
 I am beginning to think simpler is better for settings since at 1msec or less 
 any time spent by the processor might be wasted time.

Generally speaking, you should let the GC configure itself unless you
really know what you are doing or have to work around some specific problem.

 I am very curious how you got 50K requests per second.

You'll have to be more specific. Do you mean in my performance tests?
Which one? Did you read all of the setup info in the earlier slides?

 I can get 1K per second on my AMD 6 core system. What was your client setup?

It's all in the PDF.

 I ran my client on the same
 server as my APR/Tomcat-JBoss and I am setting up the client on a laptop so I 
 am 
 not sharing resources. For the client I am using ApacheHttp class running in 
 Eclipse and launch each http request in a different thread.

How many threads are you talking about using, here?

 I ended 
 up configuring Tomcat for 400 connections which made a big difference. I 
 still 
 have alot more testing/tuning to do and I hope to get to it over the next 
 couple 
 of evenings.

100 microseconds seems like an arbitrary target. Where did it come from?

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1tYnoACgkQ9CaO5/Lv0PDVpwCgvlpUZcm4uZd/do+EeYuu/dte
o2QAn3XHEdvKFVwFUR2VdLDnBghXlP03
=ov34
-END PGP SIGNATURE-

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



Re: [OT] IIS7/isapi/tomcat performance

2011-03-01 Thread Tony Anecito
Hi Chris,
 
I guess you have not read my last email yet. I think of it as putting two  
32-bit pieces of info on a 64-bit data bus whereas for two 64-bit pieces of  
information it takes two fetches or twice as long on the same hardware.  
Depending upon the number of bytes for each data type for 32-bit versus 64-bit  
20% performance reduction makes sense.

As for compressing the pointers all I read is it improves response time  so 
that 
maybe running on 64-bit java the program is only 1% slower. I am  assuming the 
pointers are compressed after the first pass or even before the  byte code is 
run.
 
Regards,
-Tony



  

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



Re: IIS7/isapi/tomcat performance

2011-03-01 Thread David kerber

On 3/1/2011 4:07 PM, Tony Anecito wrote:

Thanks Chris I will take a look at it.

I am just trying to figure out what is the fastest was to handle my app. I was
shooting for less than 1msec at Tomcat which I not have done. Now I want to get
to 100 microseconds. Years ago from an logical architecture standpoint It was:
1. Apache web server - JBoss, then
2. Apache - Tomcat - JBoss
3. APR/Tomcat - JBoss.

Then I drilled down into and refactored some of my code then finally looked at
different types of web services and how fast and maybe why they might be slow.

I currently am using 200MB xmx, xms, -server, NUMA, and set my new generation to
be large since my objects are short lived. I do not remember my other settings.
I am beginning to think simpler is better for settings since at 1msec or less
any time spent by the processor might be wasted time.

I am very curious how you got 50K requests per second. I can get 1K per second
on my AMD 6 core system. What was your client setup? I ran my client on the same
server as my APR/Tomcat-JBoss and I am setting up the client on a laptop so I am
not sharing resources. For the client I am using ApacheHttp class running in
Eclipse and launch each http request in a different thread. I ended
up configuring Tomcat for 400 connections which made a big difference. I still
have alot more testing/tuning to do and I hope to get to it over the next couple
of evenings.


Are you using the client or server jvm?  I found a HUGE performance 
improvement when I went to the server jvm.


D

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



Re: IIS7/isapi/tomcat performance

2011-03-01 Thread Tony Anecito
Hi Chris,

I used Tomcat separately because JBoss was always somewhat behind the current 
production version of Tomcat. Eventually I will remove JBoss and use JDBC from 
Tomcat to my database to reduce memory footprint and improve performance. I am 
only using EJB's in JBoss right now.

Best practice regarding memory settings is set the min.max to be the same so 
the 
CPU is not busy allocating memory. There are other settings one can use just 
trial and error or keep testing till you get the best configuration for your 
app. I know each jvm release gets better so less tuning is needed as what I 
think you are trying to say.

I went up to 1,000 client threads before I stopped.

Since I met my first goal I like to get 10X better on the next one if possible 
and from what you told me I might be able to make it. I can get close if I went 
to a i7 980 or Sandy Bridge system instead of the slower AMD processor. To me 
that is cheating since I believe through tuning and code changes one should be 
able to get there.

I will look for the pdf again if it is the one I am thinking of for ApacheHttp 
commons testing then I am on the same track regarding setup and usage of the 
client program.

Regards,
-Tony




- Original Message 
From: Christopher Schultz ch...@christopherschultz.net
To: Tomcat Users List users@tomcat.apache.org
Sent: Tue, March 1, 2011 2:17:46 PM
Subject: Re: IIS7/isapi/tomcat performance

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

Good thing these are marked as [OT]... we have totally hijacked Bruce's
thread. Maybe we should start another.

On 3/1/2011 4:07 PM, Tony Anecito wrote:
 I am just trying to figure out what is the fastest was to handle my app. I 
 was 

 shooting for less than 1msec at Tomcat which I not have done. Now I want to 
 get 

 to 100 microseconds. Years ago from an logical architecture standpoint It was:
 1. Apache web server - JBoss, then 
 2. Apache - Tomcat - JBoss
 3. APR/Tomcat - JBoss. 

Do you mean you are using Tomcat out in front of JBoss? Why not just use
JBoss directly? That'll probably buy you more than any other
configuration change.

 I currently am using 200MB xmx, xms, -server, NUMA, and set my new generation 
to 

 be large since my objects are short lived. I do not remember my other 
 settings. 

 I am beginning to think simpler is better for settings since at 1msec or less 
 any time spent by the processor might be wasted time.

Generally speaking, you should let the GC configure itself unless you
really know what you are doing or have to work around some specific problem.

 I am very curious how you got 50K requests per second.

You'll have to be more specific. Do you mean in my performance tests?
Which one? Did you read all of the setup info in the earlier slides?

 I can get 1K per second on my AMD 6 core system. What was your client setup?

It's all in the PDF.

 I ran my client on the same
 server as my APR/Tomcat-JBoss and I am setting up the client on a laptop so I 
am 

 not sharing resources. For the client I am using ApacheHttp class running in 
 Eclipse and launch each http request in a different thread.

How many threads are you talking about using, here?

 I ended 
 up configuring Tomcat for 400 connections which made a big difference. I 
 still 

 have alot more testing/tuning to do and I hope to get to it over the next 
couple 

 of evenings.

100 microseconds seems like an arbitrary target. Where did it come from?

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1tYnoACgkQ9CaO5/Lv0PDVpwCgvlpUZcm4uZd/do+EeYuu/dte
o2QAn3XHEdvKFVwFUR2VdLDnBghXlP03
=ov34
-END PGP SIGNATURE-

-
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



RE: IIS7/isapi/tomcat performance

2011-03-01 Thread Bruce Pease
I'm just curious if anyone is using a 64 bit version of Linux, and has seen
performance degradation.  We are looking to move off the Windows platform
eventually anyway.

-Original Message-
From: Tony Anecito [mailto:adanec...@yahoo.com] 
Sent: Tuesday, March 01, 2011 4:34 PM
To: Tomcat Users List
Subject: Re: IIS7/isapi/tomcat performance

Hi Chris,

I used Tomcat separately because JBoss was always somewhat behind the current

production version of Tomcat. Eventually I will remove JBoss and use JDBC
from 
Tomcat to my database to reduce memory footprint and improve performance. I
am 
only using EJB's in JBoss right now.

Best practice regarding memory settings is set the min.max to be the same so
the 
CPU is not busy allocating memory. There are other settings one can use just 
trial and error or keep testing till you get the best configuration for your 
app. I know each jvm release gets better so less tuning is needed as what I 
think you are trying to say.

I went up to 1,000 client threads before I stopped.

Since I met my first goal I like to get 10X better on the next one if
possible 
and from what you told me I might be able to make it. I can get close if I
went 
to a i7 980 or Sandy Bridge system instead of the slower AMD processor. To me

that is cheating since I believe through tuning and code changes one should
be 
able to get there.

I will look for the pdf again if it is the one I am thinking of for
ApacheHttp 
commons testing then I am on the same track regarding setup and usage of the 
client program.

Regards,
-Tony




- Original Message 
From: Christopher Schultz ch...@christopherschultz.net
To: Tomcat Users List users@tomcat.apache.org
Sent: Tue, March 1, 2011 2:17:46 PM
Subject: Re: IIS7/isapi/tomcat performance

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

Good thing these are marked as [OT]... we have totally hijacked Bruce's
thread. Maybe we should start another.

On 3/1/2011 4:07 PM, Tony Anecito wrote:
 I am just trying to figure out what is the fastest was to handle my app. I
was 

 shooting for less than 1msec at Tomcat which I not have done. Now I want to
get 

 to 100 microseconds. Years ago from an logical architecture standpoint It
was:
 1. Apache web server - JBoss, then 
 2. Apache - Tomcat - JBoss
 3. APR/Tomcat - JBoss. 

Do you mean you are using Tomcat out in front of JBoss? Why not just use
JBoss directly? That'll probably buy you more than any other
configuration change.

 I currently am using 200MB xmx, xms, -server, NUMA, and set my new
generation 
to 

 be large since my objects are short lived. I do not remember my other
settings. 

 I am beginning to think simpler is better for settings since at 1msec or
less 
 any time spent by the processor might be wasted time.

Generally speaking, you should let the GC configure itself unless you
really know what you are doing or have to work around some specific problem.

 I am very curious how you got 50K requests per second.

You'll have to be more specific. Do you mean in my performance tests?
Which one? Did you read all of the setup info in the earlier slides?

 I can get 1K per second on my AMD 6 core system. What was your client
setup?

It's all in the PDF.

 I ran my client on the same
 server as my APR/Tomcat-JBoss and I am setting up the client on a laptop so
I 
am 

 not sharing resources. For the client I am using ApacheHttp class running
in 
 Eclipse and launch each http request in a different thread.

How many threads are you talking about using, here?

 I ended 
 up configuring Tomcat for 400 connections which made a big difference. I
still 

 have alot more testing/tuning to do and I hope to get to it over the next 
couple 

 of evenings.

100 microseconds seems like an arbitrary target. Where did it come from?

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1tYnoACgkQ9CaO5/Lv0PDVpwCgvlpUZcm4uZd/do+EeYuu/dte
o2QAn3XHEdvKFVwFUR2VdLDnBghXlP03
=ov34
-END PGP SIGNATURE-

-
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


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



Re: IIS7/isapi/tomcat performance

2011-03-01 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

On 3/1/2011 4:33 PM, Tony Anecito wrote:
 I used Tomcat separately because JBoss was always somewhat behind the current 
 production version of Tomcat. Eventually I will remove JBoss and use JDBC 
 from 
 Tomcat to my database to reduce memory footprint and improve performance. I 
 am 
 only using EJB's in JBoss right now.

You could look at OpenEJB and run your EJBs directly from Tomcat, too.

 Best practice regarding memory settings is set the min.max to be the same so 
 the 
 CPU is not busy allocating memory.

No, that's so the memory manager isn't wasting time re-sizing the heap.

 I know each jvm release gets better so less tuning is needed as what
 I think you are trying to say.

Generally, yes.

 I went up to 1,000 client threads before I stopped.

If you have 1000 client threads and (therefore) 1000 server threads all
operating one the same 6-core machine, you are probably pegging the CPU
so badly that you are ruining your own test.

 Since I met my first goal I like to get 10X better on the next one if 
 possible 
 and from what you told me I might be able to make it. I can get close if I 
 went 
 to a i7 980 or Sandy Bridge system instead of the slower AMD processor.

Switching processors is cheating :)

 To me that is cheating since I believe through tuning and code
 changes one should be able to get there.

At some point, work must get done. You can't simply configure-away the
need to allocate memory, copy buffers, parse the request, etc.

There is very little Tomcat configuration that can be done to improve
your observed performance: Tomcat has a great default configuration.
Actually, most of the settings that could affect performance usually
/degrade/ performance if changed from the default. You can also tweak
the GC settings like sizing various pools and stuff, but that won't
change the amount of time it takes to make a single request (or really
even in aggregate, unless you are creating hundreds of thousands of
temporary objects during a single request).

What you really need to do is profile your code and figure out what
/you/ are doing that's taking so long. :)

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1taQMACgkQ9CaO5/Lv0PBNFgCcDPbq2vLz2Ef7xxt1eB0itgFX
OPYAniSvf0j00DjksQKiSpSIpICf/RwJ
=nDqy
-END PGP SIGNATURE-

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



Re: IIS7/isapi/tomcat performance

2011-03-01 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Bruce,

On 3/1/2011 4:42 PM, Bruce Pease wrote:
 I'm just curious if anyone is using a 64 bit version of Linux, and has seen
 performance degradation.  We are looking to move off the Windows platform
 eventually anyway.

I'm not using 64-bit, but I am on Linux (happens to be Debian).

As of today, our uptime is 700 days for the OS on one production
machine, our database has been up since March 2010, and our webapp has
only been running a couple of days because we just had a production
release. Before that, it had been running for nearly a year with zero
downtime.

I know Microsoft Windows admins who schedule nightly reboots because
otherwise, their stuff doesn't work properly. Now, that was back in the
Windows 2003 days, so things have have improved since then.

I would highly recommend switching to *NIX to anyone considering doing
it. I find *NIX smaller, cleaner, simpler, more scriptable and remotely
administratable (is that a word? maybe administerable?) than Windows.

I hear that Microsoft SQL Server is a really great RDBMS. Too bad
they'll never port it to *NIX :)

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1ta3oACgkQ9CaO5/Lv0PCaUgCfRtK8WI5iGbKRJkN69OcVNFIH
GO8Anj1ZOH7SrQ7zdRQFet+uUvJf5Cnj
=3zbM
-END PGP SIGNATURE-

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



Re: [OT] IIS7/isapi/tomcat performance

2011-03-01 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

On 3/1/2011 4:19 PM, Tony Anecito wrote:
 I guess you have not read my last email yet. I think of it as putting two  
 32-bit pieces of info on a 64-bit data bus whereas for two 64-bit pieces of  
 information it takes two fetches or twice as long on the same hardware.

Are you saying that a 32-bit JVM running on a 64-bit machine somehow
utilizes the 64-bit bus? Malarkey. Perhaps the CPU as part of its
instruction re-ordering can do this, but I seriously doubt that a 32-bit
process on a 64-bit CPU gains a performance boost over that same 32-bit
process running on a 32-bit CPU (which is what the above would imply).

 As for compressing the pointers all I read is it improves response time

I can't believe that for a second. It actually slows things down. The
only reason to compress pointers is so that your heap size doesn't
roughly double when switching to 64-bit. The problem is that while the
transition from 32-bit to 64-bit architecture now allows many orders of
magnitude more memory to be accessed by each process (this is especially
important for Java heaps), the amount of memory installed in servers has
not really changed. 5 years ago, it wasn't uncommon for a 32-bit server
to have 32GiB of memory. These days, a similar 64-bit server might still
only have 32GiB of memory.

 so that 
 maybe running on 64-bit java the program is only 1% slower. I am assuming the 
 pointers are compressed after the first pass or even before the byte code is 
 run.

The pointers are compressed as the objects (really the references to
them) are created. The problem is that they must be uncompressed for
every dereference. It has nothing to do with the bytecode.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1tbJUACgkQ9CaO5/Lv0PBZ3ACgrVFqcPNcIe+P3U1HW3QzRXpS
L3oAnj82GTkXoQcOwxYskRLXWwsrFTcn
=w2cy
-END PGP SIGNATURE-

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



RE: [OT] IIS7/isapi/tomcat performance

2011-03-01 Thread Caldarale, Charles R
 From: Christopher Schultz [mailto:ch...@christopherschultz.net] 
 Subject: Re: [OT] IIS7/isapi/tomcat performance

 Are you saying that a 32-bit JVM running on a 64-bit machine 
 somehow utilizes the 64-bit bus?  Malarkey.

I wouldn't bet on that.  Intel goes to great pains to insure all of the buses 
are fully utilized.  On a 64-bit machine, all of the data paths from RAM up to 
the L1 operand cache will be able to move twice the number of items per cycle 
when the items are only 32 bits wide.  Between the L1 cache and the superscalar 
execution core, there may be less of a gain, but since the core contains three 
ALUs and separate load and store sections to service them, memory operations 
are combined wherever possible to get data in and out as fast as possible.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.



RE: [OT] IIS7/isapi/tomcat performance

2011-03-01 Thread Caldarale, Charles R
 From: Christopher Schultz [mailto:ch...@christopherschultz.net] 
 Subject: Re: [OT] IIS7/isapi/tomcat performance

 I don't understand why communicating a 64-bit value over a 
 64-bit bus would take longer than communicating a 32-bit 
 value over a 64-bit bus:

Because you get *two* 32-bit values for one transfer, not just one. 
 
BTW, it's somewhat pointless to use the unqualified term bus when referring 
to modern CPU architecture.  Now that Intel has finally figured out how to make 
multi-processor systems run at a reasonable speed by using techniques we 
implemented back in the 1960s, along with the advent of multiple memory cache 
levels, there's no longer a single bus to be concerned with.  Most of them are 
wider than 64 bits in order to move as much data as possible; even ten years 
ago, Intel was moving 64 _bytes_ at a time on most of the data paths.

 I also get that some processors (like Itanium) have an x84
 processor core on the die

(Presumably, you meant x86.)  Sorry, Itanium was notoriously bad at running 
32-bit apps.

 getting the data from point A to point B shouldn't matter

Sure it does, if you can batch multiple operand accesses together (which 
current Intel cores do).

 I suppose of the CPU knew it was in a 32-bit mode, it could 
 adjust the number of clock ticks it had to wait around for 
 32-bit data to go through an adder, but that seems overly 
 complicated for a straightforward CPU task.

Simple adders have only used one cycle for decades, regardless of the width.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.



Re: [OT] IIS7/isapi/tomcat performance

2011-03-01 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Chuck,

On 3/1/2011 5:42 PM, Caldarale, Charles R wrote:
 From: Christopher Schultz [mailto:ch...@christopherschultz.net] 
 Subject: Re: [OT] IIS7/isapi/tomcat performance
 
 Are you saying that a 32-bit JVM running on a 64-bit machine 
 somehow utilizes the 64-bit bus?  Malarkey.
 
 I wouldn't bet on that.  Intel goes to great pains to insure all of
 the buses are fully utilized.  On a 64-bit machine, all of the data
 paths from RAM up to the L1 operand cache will be able to move twice
 the number of items per cycle when the items are only 32 bits wide.

The question I have is how does the bus controller know that there are
multiple 32-bit values coming down the line, and that it can send them
simultaneously down the bus? There's more data to be sent over the bus
than just pointers to other pieces of data. You have to move the
instruction itself, etc. so there's lots of opportunities for other data
to get in the way of this DRR-style data transfer across the bus.

 Between the L1 cache and the superscalar execution core, there may be
 less of a gain, but since the core contains three ALUs and separate
 load and store sections to service them, memory operations are
 combined wherever possible to get data in and out as fast as
 possible.

I buy this argument, but that would only affect the processing of, say,
a 64-bit pointer within the core... not the speed of passing that
pointer around the rest of the machine. As you say, probably less of a gain.

I'd love to see some real documentation and/or testing on this type of
stuff. I certainly am somewhat naïve when it comes to details this low,
but my intuition tells me that the CPU and bus aren't magic :)

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1tfa4ACgkQ9CaO5/Lv0PBxlQCgjvY/NcigAvD/jXIWfckKUbju
tUgAn2bfMa3iEuQeUe0j2ZqmgVxGn+dx
=Vubd
-END PGP SIGNATURE-

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



Re: IIS7/isapi/tomcat performance

2011-03-01 Thread Tony Anecito
There is no code. All I did was create a servlet with a doGet method that had 
nothing in it.

I did notice alot of Tomcat code being called. I have not supplied profiling 
until I get the separate client machine setup. That will be sometime over the 
next few evenings.

-Tony



- Original Message 
From: Christopher Schultz ch...@christopherschultz.net
To: Tomcat Users List users@tomcat.apache.org
Sent: Tue, March 1, 2011 2:45:39 PM
Subject: Re: IIS7/isapi/tomcat performance

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

On 3/1/2011 4:33 PM, Tony Anecito wrote:
 I used Tomcat separately because JBoss was always somewhat behind the current 
 production version of Tomcat. Eventually I will remove JBoss and use JDBC 
 from 

 Tomcat to my database to reduce memory footprint and improve performance. I 
 am 

 only using EJB's in JBoss right now.

You could look at OpenEJB and run your EJBs directly from Tomcat, too.

 Best practice regarding memory settings is set the min.max to be the same so 
the 

 CPU is not busy allocating memory.

No, that's so the memory manager isn't wasting time re-sizing the heap.

 I know each jvm release gets better so less tuning is needed as what
 I think you are trying to say.

Generally, yes.

 I went up to 1,000 client threads before I stopped.

If you have 1000 client threads and (therefore) 1000 server threads all
operating one the same 6-core machine, you are probably pegging the CPU
so badly that you are ruining your own test.

 Since I met my first goal I like to get 10X better on the next one if 
 possible 

 and from what you told me I might be able to make it. I can get close if I 
 went 

 to a i7 980 or Sandy Bridge system instead of the slower AMD processor.

Switching processors is cheating :)

 To me that is cheating since I believe through tuning and code
 changes one should be able to get there.

At some point, work must get done. You can't simply configure-away the
need to allocate memory, copy buffers, parse the request, etc.

There is very little Tomcat configuration that can be done to improve
your observed performance: Tomcat has a great default configuration.
Actually, most of the settings that could affect performance usually
/degrade/ performance if changed from the default. You can also tweak
the GC settings like sizing various pools and stuff, but that won't
change the amount of time it takes to make a single request (or really
even in aggregate, unless you are creating hundreds of thousands of
temporary objects during a single request).

What you really need to do is profile your code and figure out what
/you/ are doing that's taking so long. :)

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1taQMACgkQ9CaO5/Lv0PBNFgCcDPbq2vLz2Ef7xxt1eB0itgFX
OPYAniSvf0j00DjksQKiSpSIpICf/RwJ
=nDqy
-END PGP SIGNATURE-

-
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



Re: [OT] IIS7/isapi/tomcat performance

2011-03-01 Thread Tony Anecito
I believe the effect of compression is relative. In other words for a big 
program with lots of 64-bit pointers and 64-bit longs it is helps but for small 
programs it does not.

I would hope the full 64-bit data bus would be used. So you thing 32-pins on 
the 
processor are not used when running a 32-bit process? I am not saying you are 
not correct but I will check into it since I am curious and let you know what I 
find.

I have never mentioned byte code as pointers all my referneces are to 
executable 
code or what the processor actually runs.

Regards,
-Tony


 


- Original Message 
From: Christopher Schultz ch...@christopherschultz.net
To: Tomcat Users List users@tomcat.apache.org
Sent: Tue, March 1, 2011 3:00:53 PM
Subject: Re: [OT] IIS7/isapi/tomcat performance

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Tony,

On 3/1/2011 4:19 PM, Tony Anecito wrote:
 I guess you have not read my last email yet. I think of it as putting two  
 32-bit pieces of info on a 64-bit data bus whereas for two 64-bit pieces of  
 information it takes two fetches or twice as long on the same hardware.

Are you saying that a 32-bit JVM running on a 64-bit machine somehow
utilizes the 64-bit bus? Malarkey. Perhaps the CPU as part of its
instruction re-ordering can do this, but I seriously doubt that a 32-bit
process on a 64-bit CPU gains a performance boost over that same 32-bit
process running on a 32-bit CPU (which is what the above would imply).

 As for compressing the pointers all I read is it improves response time

I can't believe that for a second. It actually slows things down. The
only reason to compress pointers is so that your heap size doesn't
roughly double when switching to 64-bit. The problem is that while the
transition from 32-bit to 64-bit architecture now allows many orders of
magnitude more memory to be accessed by each process (this is especially
important for Java heaps), the amount of memory installed in servers has
not really changed. 5 years ago, it wasn't uncommon for a 32-bit server
to have 32GiB of memory. These days, a similar 64-bit server might still
only have 32GiB of memory.

 so that 
 maybe running on 64-bit java the program is only 1% slower. I am assuming the 
 pointers are compressed after the first pass or even before the byte code is 
 run.

The pointers are compressed as the objects (really the references to
them) are created. The problem is that they must be uncompressed for
every dereference. It has nothing to do with the bytecode.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk1tbJUACgkQ9CaO5/Lv0PBZ3ACgrVFqcPNcIe+P3U1HW3QzRXpS
L3oAnj82GTkXoQcOwxYskRLXWwsrFTcn
=w2cy
-END PGP SIGNATURE-

-
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



Re: [OT] IIS7/isapi/tomcat performance

2011-03-01 Thread Tony Anecito
Thanks Chuck I agree.
I used to design hardware back in the 80-mid 90's so understand what you are 
saying but have not kept up with actual designs since then. I jumped over to 
software after that.
I know I simplify some things but hope I still am correct. Feel free to correct 
me I will try to not get emotional about it but I do miss my 8080 and Z80.

-Tony



- Original Message 
From: Caldarale, Charles R chuck.caldar...@unisys.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Tue, March 1, 2011 4:09:10 PM
Subject: RE: [OT] IIS7/isapi/tomcat performance

 From: Christopher Schultz [mailto:ch...@christopherschultz.net] 
 Subject: Re: [OT] IIS7/isapi/tomcat performance

 I don't understand why communicating a 64-bit value over a 
 64-bit bus would take longer than communicating a 32-bit 
 value over a 64-bit bus:

Because you get *two* 32-bit values for one transfer, not just one. 

BTW, it's somewhat pointless to use the unqualified term bus when referring 
to 
modern CPU architecture.  Now that Intel has finally figured out how to make 
multi-processor systems run at a reasonable speed by using techniques we 
implemented back in the 1960s, along with the advent of multiple memory cache 
levels, there's no longer a single bus to be concerned with.  Most of them are 
wider than 64 bits in order to move as much data as possible; even ten years 
ago, Intel was moving 64 _bytes_ at a time on most of the data paths.

 I also get that some processors (like Itanium) have an x84
 processor core on the die

(Presumably, you meant x86.)  Sorry, Itanium was notoriously bad at running 
32-bit apps.

 getting the data from point A to point B shouldn't matter

Sure it does, if you can batch multiple operand accesses together (which 
current 
Intel cores do).

 I suppose of the CPU knew it was in a 32-bit mode, it could 
 adjust the number of clock ticks it had to wait around for 
 32-bit data to go through an adder, but that seems overly 
 complicated for a straightforward CPU task.

Simple adders have only used one cycle for decades, regardless of the width.

- Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.




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



RE: [OT] IIS7/isapi/tomcat performance

2011-03-01 Thread Caldarale, Charles R
 From: Christopher Schultz [mailto:ch...@christopherschultz.net] 
 Subject: Re: [OT] IIS7/isapi/tomcat performance

 The question I have is how does the bus controller know 
 that there are multiple 32-bit values coming down the line,
 and that it can send them simultaneously down the bus?

A traditional bus controller hasn't been used in quite some time, and buses 
themselves are rapidly being replaced by point-to-point connections (finally), 
at least in terms of CPUs accessing memory.  The interface between the L1 
operand cache and the multiple ALUs is under control of a scheduler that's 
aware of the possible 72 simultaneous loads and stores going on, so it can 
combine accesses as it sees fit.  Accesses between lower-level caches and 
actual RAM have always been wider than the data path within a core.

 There's more data to be sent over the bus than just pointers 
 to other pieces of data.

Of course - except there is no the bus.

 You have to move the instruction itself

Not these days.  The instruction will be loaded from memory once, broken (and 
combined) into micro-ops, and those are stored in the instruction cache.  If 
you're getting i-cache much beyond single digit percentages, your performance 
will be horrible.

 so there's lots of opportunities for other data
 to get in the way of this DRR-style data transfer
 across the bus.

Your continued use of the phrase the bus is rather quaint...

 that would only affect the processing of, say, a 64-bit pointer 
 within the core...

No, it affects all data, not just pointers.

 I'd love to see some real documentation and/or testing on this 
 type of stuff.

http://www.intel.com/products/processor/manuals/

Start with this one:
http://www.intel.com/Assets/PDF/manual/253665.pdf

 my intuition tells me that the CPU and bus aren't magic :)

Compared to just a few years ago, they are.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.



IIS7/isapi/tomcat performance

2011-02-28 Thread Bruce Pease
Good Afternoon:

 

I am attempting to run a Windows x64 server with IIS7 and Tomcat 7.  I have
64 bit versions of JDK (1.6.26) and Tomcat (7.0.8).  The server is set up
with IIS using ajp1.3 to a local cluster of Tomcat servers.  In performance
tests I have found the configuration runs dramatically slower than it's
corresponding server in 32 bit Windows on 2000 Server and Tomcat 6.  Is there
a way to improve performance or is there an issue with this setup on Windows
64 IIS 7?

 

Thanks,

 

Bruce D. Pease
Technical Team Lead - Web Applications
CruiseOne(r) http://www.cruiseone.com/   Cruises Inc(tm)
http://www.cruisesinc.com/ 
1201 W. Cypress Creek Road, Suite 100
Fort Lauderdale, FL 33309-1955
954-958-3654 (direct) | 954-958-3665 (fax)
bpe...@wth.com mailto:ssza...@wth.com 

 



RE: IIS7/isapi/tomcat performance

2011-02-28 Thread Caldarale, Charles R
 From: Bruce Pease [mailto:bpe...@wth.com] 
 Subject: IIS7/isapi/tomcat performance

 In performance tests I have found the configuration runs
 dramatically slower than it's corresponding server in 32
 bit Windows on 2000 Server and Tomcat 6.

Until you quantify dramatically, better describe your testing scenario 
(including configurations of all components), eliminate as many moving pieces 
as you can (e.g., try Tomcat standalone), and do some basic bottleneck 
analysis, there's not much anyone can help you with.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


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



Re: IIS7/isapi/tomcat performance

2011-02-28 Thread Tony Anecito
I agree with Charles. I run a performance Testing group for a fortune 50 
company 
and do alot of performance testing for different designs/implementation for my 
own startup and we can not help you without further info.

Client side setup (Browser/version?)
Test cases
Network speed
Tomcat Setup (startup command line with jdk options)
Extending logging options such as request time for tomcat
Make sure your logging is set to error and not debug level on your processes 
(IIS, Tomcat, Database?)

I would use yslow with FF to get page sizes and other info. developers seem to 
forget that the bandwidth is limited and 1MB pages are too big. Sometimes 
images 
are small but the javascript is quite big especially when calling web services 
directly,
For the middle tier a code profiler like visualvm helps quite a bit.

The key thing is narrow it down tier by tier then focus on the tier where you 
see the biggest gains.
If manually you see x seconds then that is the best it will be before you start 
tuning.
Gains in code will always be larger than that by configuration tuning unless 
logging level is set to high especially for jdbc calls.

Good luck,
Tony Anecito (JavaOne 2010 I am the future of Java winner)
Founder,
MyUniPortal (JavaOne 2010 Duke's Award Winner)
http://www.myuniportal.com


 


- Original Message 
From: Caldarale, Charles R chuck.caldar...@unisys.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 11:15:40 AM
Subject: RE: IIS7/isapi/tomcat performance

 From: Bruce Pease [mailto:bpe...@wth.com] 
 Subject: IIS7/isapi/tomcat performance

 In performance tests I have found the configuration runs
 dramatically slower than it's corresponding server in 32
 bit Windows on 2000 Server and Tomcat 6.

Until you quantify dramatically, better describe your testing scenario 
(including configurations of all components), eliminate as many moving pieces 
as 
you can (e.g., try Tomcat standalone), and do some basic bottleneck analysis, 
there's not much anyone can help you with.

- Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


-
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



RE: IIS7/isapi/tomcat performance

2011-02-28 Thread Bruce Pease
Perhaps my point is being missed here.  The issue is moving from 32 bit is
slower in 64 bit (4-500% if you need a number).  Components are the same,
setup is the same, database is the same, environment is the same, tests are
the same, network is the same.  I'm basically looking to see if anyone is
using a similar setup, and has been able to get it to perform well.

-Original Message-
From: Tony Anecito [mailto:adanec...@yahoo.com] 
Sent: Monday, February 28, 2011 1:40 PM
To: Tomcat Users List
Subject: Re: IIS7/isapi/tomcat performance

I agree with Charles. I run a performance Testing group for a fortune 50
company 
and do alot of performance testing for different designs/implementation for
my 
own startup and we can not help you without further info.

Client side setup (Browser/version?)
Test cases
Network speed
Tomcat Setup (startup command line with jdk options)
Extending logging options such as request time for tomcat
Make sure your logging is set to error and not debug level on your processes 
(IIS, Tomcat, Database?)

I would use yslow with FF to get page sizes and other info. developers seem
to 
forget that the bandwidth is limited and 1MB pages are too big. Sometimes
images 
are small but the javascript is quite big especially when calling web
services 
directly,
For the middle tier a code profiler like visualvm helps quite a bit.

The key thing is narrow it down tier by tier then focus on the tier where you

see the biggest gains.
If manually you see x seconds then that is the best it will be before you
start 
tuning.
Gains in code will always be larger than that by configuration tuning unless 
logging level is set to high especially for jdbc calls.

Good luck,
Tony Anecito (JavaOne 2010 I am the future of Java winner)
Founder,
MyUniPortal (JavaOne 2010 Duke's Award Winner)
http://www.myuniportal.com


 


- Original Message 
From: Caldarale, Charles R chuck.caldar...@unisys.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 11:15:40 AM
Subject: RE: IIS7/isapi/tomcat performance

 From: Bruce Pease [mailto:bpe...@wth.com] 
 Subject: IIS7/isapi/tomcat performance

 In performance tests I have found the configuration runs
 dramatically slower than it's corresponding server in 32
 bit Windows on 2000 Server and Tomcat 6.

Until you quantify dramatically, better describe your testing scenario 
(including configurations of all components), eliminate as many moving pieces
as 
you can (e.g., try Tomcat standalone), and do some basic bottleneck analysis,

there's not much anyone can help you with.

- Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


-
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


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



Re: IIS7/isapi/tomcat performance

2011-02-28 Thread Tony Anecito
JVM settings should not be the same.

Regards,
-Tony



- Original Message 
From: Bruce Pease bpe...@wth.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 11:46:35 AM
Subject: RE: IIS7/isapi/tomcat performance

Perhaps my point is being missed here.  The issue is moving from 32 bit is
slower in 64 bit (4-500% if you need a number).  Components are the same,
setup is the same, database is the same, environment is the same, tests are
the same, network is the same.  I'm basically looking to see if anyone is
using a similar setup, and has been able to get it to perform well.

-Original Message-
From: Tony Anecito [mailto:adanec...@yahoo.com] 
Sent: Monday, February 28, 2011 1:40 PM
To: Tomcat Users List
Subject: Re: IIS7/isapi/tomcat performance

I agree with Charles. I run a performance Testing group for a fortune 50
company 
and do alot of performance testing for different designs/implementation for
my 
own startup and we can not help you without further info.

Client side setup (Browser/version?)
Test cases
Network speed
Tomcat Setup (startup command line with jdk options)
Extending logging options such as request time for tomcat
Make sure your logging is set to error and not debug level on your processes 
(IIS, Tomcat, Database?)

I would use yslow with FF to get page sizes and other info. developers seem
to 
forget that the bandwidth is limited and 1MB pages are too big. Sometimes
images 
are small but the javascript is quite big especially when calling web
services 
directly,
For the middle tier a code profiler like visualvm helps quite a bit.

The key thing is narrow it down tier by tier then focus on the tier where you

see the biggest gains.
If manually you see x seconds then that is the best it will be before you
start 
tuning.
Gains in code will always be larger than that by configuration tuning unless 
logging level is set to high especially for jdbc calls.

Good luck,
Tony Anecito (JavaOne 2010 I am the future of Java winner)
Founder,
MyUniPortal (JavaOne 2010 Duke's Award Winner)
http://www.myuniportal.com


 


- Original Message 
From: Caldarale, Charles R chuck.caldar...@unisys.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 11:15:40 AM
Subject: RE: IIS7/isapi/tomcat performance

 From: Bruce Pease [mailto:bpe...@wth.com] 
 Subject: IIS7/isapi/tomcat performance

 In performance tests I have found the configuration runs
 dramatically slower than it's corresponding server in 32
 bit Windows on 2000 Server and Tomcat 6.

Until you quantify dramatically, better describe your testing scenario 
(including configurations of all components), eliminate as many moving pieces
as 
you can (e.g., try Tomcat standalone), and do some basic bottleneck analysis,

there's not much anyone can help you with.

- Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


-
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


-
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



Re: IIS7/isapi/tomcat performance

2011-02-28 Thread Tony Anecito
Since the memory pointers are larger you may need to increase your heap size 
but 
you can compress the address pointers.

Also, if you use JNI and it is 32-bit then you will have unexpected issues same 
thing with any native libs your try to use.

Generally it will be up to 20% slower due to the pointers.

Recommend you stick to 32-bit if your app fits within the memory space for 
32-bit. I have heard that 64-bit jvm for version 7 might be faster than 32-bit.

Good Luck,
-Tony



- Original Message 
From: Tony Anecito adanec...@yahoo.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 12:40:43 PM
Subject: Re: IIS7/isapi/tomcat performance

JVM settings should not be the same.

Regards,
-Tony



- Original Message 
From: Bruce Pease bpe...@wth.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 11:46:35 AM
Subject: RE: IIS7/isapi/tomcat performance

Perhaps my point is being missed here.  The issue is moving from 32 bit is
slower in 64 bit (4-500% if you need a number).  Components are the same,
setup is the same, database is the same, environment is the same, tests are
the same, network is the same.  I'm basically looking to see if anyone is
using a similar setup, and has been able to get it to perform well.

-Original Message-
From: Tony Anecito [mailto:adanec...@yahoo.com] 
Sent: Monday, February 28, 2011 1:40 PM
To: Tomcat Users List
Subject: Re: IIS7/isapi/tomcat performance

I agree with Charles. I run a performance Testing group for a fortune 50
company 
and do alot of performance testing for different designs/implementation for
my 
own startup and we can not help you without further info.

Client side setup (Browser/version?)
Test cases
Network speed
Tomcat Setup (startup command line with jdk options)
Extending logging options such as request time for tomcat
Make sure your logging is set to error and not debug level on your processes 
(IIS, Tomcat, Database?)

I would use yslow with FF to get page sizes and other info. developers seem
to 
forget that the bandwidth is limited and 1MB pages are too big. Sometimes
images 
are small but the javascript is quite big especially when calling web
services 
directly,
For the middle tier a code profiler like visualvm helps quite a bit.

The key thing is narrow it down tier by tier then focus on the tier where you

see the biggest gains.
If manually you see x seconds then that is the best it will be before you
start 
tuning.
Gains in code will always be larger than that by configuration tuning unless 
logging level is set to high especially for jdbc calls.

Good luck,
Tony Anecito (JavaOne 2010 I am the future of Java winner)
Founder,
MyUniPortal (JavaOne 2010 Duke's Award Winner)
http://www.myuniportal.com


 


- Original Message 
From: Caldarale, Charles R chuck.caldar...@unisys.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 11:15:40 AM
Subject: RE: IIS7/isapi/tomcat performance

 From: Bruce Pease [mailto:bpe...@wth.com] 
 Subject: IIS7/isapi/tomcat performance

 In performance tests I have found the configuration runs
 dramatically slower than it's corresponding server in 32
 bit Windows on 2000 Server and Tomcat 6.

Until you quantify dramatically, better describe your testing scenario 
(including configurations of all components), eliminate as many moving pieces
as 
you can (e.g., try Tomcat standalone), and do some basic bottleneck analysis,

there's not much anyone can help you with.

- Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


-
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


-
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




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



Re: IIS7/isapi/tomcat performance

2011-02-28 Thread Tony Anecito
I forgot to mention new versions of Windows are slower than XP. So that would 
contribute to your issues. Windows 7 got better but not as fast as 32-bit.

Also, you might want to measure from tomcat perspective so you have a new 
baseline.

Regards,
-Tony



- Original Message 
From: Tony Anecito adanec...@yahoo.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 12:57:03 PM
Subject: Re: IIS7/isapi/tomcat performance

Since the memory pointers are larger you may need to increase your heap size 
but 

you can compress the address pointers.

Also, if you use JNI and it is 32-bit then you will have unexpected issues same 
thing with any native libs your try to use.

Generally it will be up to 20% slower due to the pointers.

Recommend you stick to 32-bit if your app fits within the memory space for 
32-bit. I have heard that 64-bit jvm for version 7 might be faster than 32-bit.

Good Luck,
-Tony



- Original Message 
From: Tony Anecito adanec...@yahoo.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 12:40:43 PM
Subject: Re: IIS7/isapi/tomcat performance

JVM settings should not be the same.

Regards,
-Tony



- Original Message 
From: Bruce Pease bpe...@wth.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 11:46:35 AM
Subject: RE: IIS7/isapi/tomcat performance

Perhaps my point is being missed here.  The issue is moving from 32 bit is
slower in 64 bit (4-500% if you need a number).  Components are the same,
setup is the same, database is the same, environment is the same, tests are
the same, network is the same.  I'm basically looking to see if anyone is
using a similar setup, and has been able to get it to perform well.

-Original Message-
From: Tony Anecito [mailto:adanec...@yahoo.com] 
Sent: Monday, February 28, 2011 1:40 PM
To: Tomcat Users List
Subject: Re: IIS7/isapi/tomcat performance

I agree with Charles. I run a performance Testing group for a fortune 50
company 
and do alot of performance testing for different designs/implementation for
my 
own startup and we can not help you without further info.

Client side setup (Browser/version?)
Test cases
Network speed
Tomcat Setup (startup command line with jdk options)
Extending logging options such as request time for tomcat
Make sure your logging is set to error and not debug level on your processes 
(IIS, Tomcat, Database?)

I would use yslow with FF to get page sizes and other info. developers seem
to 
forget that the bandwidth is limited and 1MB pages are too big. Sometimes
images 
are small but the javascript is quite big especially when calling web
services 
directly,
For the middle tier a code profiler like visualvm helps quite a bit.

The key thing is narrow it down tier by tier then focus on the tier where you

see the biggest gains.
If manually you see x seconds then that is the best it will be before you
start 
tuning.
Gains in code will always be larger than that by configuration tuning unless 
logging level is set to high especially for jdbc calls.

Good luck,
Tony Anecito (JavaOne 2010 I am the future of Java winner)
Founder,
MyUniPortal (JavaOne 2010 Duke's Award Winner)
http://www.myuniportal.com


 


- Original Message 
From: Caldarale, Charles R chuck.caldar...@unisys.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 11:15:40 AM
Subject: RE: IIS7/isapi/tomcat performance

 From: Bruce Pease [mailto:bpe...@wth.com] 
 Subject: IIS7/isapi/tomcat performance

 In performance tests I have found the configuration runs
 dramatically slower than it's corresponding server in 32
 bit Windows on 2000 Server and Tomcat 6.

Until you quantify dramatically, better describe your testing scenario 
(including configurations of all components), eliminate as many moving pieces
as 
you can (e.g., try Tomcat standalone), and do some basic bottleneck analysis,

there's not much anyone can help you with.

- Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


-
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


-
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

RE: IIS7/isapi/tomcat performance

2011-02-28 Thread Bruce Pease
Thanks for the insight.  It looks like we are going to go with server 2003 32
bit.  I found some references that suggest ajp 1.3 has a performance issue in
64 bit server 2008.

-Original Message-
From: Tony Anecito [mailto:adanec...@yahoo.com] 
Sent: Monday, February 28, 2011 3:01 PM
To: Tomcat Users List
Subject: Re: IIS7/isapi/tomcat performance

I forgot to mention new versions of Windows are slower than XP. So that would

contribute to your issues. Windows 7 got better but not as fast as 32-bit.

Also, you might want to measure from tomcat perspective so you have a new 
baseline.

Regards,
-Tony



- Original Message 
From: Tony Anecito adanec...@yahoo.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 12:57:03 PM
Subject: Re: IIS7/isapi/tomcat performance

Since the memory pointers are larger you may need to increase your heap size
but 

you can compress the address pointers.

Also, if you use JNI and it is 32-bit then you will have unexpected issues
same 
thing with any native libs your try to use.

Generally it will be up to 20% slower due to the pointers.

Recommend you stick to 32-bit if your app fits within the memory space for 
32-bit. I have heard that 64-bit jvm for version 7 might be faster than
32-bit.

Good Luck,
-Tony



- Original Message 
From: Tony Anecito adanec...@yahoo.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 12:40:43 PM
Subject: Re: IIS7/isapi/tomcat performance

JVM settings should not be the same.

Regards,
-Tony



- Original Message 
From: Bruce Pease bpe...@wth.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 11:46:35 AM
Subject: RE: IIS7/isapi/tomcat performance

Perhaps my point is being missed here.  The issue is moving from 32 bit is
slower in 64 bit (4-500% if you need a number).  Components are the same,
setup is the same, database is the same, environment is the same, tests are
the same, network is the same.  I'm basically looking to see if anyone is
using a similar setup, and has been able to get it to perform well.

-Original Message-
From: Tony Anecito [mailto:adanec...@yahoo.com] 
Sent: Monday, February 28, 2011 1:40 PM
To: Tomcat Users List
Subject: Re: IIS7/isapi/tomcat performance

I agree with Charles. I run a performance Testing group for a fortune 50
company 
and do alot of performance testing for different designs/implementation for
my 
own startup and we can not help you without further info.

Client side setup (Browser/version?)
Test cases
Network speed
Tomcat Setup (startup command line with jdk options)
Extending logging options such as request time for tomcat
Make sure your logging is set to error and not debug level on your processes 
(IIS, Tomcat, Database?)

I would use yslow with FF to get page sizes and other info. developers seem
to 
forget that the bandwidth is limited and 1MB pages are too big. Sometimes
images 
are small but the javascript is quite big especially when calling web
services 
directly,
For the middle tier a code profiler like visualvm helps quite a bit.

The key thing is narrow it down tier by tier then focus on the tier where you

see the biggest gains.
If manually you see x seconds then that is the best it will be before you
start 
tuning.
Gains in code will always be larger than that by configuration tuning unless 
logging level is set to high especially for jdbc calls.

Good luck,
Tony Anecito (JavaOne 2010 I am the future of Java winner)
Founder,
MyUniPortal (JavaOne 2010 Duke's Award Winner)
http://www.myuniportal.com


 


- Original Message 
From: Caldarale, Charles R chuck.caldar...@unisys.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 11:15:40 AM
Subject: RE: IIS7/isapi/tomcat performance

 From: Bruce Pease [mailto:bpe...@wth.com] 
 Subject: IIS7/isapi/tomcat performance

 In performance tests I have found the configuration runs
 dramatically slower than it's corresponding server in 32
 bit Windows on 2000 Server and Tomcat 6.

Until you quantify dramatically, better describe your testing scenario 
(including configurations of all components), eliminate as many moving pieces
as 
you can (e.g., try Tomcat standalone), and do some basic bottleneck analysis,

there's not much anyone can help you with.

- Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


-
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

Re: IIS7/isapi/tomcat performance

2011-02-28 Thread הילה
?Which performance issue


2011/2/28 Bruce Pease bpe...@wth.com

 Thanks for the insight.  It looks like we are going to go with server 2003
 32
 bit.  I found some references that suggest ajp 1.3 has a performance issue
 in
 64 bit server 2008.

 -Original Message-
 From: Tony Anecito [mailto:adanec...@yahoo.com]
 Sent: Monday, February 28, 2011 3:01 PM
 To: Tomcat Users List
 Subject: Re: IIS7/isapi/tomcat performance

 I forgot to mention new versions of Windows are slower than XP. So that
 would

 contribute to your issues. Windows 7 got better but not as fast as 32-bit.

 Also, you might want to measure from tomcat perspective so you have a new
 baseline.

 Regards,
 -Tony



 - Original Message 
 From: Tony Anecito adanec...@yahoo.com
 To: Tomcat Users List users@tomcat.apache.org
 Sent: Mon, February 28, 2011 12:57:03 PM
 Subject: Re: IIS7/isapi/tomcat performance

 Since the memory pointers are larger you may need to increase your heap
 size
 but

 you can compress the address pointers.

 Also, if you use JNI and it is 32-bit then you will have unexpected issues
 same
 thing with any native libs your try to use.

 Generally it will be up to 20% slower due to the pointers.

 Recommend you stick to 32-bit if your app fits within the memory space for
 32-bit. I have heard that 64-bit jvm for version 7 might be faster than
 32-bit.

 Good Luck,
 -Tony



 - Original Message 
 From: Tony Anecito adanec...@yahoo.com
 To: Tomcat Users List users@tomcat.apache.org
 Sent: Mon, February 28, 2011 12:40:43 PM
 Subject: Re: IIS7/isapi/tomcat performance

 JVM settings should not be the same.

 Regards,
 -Tony



 - Original Message 
 From: Bruce Pease bpe...@wth.com
 To: Tomcat Users List users@tomcat.apache.org
 Sent: Mon, February 28, 2011 11:46:35 AM
 Subject: RE: IIS7/isapi/tomcat performance

 Perhaps my point is being missed here.  The issue is moving from 32 bit is
 slower in 64 bit (4-500% if you need a number).  Components are the same,
 setup is the same, database is the same, environment is the same, tests are
 the same, network is the same.  I'm basically looking to see if anyone is
 using a similar setup, and has been able to get it to perform well.

 -Original Message-
 From: Tony Anecito [mailto:adanec...@yahoo.com]
 Sent: Monday, February 28, 2011 1:40 PM
 To: Tomcat Users List
 Subject: Re: IIS7/isapi/tomcat performance

 I agree with Charles. I run a performance Testing group for a fortune 50
 company
 and do alot of performance testing for different designs/implementation for
 my
 own startup and we can not help you without further info.

 Client side setup (Browser/version?)
 Test cases
 Network speed
 Tomcat Setup (startup command line with jdk options)
 Extending logging options such as request time for tomcat
 Make sure your logging is set to error and not debug level on your
 processes
 (IIS, Tomcat, Database?)

 I would use yslow with FF to get page sizes and other info. developers seem
 to
 forget that the bandwidth is limited and 1MB pages are too big. Sometimes
 images
 are small but the javascript is quite big especially when calling web
 services
 directly,
 For the middle tier a code profiler like visualvm helps quite a bit.

 The key thing is narrow it down tier by tier then focus on the tier where
 you

 see the biggest gains.
 If manually you see x seconds then that is the best it will be before you
 start
 tuning.
 Gains in code will always be larger than that by configuration tuning
 unless
 logging level is set to high especially for jdbc calls.

 Good luck,
 Tony Anecito (JavaOne 2010 I am the future of Java winner)
 Founder,
 MyUniPortal (JavaOne 2010 Duke's Award Winner)
 http://www.myuniportal.com





 - Original Message 
 From: Caldarale, Charles R chuck.caldar...@unisys.com
 To: Tomcat Users List users@tomcat.apache.org
 Sent: Mon, February 28, 2011 11:15:40 AM
 Subject: RE: IIS7/isapi/tomcat performance

  From: Bruce Pease [mailto:bpe...@wth.com]
  Subject: IIS7/isapi/tomcat performance

  In performance tests I have found the configuration runs
  dramatically slower than it's corresponding server in 32
  bit Windows on 2000 Server and Tomcat 6.

 Until you quantify dramatically, better describe your testing scenario
 (including configurations of all components), eliminate as many moving
 pieces
 as
 you can (e.g., try Tomcat standalone), and do some basic bottleneck
 analysis,

 there's not much anyone can help you with.

 - Chuck


 THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY
 MATERIAL and is thus for use only by the intended recipient. If you
 received
 this in error, please contact the sender and delete the e-mail and its
 attachments from all computers.


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

Re: IIS7/isapi/tomcat performance

2011-02-28 Thread Tony Anecito
Sure no problem. I also use Native APR with Tomcat 7 which eliminates AJP and 
supposidly is faster than Apache Web Server but then you use IIS probably for 
good reason so it would not help you to use APR.

Good luck,
-Tony



- Original Message 
From: Bruce Pease bpe...@wth.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 1:08:19 PM
Subject: RE: IIS7/isapi/tomcat performance

Thanks for the insight.  It looks like we are going to go with server 2003 32
bit.  I found some references that suggest ajp 1.3 has a performance issue in
64 bit server 2008.

-Original Message-
From: Tony Anecito [mailto:adanec...@yahoo.com] 
Sent: Monday, February 28, 2011 3:01 PM
To: Tomcat Users List
Subject: Re: IIS7/isapi/tomcat performance

I forgot to mention new versions of Windows are slower than XP. So that would

contribute to your issues. Windows 7 got better but not as fast as 32-bit.

Also, you might want to measure from tomcat perspective so you have a new 
baseline.

Regards,
-Tony



- Original Message 
From: Tony Anecito adanec...@yahoo.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 12:57:03 PM
Subject: Re: IIS7/isapi/tomcat performance

Since the memory pointers are larger you may need to increase your heap size
but 

you can compress the address pointers.

Also, if you use JNI and it is 32-bit then you will have unexpected issues
same 
thing with any native libs your try to use.

Generally it will be up to 20% slower due to the pointers.

Recommend you stick to 32-bit if your app fits within the memory space for 
32-bit. I have heard that 64-bit jvm for version 7 might be faster than
32-bit.

Good Luck,
-Tony



- Original Message 
From: Tony Anecito adanec...@yahoo.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 12:40:43 PM
Subject: Re: IIS7/isapi/tomcat performance

JVM settings should not be the same.

Regards,
-Tony



- Original Message 
From: Bruce Pease bpe...@wth.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 11:46:35 AM
Subject: RE: IIS7/isapi/tomcat performance

Perhaps my point is being missed here.  The issue is moving from 32 bit is
slower in 64 bit (4-500% if you need a number).  Components are the same,
setup is the same, database is the same, environment is the same, tests are
the same, network is the same.  I'm basically looking to see if anyone is
using a similar setup, and has been able to get it to perform well.

-Original Message-
From: Tony Anecito [mailto:adanec...@yahoo.com] 
Sent: Monday, February 28, 2011 1:40 PM
To: Tomcat Users List
Subject: Re: IIS7/isapi/tomcat performance

I agree with Charles. I run a performance Testing group for a fortune 50
company 
and do alot of performance testing for different designs/implementation for
my 
own startup and we can not help you without further info.

Client side setup (Browser/version?)
Test cases
Network speed
Tomcat Setup (startup command line with jdk options)
Extending logging options such as request time for tomcat
Make sure your logging is set to error and not debug level on your processes 
(IIS, Tomcat, Database?)

I would use yslow with FF to get page sizes and other info. developers seem
to 
forget that the bandwidth is limited and 1MB pages are too big. Sometimes
images 
are small but the javascript is quite big especially when calling web
services 
directly,
For the middle tier a code profiler like visualvm helps quite a bit.

The key thing is narrow it down tier by tier then focus on the tier where you

see the biggest gains.
If manually you see x seconds then that is the best it will be before you
start 
tuning.
Gains in code will always be larger than that by configuration tuning unless 
logging level is set to high especially for jdbc calls.

Good luck,
Tony Anecito (JavaOne 2010 I am the future of Java winner)
Founder,
MyUniPortal (JavaOne 2010 Duke's Award Winner)
http://www.myuniportal.com


 


- Original Message 
From: Caldarale, Charles R chuck.caldar...@unisys.com
To: Tomcat Users List users@tomcat.apache.org
Sent: Mon, February 28, 2011 11:15:40 AM
Subject: RE: IIS7/isapi/tomcat performance

 From: Bruce Pease [mailto:bpe...@wth.com] 
 Subject: IIS7/isapi/tomcat performance

 In performance tests I have found the configuration runs
 dramatically slower than it's corresponding server in 32
 bit Windows on 2000 Server and Tomcat 6.

Until you quantify dramatically, better describe your testing scenario 
(including configurations of all components), eliminate as many moving pieces
as 
you can (e.g., try Tomcat standalone), and do some basic bottleneck analysis,

there's not much anyone can help you with.

- Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its

RE: Tomcat performance under low load

2010-10-19 Thread Vijay Menon

Hi Chris
Sorry about the delay in replying. I've been a bit busy with performance issues 
:)
The issue has come down to the vendor code persisting the cache as serialized 
objects to the file system and taking time to load it back, based on the 
decompiled code. The cache seems to be sufficiently tuned but for some reason, 
the file access is slow.
We haven't yet got the exact reason yet, so have to wait and see.
Vijay
From: vijay_me...@hotmail.com
To: users@tomcat.apache.org
Subject: RE: Tomcat performance under low load
Date: Sun, 17 Oct 2010 08:42:30 +1000








Thanks for the replies. Based on that, we did change the connectors to use 
executor threads. 
However, based on profiling the app, it turned out to be a code issue.
Thanks again.

From: vijay_me...@hotmail.com
To: users@tomcat.apache.org
Subject: Tomcat performance under low load
Date: Thu, 14 Oct 2010 09:35:14 +1000








Hi all
Thanks for reading this post. 
We are currently having 2 requirements that are opposites. The first 
requirement is performance under high loads and the other one is equivalent 
performance for 1 request.
Our prod env currently uses Apache with mod_jk and ajp 1.3 to Tomcat 6.0.26 and 
jdk 1.6.0_18 on solaris.
We're scaling to satisfactory loads of 250 concurrent requests serving pages in 
0.5 seconds.
The other test scenario is where the tomcat instance is kept idle and a single 
request is sent in every 90 or so seconds. In this case, the response takes 
about 8 seconds out of which about 6 seconds cannot be tracked.
As the result, what we're finding is that under high loads, it performs well 
but under very low loads, it does not.
This definitely happens in the tomcat layer as we've used the 
FastCommonAccessLogValve logger which gives the time for the request in Tomcat.
The connector properties are protocol=AJP/1.3 maxThreads=150 
minSpareThreads=25 maxSpareThreads=75 acceptCount=100 
connectionTimeout=2 disableUploadTimeout=true 
useBodyEncodingForURI=true.
I was wondering whether anyone would be able to help with this issue.
Thanks in advance
VM

Re: Tomcat performance under low load

2010-10-18 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Vijay,

On 10/16/2010 6:42 PM, Vijay Menon wrote:
 Thanks for the replies. Based on that, we did change the connectors
 to use executor threads. However, based on profiling the app, it
 turned out to be a code issue.

Glad you solved your problem. Can you tell us what your app was doing
that caused it to perform poorly under only low load? That seems like an
interesting situation.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAky8OeIACgkQ9CaO5/Lv0PBcOQCgpAfQyYx5KKbu9OwhfU5eKgC0
tAYAoLQB9VFGBr3GeOCJmTbbHzVsKqPb
=2L8d
-END PGP SIGNATURE-

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



Re: Tomcat performance under low load

2010-10-14 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Vijay,

On 10/13/2010 7:35 PM, Vijay Menon wrote:
 We're scaling to satisfactory loads of 250 concurrent
 requests serving pages in 0.5 seconds.

Excellent (assuming that 0.5 seconds is acceptable to your team).

 The other test scenario is where the tomcat instance is kept idle
 and a single request is sent in every 90 or so seconds. In this case,
 the response takes about 8 seconds out of which about 6 seconds
 cannot be tracked. As the result, what we're finding is that under
 high loads, it performs well but under very low loads, it does not.

:(

 This definitely happens in the
 tomcat layer as we've used the FastCommonAccessLogValve logger which
 gives the time for the request in Tomcat.

I'd like to echo Chuck's suggestion: take Apache httpd out of the
equation and run your load test against Tomcat directly.

 The connector properties
 are protocol=AJP/1.3 maxThreads=150 minSpareThreads=25
 maxSpareThreads=75 acceptCount=100 connectionTimeout=2
 disableUploadTimeout=true useBodyEncodingForURI=true.

If you want your server to be as efficient as possible, you should use
an Executor which will allow the request processing threads to be
destroyed during times of low activity. It's not really that big of a
deal, but it's worth mentioning.

A couple more questions:

1. How large are the requests you are processing? Is the usage profile
the same for high load versus low load situations -- other than the
actual frequency of requests, of course.

2. Are you using a database of any kind? If so, can you post the
configuration for that (minus any sensitive information, of course)?

90 seconds would be a very low timeout for a database connection, but
it's possible that you have a bottleneck in your application that
somehow only appears when you're nearly idle.

3. Is some other process running on the server during these low-load
times? Maybe some cron job or heavy reporting operation or something?

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAky3HvUACgkQ9CaO5/Lv0PDK4gCeOJaCAXqQfB4C9EA0kYdrjRpt
0pAAn2EURuQAExb7lfBahaSdG5u2cshc
=Sw5F
-END PGP SIGNATURE-

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



Tomcat performance under low load

2010-10-13 Thread Vijay Menon

Hi all
Thanks for reading this post. 
We are currently having 2 requirements that are opposites. The first 
requirement is performance under high loads and the other one is equivalent 
performance for 1 request.
Our prod env currently uses Apache with mod_jk and ajp 1.3 to Tomcat 6.0.26 and 
jdk 1.6.0_18 on solaris.
We're scaling to satisfactory loads of 250 concurrent requests serving pages in 
0.5 seconds.
The other test scenario is where the tomcat instance is kept idle and a single 
request is sent in every 90 or so seconds. In this case, the response takes 
about 8 seconds out of which about 6 seconds cannot be tracked.
As the result, what we're finding is that under high loads, it performs well 
but under very low loads, it does not.
This definitely happens in the tomcat layer as we've used the 
FastCommonAccessLogValve logger which gives the time for the request in Tomcat.
The connector properties are protocol=AJP/1.3 maxThreads=150 
minSpareThreads=25 maxSpareThreads=75 acceptCount=100 
connectionTimeout=2 disableUploadTimeout=true 
useBodyEncodingForURI=true.
I was wondering whether anyone would be able to help with this issue.
Thanks in advance
VM

RE: Tomcat performance under low load

2010-10-13 Thread Caldarale, Charles R
 From: Vijay Menon [mailto:vijay_me...@hotmail.com] 
 Subject: Tomcat performance under low load

 The other test scenario is where the tomcat instance is kept 
 idle and a single request is sent in every 90 or so seconds.
 In this case, the response takes about 8 seconds out of which
 about 6 seconds cannot be tracked.

What do you measure if you send such requests directly to Tomcat, not via httpd?

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


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



Tomcat performance tuning

2010-09-24 Thread rujin raj
Support,


I Installed tomcat 5.5.20 version in my Windows 2008 server and the java
version is Java 1.6.0.b105.We are using  2 Mbps Bandwidth Leased line.In
tomcat we hosted around 5(five) application.When the no of seesion increases
more than 1600 session the total application is slow and not able to open
the application sometime.

1) How can I tune this application in server side for better performance in
tomcat side as well as java?
2) I noticed that the current thread busy count is less but the number
session is more.What might be the problem?
3)More over for a IP more sessions are opened(noticed via Lambda probe).Is
there any problem in that?
4)What is mean by serilizable? For my application it is showing as No
5)What is mean by a)Max Threads b)Min and Max spare threads c)current thread
count and current thread busy?

Please help me


Regards
Rujinraj.
System Administrator


Re: Tomcat performance tuning

2010-09-24 Thread Ognjen Blagojevic

Rujin,


I Installed tomcat 5.5.20 version in my Windows 2008 server and the java
version is Java 1.6.0.b105.We are using  2 Mbps Bandwidth Leased line.In
tomcat we hosted around 5(five) application.When the no of seesion increases
more than 1600 session the total application is slow and not able to open
the application sometime.


In order to solve your problem, you must first determine what is the 
bottleneck of your system. Is it a) network, b) RAM, c) CPU, or d) hard 
disk? Use appropriate tools to figure that out first.


I must notice that 1600 sessions is quite a large number for 2mbps link. 
Do you invalidate sessions and do you have a session timeout setting?


Some frameworks, like JSF implementations, might introduce extensive 
session creation if not used properly. Please explain when is your 
session created and when is destroyed.




1) How can I tune this application in server side for better performance in
tomcat side as well as java?


That depends on the reason for slow down. Most of the time it is not JVM 
or Tomcat's fault, but faulty webapp.


For start, I would recommend to analyze JVM memory consumption, memory 
dump, session content, and to tweak with -Xmx and -Xms parameters, if 
you didn't already do that.


Also watch for garbage collection, how often it happens and when.



2) I noticed that the current thread busy count is less but the number
session is more.What might be the problem?


Those two are not directly related. Active busy thread count is related 
to the number of *simultaneous* requests, while active sessions might 
not issue requests at all (just waiting to be invalidated upon timeout).




3)More over for a IP more sessions are opened(noticed via Lambda probe).Is
there any problem in that?


Sorry, I don't understand this question.



4)What is mean by serilizable? For my application it is showing as No


That means that Tomcat will be able to persist your sessions to hard 
disk in case of shutdown, and to reload them upon start up. Which means 
that if your sessions are serializable, you will be able to keep them 
across Tomcat restarts, while if they are not, they will be lost.




5)What is mean by a)Max Threads b)Min and Max spare threads c)current thread
count and current thread busy?


a. Maximum number of threads Tomcat will create to answer your clients 
request. That should be over of predicted maximum number of simultaneous 
requests (not sessions!).


b. Minimum and maximum of threads that are currently not answering any 
requests. Minimum will ensure that there is available thread when new 
request comes, and maximum will ensure that JVM does not keep too many 
threads doing nothing and eating up resources.


c1. Current number of active threads processing requests, or waiting to 
process requests.


c2. Current number of active threads processing requests.


They relate like this:

thread_busy = thread_busy + spare_min = thread_active = thread_busy + 
spare_max = max_threads



-Ognjen

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



Required Help in tomcat performance optimization.

2010-07-08 Thread Harpreet singh Wadhwa
Hi,

I want to optimize the performance of tomcat.
Can anyone please point to some docs/wiki/direct answer.


Regards
Harpreet

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



RE: Required Help in tomcat performance optimization.

2010-07-08 Thread Caldarale, Charles R
 From: Harpreet singh Wadhwa [mailto:harpreetsingh.wad...@gmail.com]
 Subject: Required Help in tomcat performance optimization.
 
 I want to optimize the performance of tomcat.

You probably want to optimize the performance of your webapp first.

 Can anyone please point to some docs/wiki/direct answer.

Let's see what's in the FAQ:
http://wiki.apache.org/tomcat/FAQ/Performance_and_Monitoring

That wasn't too hard to find.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


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



tomcat performance differences between windows and linux

2010-05-28 Thread Dave Siracusa

I have created a simple web service which simulates 250 msec worth of work when 
called.

When I test this service from jmeter I make a SOAP request with 50 threads.

 

If I run this test against a Windows hosted tomcat all threads pretty much 
start at the same time and end within 10-20 msec of each other.

 

When I run the test against a linux hosted tomcat the first 30 or so threads 
are fine, the remaining pause for 1000-3000 msec and then finish.

 

I have the connector settings set to:

Connector protocol=HTTP/1.1 port=8080 address=${jboss.bind.address}
   maxThreads=250 minSpareThreads=50 maxSpareThreads=100
   enableLookups=false redirectPort=8443 acceptCount=500 debug=0
   connectionTimeout=2
   disableUploadTimeout=true /

 

I'm using the embedded tomcat in RH SOA-P 5.0.0 GA.  

I believe SOA-P hosts a version 5.5, I can verify.

I did have the opportunity to try it on a vanilla jboss server and it behaved 
the same way.

 

Windows - Windows 7 64bit

Linux - SMP x86_64 x86_64 x86_64 GNU/Linux -  Red Hat Enterprise Linux Server 
release 5.5 (Tikanga)
  * Ulimit nofile is default (1024), however doesn't climb beyond 600 during 
testing.

  * The linux server isn't doing much of anything when I'm testing.

 

Regards, 
Dave 



  

Re: tomcat performance differences between windows and linux

2010-05-28 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Dave,

On 5/28/2010 8:25 AM, Dave Siracusa wrote:
 If I run this test against a Windows hosted tomcat all threads 
 pretty much start at the same time and end within 10-20 msec of each
 other.
 
 When I run the test against a linux hosted tomcat the first 30 or so 
 threads are fine, the remaining pause for 1000-3000 msec and then
 finish.
  
 I have the connector settings set to:
 
 Connector protocol=HTTP/1.1 port=8080 address=${jboss.bind.address}
maxThreads=250 minSpareThreads=50 maxSpareThreads=100
enableLookups=false redirectPort=8443 acceptCount=500 debug=0
connectionTimeout=2
disableUploadTimeout=true /
 
 I'm using the embedded tomcat in RH SOA-P 5.0.0 GA.  
 
 I believe SOA-P hosts a version 5.5, I can verify.

When you do, please post the complete version number 5.5.what?

 I did have the opportunity to try it on a vanilla jboss server and
 it behaved the same way.
 
 Windows - Windows 7 64bit
 
 Linux - SMP x86_64 x86_64 x86_64 GNU/Linux -  Red Hat Enterprise Linux Server 
 release 5.5 (Tikanga)
   * Ulimit nofile is default (1024), however doesn't climb beyond 600 during 
 testing.
 
   * The linux server isn't doing much of anything when I'm testing.

What about network configuration? Are both servers the same distance
from you on the network?

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkv/zegACgkQ9CaO5/Lv0PDPBQCgqur1TGKEZF02hTv9z9pB4QrM
l9oAn3CnbhQAIFWecypjfDoy77GYwNmQ
=OosH
-END PGP SIGNATURE-

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



RE: tomcat performance differences between windows and linux

2010-05-28 Thread Dave Siracusa

Yes both are on the same network and same distance.  If I limit it to 30 
threads their behavior is the same.
 
As far as the version, it's an embedded 5.5 runing in jboss app server.
 
Regards, 
Dave 



 

 Date: Fri, 28 May 2010 10:06:32 -0400
 From: ch...@christopherschultz.net
 To: users@tomcat.apache.org
 Subject: Re: tomcat performance differences between windows and linux
 
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 Dave,
 
 On 5/28/2010 8:25 AM, Dave Siracusa wrote:
  If I run this test against a Windows hosted tomcat all threads 
  pretty much start at the same time and end within 10-20 msec of each
  other.
  
  When I run the test against a linux hosted tomcat the first 30 or so 
  threads are fine, the remaining pause for 1000-3000 msec and then
  finish.
  
  I have the connector settings set to:
  
  Connector protocol=HTTP/1.1 port=8080 address=${jboss.bind.address}
  maxThreads=250 minSpareThreads=50 maxSpareThreads=100
  enableLookups=false redirectPort=8443 acceptCount=500 debug=0
  connectionTimeout=2
  disableUploadTimeout=true /
  
  I'm using the embedded tomcat in RH SOA-P 5.0.0 GA. 
  
  I believe SOA-P hosts a version 5.5, I can verify.
 
 When you do, please post the complete version number 5.5.what?
 
  I did have the opportunity to try it on a vanilla jboss server and
  it behaved the same way.
  
  Windows - Windows 7 64bit
  
  Linux - SMP x86_64 x86_64 x86_64 GNU/Linux - Red Hat Enterprise Linux 
  Server release 5.5 (Tikanga)
  * Ulimit nofile is default (1024), however doesn't climb beyond 600 during 
  testing.
  
  * The linux server isn't doing much of anything when I'm testing.
 
 What about network configuration? Are both servers the same distance
 from you on the network?
 
 - -chris
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.10 (MingW32)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
 
 iEYEARECAAYFAkv/zegACgkQ9CaO5/Lv0PDPBQCgqur1TGKEZF02hTv9z9pB4QrM
 l9oAn3CnbhQAIFWecypjfDoy77GYwNmQ
 =OosH
 -END PGP SIGNATURE-
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org
 
  

Re: tomcat performance differences between windows and linux

2010-05-28 Thread Jeff Hubbs

On 5/28/10 10:06 AM, Christopher Schultz wrote:

What about network configuration? Are both servers the same distance
from you on the network?
   

That's a reasonable question.

The only thing I can add - and I wish I knew more about this than I do - 
is that Linux is configurable to a fault when it comes to process/thread 
management and it may be that RHEL 5.5 just isn't set up to be very good 
at this with the default kernel, kernel config, and /sys parameters.  
Perhaps someone else has gone the rest of the way down the same road and 
written up what they did.


You may have other things in the mix on RHEL that are superfluous, like 
LVM2 or SELinux.  It might be a more fair comparison if you don't use 
and/or disable that stuff.


- Jeff

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



Re: tomcat performance differences between windows and linux

2010-05-28 Thread Jeff Hubbs

On 5/28/10 10:27 AM, Dave Siracusa wrote:

Yes both are on the same network and same distance.  If I limit it to 30 
threads their behavior is the same.
   
By this do you mean that the timing of both systems more closely match 
each other if you produce just 30 threads on each?


As far as the version, it's an embedded 5.5 runing in jboss app server.
   

I think there still ought to be a third number there...it may be important.

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



RE: tomcat performance differences between windows and linux

2010-05-28 Thread Dave Siracusa

I think you're spot on.  I suspect the default configuration may be causing 
problems.

The box is locked down, I will need to go over it with the sysadmin.

I found: 
http://www.mastertheboss.com/en/jboss-application-server/113-jboss-performance-tuning-1.html

 

Regards, 
Dave 


 

 Date: Fri, 28 May 2010 10:35:07 -0400
 From: jhubbsl...@att.net
 To: users@tomcat.apache.org
 Subject: Re: tomcat performance differences between windows and linux
 
 On 5/28/10 10:06 AM, Christopher Schultz wrote:
  What about network configuration? Are both servers the same distance
  from you on the network?
  
 That's a reasonable question.
 
 The only thing I can add - and I wish I knew more about this than I do - 
 is that Linux is configurable to a fault when it comes to process/thread 
 management and it may be that RHEL 5.5 just isn't set up to be very good 
 at this with the default kernel, kernel config, and /sys parameters. 
 Perhaps someone else has gone the rest of the way down the same road and 
 written up what they did.
 
 You may have other things in the mix on RHEL that are superfluous, like 
 LVM2 or SELinux. It might be a more fair comparison if you don't use 
 and/or disable that stuff.
 
 - Jeff
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org
 
  

Re: httpd vs. Tomcat performance

2010-03-27 Thread André Warnier

Hassan Schroeder wrote:

Just to get this into the archives for the next time it comes up

http://tomcatexpert.com/blog/2010/03/24/myth-or-truth-one-should-always-use-apache-httpd-front-apache-tomcat-improve-perform

because I don't know if the author (a certain mthomas) will mention
it here.   :-)


Might this not also be worth preserving in the Tomcat FAQ/wiki ?


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



Re: httpd vs. Tomcat performance

2010-03-27 Thread Konstantin Kolinko
2010/3/27 André Warnier a...@ice-sa.com:
 http://tomcatexpert.com/blog/2010/03/24/myth-or-truth-one-should-always-use-apache-httpd-front-apache-tomcat-improve-perform

 Might this not also be worth preserving in the Tomcat FAQ/wiki ?


There is
http://wiki.apache.org/tomcat/FAQ/Performance_and_Monitoring
and it can be updated.

Best regards,
Konstantin Kolinko

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



Re: httpd vs. Tomcat performance

2010-03-27 Thread Auser99

Thanks for the link.

au

http://www.xprad.org/



Hassan Schroeder-2 wrote:
 
 Just to get this into the archives for the next time it comes up
 
 http://tomcatexpert.com/blog/2010/03/24/myth-or-truth-one-should-always-use-apache-httpd-front-apache-tomcat-improve-perform
 
 because I don't know if the author (a certain mthomas) will mention
 it here.   :-)
 
 (via @springsource on Twitter)
 
 -- 
 Hassan Schroeder  hassan.schroe...@gmail.com
 twitter: @hassan
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org
 
 
 

-- 
View this message in context: 
http://old.nabble.com/httpd-vs.-Tomcat-performance-tp28023360p28056376.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


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



Re: httpd vs. Tomcat performance

2010-03-25 Thread Jason Brittain
Very entertaining reading!  Thanks Chris and Mark for re-benchmarking,
explaining, and giving your opinions on the results.  I'm not entirely sure
how I missed Chris' benchmark results email, almost exactly one year ago
now.  Chris: there are no units on your results numbers, and I'm not seeing
any procedure you used, nor any configurations you used, so I'm not sure how
to interpret the numbers.  It would be great to get more information about
how the benchmark was conducted, which HTTP client was used, and what server
hardware was used.

I tried to write my benchmark such that it is fully documented and
repeatable all the way down to the configuration used on both the client and
the server, etc.  I also wanted to be completely clear and up front about
the specific scenarios I was benchmarking -- there are many more that I
wasn't -- so I wrote the explanations into the text as well.  The results
are, of course, only about the kinds of requests we're benchmarking, and
also about the configuration(s) used.  I did try to think up and benchmark
the most likely use cases for serving typical webapp content, but anyone can
say their webapp isn't like that.  :)  Plus, I tried to write my benchmark
to both inspire others to conduct and publish more benchmarks, and also to
show a detailed example of one that others could modify and re-use.  I was
hoping to see more published benchmarks by now, but each one I find is
really entertaining.

I'm happy to see that Chris' independent benchmark numbers help to show that
it is indeed a myth that Tomcat needs HTTPD in front of it in order to get
good performance serving static files.  And, it's great to see benchmark
results for file sizes that I wasn't able to benchmark.

Mark: I like your text about some of the other reasons people want to use
HTTPD -- it is spot on, and in fact there are so many modules out there for
it, there are countless logical reasons to use it.  Thanks for the
additional analysis.  It helps.

-- 
Jason


On Wed, Mar 24, 2010 at 5:50 PM, Mark Thomas ma...@apache.org wrote:

 On 25/03/2010 00:26, Hassan Schroeder wrote:
  Just to get this into the archives for the next time it comes up
 
  
 http://tomcatexpert.com/blog/2010/03/24/myth-or-truth-one-should-always-use-apache-httpd-front-apache-tomcat-improve-perform
 
 
  because I don't know if the author (a certain mthomas) will mention
  it here.   :-)
 
  (via @springsource on Twitter)

 Chris deserves a lot of the credit. Without his figures, it is just
 opinion.

 I'll have to see if I can get the graph to display as well. It is nice
 to have the hard figures but the graph gives you a quicker handle on the
 data.

 Mark




Re: httpd vs. Tomcat performance

2010-03-25 Thread Marian Simpetru
Hi ,

We have a online shop developed as a suite of JSR168 portlets. On some
portlets we list products and images (so there are about 25 images per
page + other images).
One image has around 250k.

Performance was greatly improved after we put apache httpd in front
(images served by apache  gzipped response for js, html, css). 
We  did not note  numbers, but the improvement could be seen with naked
eye.

Now, reading the article, I think we should have tried APR also :) 
But hei, there are other reasons too for using httpd, such as handful
apache modules (e.g. mod rewrite or gzip compression) 

Note: 
tomcat 6.0.18,  NOT configured with APR
running on debian linux sun jdk6 


Regards,
Marian Simpetru



On Thu, 2010-03-25 at 02:39 +0100, Rémy Maucherat wrote:

 On Thu, Mar 25, 2010 at 1:50 AM, Mark Thomas ma...@apache.org wrote:
  Chris deserves a lot of the credit. Without his figures, it is just opinion.
 
 That's the second benchmark that I see today that has odd numbers.
 
 Rémy
 
 -
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org
 


Re: httpd vs. Tomcat performance

2010-03-25 Thread Mark Thomas
On 25/03/2010 01:39, Rémy Maucherat wrote:
 On Thu, Mar 25, 2010 at 1:50 AM, Mark Thomas ma...@apache.org wrote:
 Chris deserves a lot of the credit. Without his figures, it is just opinion.
 
 That's the second benchmark that I see today that has odd numbers.

What did you think was odd?

Mark



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



Re: httpd vs. Tomcat performance

2010-03-25 Thread Mark Thomas
On 25/03/2010 07:01, Jason Brittain wrote:
 Very entertaining reading!  Thanks Chris and Mark for re-benchmarking,
 explaining, and giving your opinions on the results.  I'm not entirely sure
 how I missed Chris' benchmark results email, almost exactly one year ago
 now.  Chris: there are no units on your results numbers, and I'm not seeing
 any procedure you used, nor any configurations you used, so I'm not sure how
 to interpret the numbers.  It would be great to get more information about
 how the benchmark was conducted, which HTTP client was used, and what server
 hardware was used.

Chris's original thread had most, if not all, of that info. I did have a
reference to that in the blog post but it looks like it got garbled
somewhere in the publishing process. I'll get that fixed. In the
meantime, MarkMail should be able to find it.

 I tried to write my benchmark such that it is fully documented and
 repeatable all the way down to the configuration used on both the client and
 the server, etc.  I also wanted to be completely clear and up front about
 the specific scenarios I was benchmarking -- there are many more that I
 wasn't -- so I wrote the explanations into the text as well.  The results
 are, of course, only about the kinds of requests we're benchmarking, and
 also about the configuration(s) used.  I did try to think up and benchmark
 the most likely use cases for serving typical webapp content, but anyone can
 say their webapp isn't like that.  :)

Indeed. Benchmarks are useful guides to general trends but nothing is
going beat benchmarking your own web application with realistic usage
patterns.

  Plus, I tried to write my benchmark
 to both inspire others to conduct and publish more benchmarks, and also to
 show a detailed example of one that others could modify and re-use.  I was
 hoping to see more published benchmarks by now, but each one I find is
 really entertaining.

I think the time it takes to do a really good benchmark is a significant
barrier. I wanted to do a new benchmark for the blog post but just
didn't have the time. It is on the todo list but things like Tomcat 7
and bug fixes keep getting in the way :)

Mark



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



Re: httpd vs. Tomcat performance

2010-03-25 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Mark,

On 3/24/2010 8:50 PM, Mark Thomas wrote:
 On 25/03/2010 00:26, Hassan Schroeder wrote:
 Just to get this into the archives for the next time it comes up

 http://tomcatexpert.com/blog/2010/03/24/myth-or-truth-one-should-always-use-apache-httpd-front-apache-tomcat-improve-perform

 because I don't know if the author (a certain mthomas) will mention
 it here.   :-)

 (via @springsource on Twitter)
 
 Chris deserves a lot of the credit. Without his figures, it is just opinion.

Hey, I could have been making all that stuff up. BTW: the link on that
page to performance testing doesn't seem clickable to me (ff 3.6.2).

 I'll have to see if I can get the graph to display as well. It is nice
 to have the hard figures but the graph gives you a quicker handle on the
 data.

I'd be happy to give you my raw data plus the graphs I already did. OOo
format okay?

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkuroZQACgkQ9CaO5/Lv0PBulACgwHCDOu1ZeXP1Sufks7zQMWU3
dR8AnjKKnNR/FmYzyP8l3FKsazqAHiyo
=WbBv
-END PGP SIGNATURE-

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



  1   2   3   >