Jump to content
  • How to Collect Performance and Memory Data for JasperReports® Server


    Paul Jimenez
    • Version: v7.2 Product: JasperReports® Server

    Issue:

    There are minor performance issues in JasperReports® Server or you wish to collect performance and memory data for JasperReports Server for analysis. 


    Solution:

    To get started and configure and use VisualVM, you can find that information along with another wiki article here:

    https://community.jaspersoft.com/wiki/how-generate-heap-dump-or-thread-dump-using-visualvm

    Once VisualVM is configured and can be used, navigate to the "Sampler" tab. The sampling profiler works by taking thread dumps of the system at some regular interval and reporting on where it observes time being spent. Using this sampler CAN cause a minor performance hit in JasperReports Server. You can control the sampling frequency and how often VisualVM updates the visualization. You can profile either CPU or Memory. To start a profile, click on the button.

    a8.png.3a9ea4f960b4ebfe34421b991c6f9590.png

    The CPU sampling shows you where time is being spent on JasperReports Server. 

    • Self Time: shows how much time the profiler observed the listed method spend executing the method's own code.
    • Self Time (CPU): is how much CPU time was actually spent by the method.
    • Total Time: is the sum of all time spent with the method active on the stack.
    • Total Time (CPU): is how much CPU time the total time actually corresponded to.

    You can also take a snapshot of the current data. 

    The Thread CPU tab is where you can see how much CPU time is being spent by each thread. This allows you to see CPU time since starting the sampler. 

    a9.png.409915077ce6e6b34e86fb4577eae599.png

    • Thread CPU Time: is how much CPU time is being spent in each thread.
    • Thread CPU Time [ms]: is the time in miliseconds. 
    • Thread CPU Time [ms/sec]: is instant time.

    The Memory sampling shows you a live view of distribution of objects in the heap in JasperReports Server. The Heap Histogram shows the current classe being used in JasperReports Server. The Per Threads Allocation tab breaks down allocation information per thread. It also shows allocated bytes per second.

     


     


    User Feedback

    Recommended Comments

    You can save the snapshot (discussed beneath first picture) for 'offline' review.

    Example, hit CPU button, run your test-action, after your test-action completes, hit Stop, then hit the Snapshot button.   You'll see [snapshot <time>]  listed in the left frame, rightclick that and choose Save As, then you can upload the resulting .nps file to a support case or give the the .nps to someone else for opening & review in their own jvisualvm.exe offline.

    Link to comment
    Share on other sites



    Create an account or sign in to comment

    You need to be a member in order to leave a comment

    Create an account

    Sign up for a new account in our community. It's easy!

    Register a new account

    Sign in

    Already have an account? Sign in here.

    Sign In Now

×
×
  • Create New...