I have some confusions like-
1. Which all listener should be used to completely analyze our Application ?
2. How to identify the bottlenecks ? (This is the major question)
3. How should I create the report ?
Your question isn't very trivial but I'll try to answer.
You should disable View Results Tree listener and all Graphs at least. Personally I would recommend to examine all properties which start with jmeter.save.saveservice and enable only those, which are really required.
If you aren't integrating your result files with 3rd party software which require XML format you can "tell" JMeter to save results as CSV as follows:
They can be parsed with Excel or equivalent.
In general it's the most tricky process. If there are any errors connected with concurrency during load test - something is wrong. In addition you will need to monitor health of application under test and if response time is increasing as performance test goes on that something is wrong with your application. The best option to identify what exactly is using a profiler.
As I have already mentioned, the easiest way is telling JMeter to save results as CSV file and opening it with Excel, LibreOffice, Google Docs or whatever. However there are several more options:
The short answer is the Simple Data Writer can provide you with the raw data that you need to analyse a test. It will export raw measurements in either CSV or XML format. Then you can analyse them in whatever tool you choose.
Use the CSV format for basic page response information, and if you're limited to working with Excel for your visualisation that will make life easier.
My preferred option is the XML format. The benefits of this format are:
What you do with the XML data is up to you. I've created a Perl script which loads the data into a MariaDB database. I then connect to that directly using Tableau Desktop to view the results.