You should just run it on one or two CPUs (most dual CPU boxes have a single cpu kernel installed as well you can choose when booting the box) and see what kind of difference you get right off the bat.
If it takes 30 seconds to do something with a UP (Uniprocessor) kernel, and you drop to 17 seconds with an SMP (Symmetric MultiProcessor), the best you could probably have expected was 15, so that's great. If it drops to 29, then yes, you'll need to look at some way to speed up your requests.
But gang issuing your SQL queries is really only gonna help if you only have one user at a time on the machine. As soon as you have two doing the same thing, you're right back to where you woulda been without threading, unless caching might be helped by threading.
The MySQL engine is multi-threaded from what I understand, but that doesn't necessarily make it faster for certain things, like single sets of queries, but is for others, like handling higher parallel load.
If you need >1 CPU to handle the load of one user, you have a CPU hog of a program, and it could probably use some index optimization or redesign work in some way, unless it's just slinging HUGE chunks of data, in which case it might be better to pre-process your nice normalized data into an materialized view or an minutely/hourly/dayly updated table you server static from, or even one that only updates after the main tables update.
Look for a more efficient way to deliver the data to the customer...