It sounds like you need more of a test plan than a suggestion of tools to use. In performance testing, it is best to look at the users of the application -
- How many will use the application on a light day? How many will use the app on a heavy day?
- What type of users make up your user population?
- What transactions will each of these user types perform?
Using this information, you can identify the major transactions and come up with different user levels (e.g. 10, 25, 50, 100) and percentages of user types (30% user A, 50% user B, ...) to test these transactions with. Time each of these transactions for each test you execute and examine how the transaction times change as compared to your user levels.
After gathering some metrics, since you should be able to narrow transactions to individual pieces of code, you will be able to know where to focus your code improvements. If you still need to narrow things down further, finer tests within each transaction can be created to provide more granular results.