Tuning database engines and the operating system is usually under the configuration management control of the administrator, while applications are subject to processes that are outside the administrator's control. Applications are not addressed in this article. Keep in mind that the application is separate from the database and the database engine is separate from the OS it runs on and that OS connects to a network. This layer architecture is a way I think of the performance problems that tuning will fix.
Many problems are where the layers interface.
Analyze the system. Look at net traffic, OS stats, DB stats. The system is a whole, so compare the stats together to get a view of what the system is doing. Track the the problems. Make a list of down times, batch fails, slow performance, etc.