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!