I want to know is there any benefit for servlet if a server enables Hyperthreading feature? I guess it should be faster than non-hyperthreading. however, I want to know how much performance HT will give servlet? like, 50% increase? anyone has real experiences? Thanks.
The % increase will also depend on the OS. With most of the BSD's you'll only see 90% of the total processing power used. So a 2GHZ CPU with HT will push the equivelent of a 3.8Ghz CPU w/o HT.
Linux's will generally have a better % than Free and Open BSD, not sure about DragonFly BSD tho. What will give you better servlet performance is the software you have running it and the JVM+OS. You may have to do some testing, but doing a JBoss vs Tomcat benchmark you should notice a big difference. I've seen JBoss run some HUGE apps at 2 to 3x the standard servlet containers.
One other item, if you are doing a lot of hard disk I/O with the servlet, then the hard disk array will probably be a lot more important than the CPU. I've seen boxes quadruple their performance by moving to a hard disk array. Identify the bottleneck and then move forward. ;-)
BEN HALSTED, Developer :: WebGroup Media LLC. Cerberus Helpdesk 2.4.0 -- Take Control of your Company Inbox!
Combat Spam. Improve Response Times. Share Knowledge. http://www.cerberusweb.com/
Originally posted by surfmanjoe I want to know is there any benefit for servlet if a server enables Hyperthreading feature? I guess it should be faster than non-hyperthreading. however, I want to know how much performance HT will give servlet? like, 50% increase? anyone has real experiences? Thanks.
The short answer is "yes". I am not sure about "Hyperthreading", but to clarify my “yes”; if your operating system and servlet container allow multithreading then the answer is definitely "yes".
Two things. I think the general answer to your Q is yes. Almost all server side actions and multithreaded now. Even if your servlet is not multithreaded itself, other system/server processes are also running.
Second thing is that the performance gain you can expect is no where NEAR 90% on ANY operating system. People are extremely happy if they get CLOSE to 90% on two _physical_ cpus. In HT you have logical cpus which mean such performance gains are not likely. The 30% figure should be good for an HT optimized application though.
Whereas SMP (two physical) can take advantage of the mere fact that there are more than one thread, HT requires other optimizations to what the threads are actually doing in order to really benefit. In SMP the CPU doesnt really care what the thread is doing (in a general sense).