You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@tuscany.apache.org by "Dietrich, Björn" <B....@cenit.de> on 2010/02/19 09:12:27 UTC
Increase number of Worker Threads.
Hi,
I noticed that when sending a lot of requests to the internal jetty server that the workload is
distributed to 10 threads. From 11th request on the requests are queued.
2010-02-18 14:25:00,342 INFO [pool-1-thread-7] de.cenit.std.SleepService: Called de.cenit.std.SleepService
2010-02-18 14:25:00,342 INFO [pool-1-thread-7] de.cenit.std.SleepService: Property from SleepService.composite: myValue
2010-02-18 14:25:00,342 INFO [pool-1-thread-7] de.cenit.std.SleepService: Sleep Service Ausgabe1
2010-02-18 14:25:02,195 INFO [pool-1-thread-4] de.cenit.std.SleepService: Called de.cenit.std.SleepService
2010-02-18 14:25:02,195 INFO [pool-1-thread-4] de.cenit.std.SleepService: Property from SleepService.composite: myValue
2010-02-18 14:25:02,195 INFO [pool-1-thread-4] de.cenit.std.SleepService: Sleep Service Ausgabe1
I suppose this limitation is due to the creation of the TreadPoolWorkerManager
by the following statement:
jsr237WorkManager = new ThreadPoolWorkManager(10);
This statement can be found in Tuscany 1.5 DefaultWorkScheduler.java line 65
and also in older Version of the source (eg. 1.0.1 Jsr237WorkScheduler.java Line 50 )
>From my current understanding Tuscnay uses a fixed thread pool, while jetty standalone
dynamicly increases the number of threads (upper limit configurable by maxThreads property)
How can I increase the number of worker threads ?
Is there a configuration file or do I have to create a patch ?
thanks for your fine work
Greetings
Björn
CENIT AG, Industriestrasse 52-54, 70565 Stuttgart, Tel.: +49 711 7825-30, Fax: +49 711 7825-4000, Internet: www.cenit.de
Geschaeftsstellen: Berlin, Duesseldorf, Frankfurt, Hamburg, Hannover, Muenchen, Oelsnitz, Saarbruecken
Vorstandsmitglieder: Kurt Bengel, Christian Pusch
Aufsichtsratsmitglieder: Andreas Schmidt (Vorsitzender des Aufsichtsrats), Hubert Leypoldt, Andreas Karrer
Bankverbindungen:
Deutsche Bank (BLZ 600 700 70) Kto. 1661 040 IBAN : DE85 6007 0070 0166 1040 00 SWIFT-CODE : DEUTDESS,
Commerzbank (BLZ 600 400 71) Kto. 532 015 500 IBAN : DE83 6004 0071 0532 0155 00 SWIFT-Code : COBADEFF600,
BW-Bank (BLZ 600 501 01) Kto. 2 403 313 IBAN : DE17 6005 0101 0002 4033 13 SWIFT-Code : SOLADEST
Registergericht: Amtsgericht Stuttgart
Handelsregister: HRB Nr. 19117
Umsatzsteuer: ID-Nr. DE 147 862 777
Re: Increase number of Worker Threads.
Posted by Raymond Feng <en...@gmail.com>.
Hi,
The 1.5.1 and 1.6 release should already fix the problem. Now we do:
jsr237WorkManager = new ThreadPoolWorkManager(0);
It in turns calls:
/**
* Initializes the thread-pool.
*
* @param threadPoolSize Thread-pool size. If the size <1, then a cached pool is created
*/
public ThreadPoolWorkManager(int threadPoolSize) {
ThreadFactory factory = new ThreadFactory() {
public Thread newThread(Runnable r) {
Thread thread = new Thread(r);
thread.setDaemon(true);
return thread;
}
};
if (threadPoolSize <= 1) {
// Creates a new Executor, use a custom ThreadFactory that
// creates daemon threads.
executor = Executors.newCachedThreadPool(factory);
} else {
executor = Executors.newFixedThreadPool(threadPoolSize);
}
}
So we should get a cached thread pool.
http://svn.apache.org/repos/asf/tuscany/sca-java-1.x/tags/1.5.1/modules/core/src/main/java/org/apache/tuscany/sca/core/work/DefaultWorkScheduler.java
Thanks,
Raymond
From: "Dietrich, Björn"
Sent: Friday, February 19, 2010 12:12 AM
To: user@tuscany.apache.org
Subject: Increase number of Worker Threads.
Hi,
I noticed that when sending a lot of requests to the internal jetty server that the workload is
distributed to 10 threads. From 11th request on the requests are queued.
2010-02-18 14:25:00,342 INFO [pool-1-thread-7] de.cenit.std.SleepService: Called de.cenit.std.SleepService
2010-02-18 14:25:00,342 INFO [pool-1-thread-7] de.cenit.std.SleepService: Property from SleepService.composite: myValue
2010-02-18 14:25:00,342 INFO [pool-1-thread-7] de.cenit.std.SleepService: Sleep Service Ausgabe1
2010-02-18 14:25:02,195 INFO [pool-1-thread-4] de.cenit.std.SleepService: Called de.cenit.std.SleepService
2010-02-18 14:25:02,195 INFO [pool-1-thread-4] de.cenit.std.SleepService: Property from SleepService.composite: myValue
2010-02-18 14:25:02,195 INFO [pool-1-thread-4] de.cenit.std.SleepService: Sleep Service Ausgabe1
I suppose this limitation is due to the creation of the TreadPoolWorkerManager
by the following statement:
jsr237WorkManager = new ThreadPoolWorkManager(10);
This statement can be found in Tuscany 1.5 DefaultWorkScheduler.java line 65
and also in older Version of the source (eg. 1.0.1 Jsr237WorkScheduler.java Line 50 )
>From my current understanding Tuscnay uses a fixed thread pool, while jetty standalone
dynamicly increases the number of threads (upper limit configurable by maxThreads property)
How can I increase the number of worker threads ?
Is there a configuration file or do I have to create a patch ?
thanks for your fine work
Greetings
Björn
CENIT AG, Industriestrasse 52-54, 70565 Stuttgart, Tel.: +49 711 7825-30, Fax: +49 711 7825-4000, Internet: www.cenit.de
Geschaeftsstellen: Berlin, Duesseldorf, Frankfurt, Hamburg, Hannover, Muenchen, Oelsnitz, Saarbruecken
Vorstandsmitglieder: Kurt Bengel, Christian Pusch
Aufsichtsratsmitglieder: Andreas Schmidt (Vorsitzender des Aufsichtsrats), Hubert Leypoldt, Andreas Karrer
Bankverbindungen:
Deutsche Bank (BLZ 600 700 70) Kto. 1661 040 IBAN : DE85 6007 0070 0166 1040 00 SWIFT-CODE : DEUTDESS,
Commerzbank (BLZ 600 400 71) Kto. 532 015 500 IBAN : DE83 6004 0071 0532 0155 00 SWIFT-Code : COBADEFF600,
BW-Bank (BLZ 600 501 01) Kto. 2 403 313 IBAN : DE17 6005 0101 0002 4033 13 SWIFT-Code : SOLADEST
Registergericht: Amtsgericht Stuttgart
Handelsregister: HRB Nr. 19117
Umsatzsteuer: ID-Nr. DE 147 862 777