Got a mod_perl-written serverside program. Im using shared apache worker mpm memory with one process only, and ~ 60 threads. Im using locks to temporary secure the access to the shared memory, just 0.1s out of 1.7s are locked time though.
The problem is that i get the same speed on 10 sequential requests compared to 10 concurrent requests.
my stress-script fire up n number of heavy URL process-requests with 0.1s delay between each. The number in brackets is the request number.
perl stressTestServer.pl n=1
DONE ( 0 ) > 1.778257 sek
perl stressTestServer.pl n=5
DONE ( 3 ) > 8.71926 sek
DONE ( 0 ) > 8.85207 sek
DONE ( 1 ) > 8.976061 sek
DONE ( 4 ) > 9.119936 sek
DONE ( 2 ) > 9.218552 sek
perl stressTestServer.pl n=10
DONE ( 9 ) > 8.840539 sek
DONE ( 7 ) > 9.130133 sek
DONE ( 8 ) > 9.271598 sek
DONE ( 6 ) > 9.873936 sek
DONE ( 5 ) > 10.02668 sek
DONE ( 4 ) > 18.169001 sek
DONE ( 3 ) > 18.432776 sek
DONE ( 2 ) > 18.617186 sek
DONE ( 1 ) > 18.775277 sek
DONE ( 0 ) > 18.821972 sek
is this normal for this setup? this is tested on a dual-core. moving to a quad core, what performance difference can i expect with this setup? I have a hard time believing more cores will help here.. feels like serialized execution could be more efficient than concurrent threads.
tx for input!