I wouldn't run the DB and App Servers on the same boxes / VMs. Keep them seperate.
For 150 Concurrent Users in 7.5 you *should* be able to get away with 3 UI App Servers, 1 Cron / MIF App Server (Depending on how many Crons / Escalations you have running and MIF traffic you have ) And potentailly a single Reporting Server.
Have 2 DB servers in an active/passive cluster ( you can than point your Reporting Server at the Passive DB Server ).
As folks have alluded to I would look at using performance simulation tools i.e Rational Performance Tester / HP Load Runner to simulate as best as possible what your Production enviroment is doing day to day. In order to tune before production deployment, make sure you have strict (as possible) metrics in mind that you want to hit (i.e it should take no longer than x seconds to change the Status of a Work Order), else you end up in tuning hell that will never end (users will always want the system to run faster!)
Then look at analyising Oracle AWRs to tune the Oracle memory settings, look for long running SQL qurieies etc.
Also look at analysing the App Server GC logs and Maximo logs to look for any issues.
Use this document to help:
https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/IBM+Maximo+Asset+Management/page/Best+practices+for+performance
Any questions feel free to shout.
#Maximo#AssetandFacilitiesManagement