Responding to your last point. If you are taking in web requests and making database queries than both the requests and the database connection are already in separate threads/processes.
In other words, if you never write a single line of multithreaded code and you use some scripting language making DB requests in a LAMP style setup, you already are setup to scale to N cores.
In other words, if you never write a single line of multithreaded code and you use some scripting language making DB requests in a LAMP style setup, you already are setup to scale to N cores.