Thanks Jan! I was able to bring down performance also by using the web server to an acceptable level. You guys are just amazing and community is brilliant at posting quick reply. I am so happy that I choose JSReport for our reporting problems!
Posts made by shalinparmar
-
RE: JSReport local performance
-
RE: JSReport local performance
Here is a sample log output: (I am not killing rs.KillAsync() and kept it running and see an improvement).
+0 Starting rendering request 3
+0 Rendering anonymous template { recipe:phantom-pdf,engine:handlebars}
+10 Inline data specified.
+30 Resources not defined for this template.
+40 Base url not specified, skipping its injection.
+40 Rendering engine handlebars
+110 Taking compiled template from engine cache
+150 Replaced images []
+160 Executing recipe phantom-pdf
+7040 Converting in dedicated phantomjs 1.9.8
+7090 Request file:///C%3A%5CUsers%5Cparmars%5CAppData%5CLocal%5CTemp%5Cjsreport-temp%5Cdb27c960-c8d0-11e7-9b09-114472c202cehtml.html
+7130 Request data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAA...
+7140 Request data:image/jpeg;base64,/9j/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECA...
+7820 phantom-pdf recipe finished with 1 pages generated
+7830 Skipping storing report.
+7850 Rendering request finished 3+0 Starting rendering request 4
+0 Rendering anonymous template { recipe:phantom-pdf,engine:handlebars}
+10 Inline data specified.
+40 Resources not defined for this template.
+40 Base url not specified, skipping its injection.
+40 Rendering engine handlebars
+80 Taking compiled template from engine cache
+120 Replaced images []
+130 Executing recipe phantom-pdf
+7280 Converting in dedicated phantomjs 1.9.8
+7320 Request file:///C%3A%5CUsers%5Cparmars%5CAppData%5CLocal%5CTemp%5Cjsreport-temp%5Cf64be050-c8d0-11e7-9b09-114472c202cehtm
+7390 Request data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAA...
+7400 Request data:image/jpeg;base64,/9j/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQECA...
+8330 phantom-pdf recipe finished with 1 pages generated
+8330 Skipping storing report.
+8350 Rendering request finished 4 -
RE: JSReport local performance
Well it is not that complex a very simple template. The thing is I am using DI to inject the instance and can't exactly measure time as you suggested. I will still give it a go and share the logs.
-
RE: JSReport local performance
Yes first run ~7secs, second run ~2 seconds same as binary in my case....and even I am not killing the process. If I kill then ~7-8 seconds every request.
-
RE: JSReport local performance
Thanks for your quick response but I see better performance with Binary then web server in my case!
-
RE: JSReport local performance
Hmmmmm....I can't seem to find JSReportBinary.GetStream() method in jsreport dlls.
-
JSReport local performance
I have been using JSReport to convert the html to pdf with Phantom PDF recipe and jsreport.local and jsreport.binary packages.
I have noticed that it takes almost 3 seconds once warmed up to complete the conversion. Can you please suggest some improvement that I can do to improve its performance to ms?
-
RE: Deploying solution on Windows Server
@jan_blaha Thanks for your clarification.
Instead of "Local System" you can see the "Load User Profile" to true for IIS 7+ on your server, so that your "Service Identity" can create the JSReport socket files in "User Profile" directory and it doesn't get into any other temp folder where you won't have access.
-
RE: Deploying solution on Windows Server
@projectmavericks @jan_blaha @bjrmatos I tried putting the JSReport temp to different drives and folders but it seems that it requires "Local System" privilege irrespective of that. Can you please confirm what exact privilege it requires from "Local System" to run this successfully when configured on IIS App Pool.
-
RE: Deploying solution on Windows Server
@projectmavericks setting it to "Local System" and "CORRECT APPLICATION POOL" (so silly of me using old app pool due to clogged Dev environment!!) did the trick! phew......but not sure the "Service Account" that we are creating as part of Deployment will get that kind of privilege and hence I am asking what exact privilege is JSReport looking for when deployed on IIS.
-
RE: Deploying solution on Windows Server
@projectmavericks don't worry fixed it.....now need to see what to do with "Local System"? Do you have any suggestion on the least privilege the utility can work with?
-
RE: Deploying solution on Windows Server
@projectmavericks Can I turn on some verbose logging to find out where JSReport is failing? Why it is able to write req file but not meta file?
-
RE: Deploying solution on Windows Server
@projectmavericks yes I have tried all the tricks to no effect! What I found is that on local environment I was able to replicate and fix the issue by running the AppPool as per the Local System identity but it doesn't work in Dev and other server environments.
-
RE: Deploying solution on Windows Server
@projectmavericks well it is creating req<<>> files but not meta<<>> file, so not sure it is firewall but more of permission issue with IIS from my analysis so far. what kind of privileges is required on IIS? What are we looking for when JSReport binary is used by ASP.NET core Web API?
-
RE: Deploying solution on Windows Server
Unhandled Exception ---> System.AggregateException: One or more errors occurred. ---> System.IO.FileNotFoundException: Could not find file 'd:\temp\meta509ac238-0eda-4050-a5a1-cdba6e3218ec'.
IIS has Local System access still same problem. Is there anything else we need to do? Why is it writing request but fails to write meta file??