The number of children should be primarily based on amount of RAM you have rather than CPU cores, otherwise you'll end up swapping, and no amount of CPUs will help you there.
To work it out is pretty simple. When running your application under "normal" load:
ps -ylC php5-fpm --sort:rss
RSS column will show non-swapped physical memory usage by php5-fpm processes in KB. So, best value for pm.max_children can be calculated as:
pm.max_children = Total RAM dedicated to the web server / Max child process size. In my case it was around 50MB per process, and if I wanted to leave 768MB for php5-fpm:
pm.max_children = 768MB / 50MB = 15.
pm.start, min etc just requires tweaking. Keep in mind you'll need to redo this with any major application (php) upgrade, php config change (xcache settings etc).
If you want to test high load:
https://www.blitz.io is pretty good. Keep an eye on your httpd/php5-fpm error logs during the test to see where limits are reached.