i trying improve web application performance. right takes around 3-5 seconds web form load on browser varies 3-20 seconds. want breakdown time taken component once request dispatched particular jsp. analyze if web form issue or server configuration issue , take corrective majors accordingly.
my understanding jsps compiled class files when accessed first time on server , used on subsequent requests.
what happens on server side when request dispatched jsp? guidance on hardware configuration might performance improvement?
what happens on backend once request dispatched jsp?
a jsp page services requests servlet. thus, life cycle , many of capabilities of jsp pages (in particular dynamic aspects) determined java servlet technology.
when request mapped jsp page, web container first checks whether jsp page’s servlet older jsp page. if servlet older, web container translates jsp page servlet class , compiles class. during development, 1 of advantages of jsp pages on servlets build process performed automatically.
translation , compilation
during translation phase each type of data in jsp page treated differently. static data transformed code emit data response stream. jsp elements treated follows:
- directives used control how web container translates , executes jsp page.
- scripting elements inserted jsp page’s servlet class. expression language expressions passed parameters calls jsp expression evaluator.
jsp:[set|get]propertyelements converted method calls javabeans components.jsp:[include|forward]elements converted invocations of java servlet api.- the
jsp:pluginelement converted browser-specific markup activating applet.- custom tags converted calls tag handler implements custom tag. in application server, source servlet created jsp page named pagename in file:
domain-dir/generated/jsp/j2ee-modules/war-name/pagename_jsp.java.for example, source index page (named index.jsp) date localization example discussed @ beginning of chapter named:
domain-dir/generated/jsp/j2ee-modules/date/index_jsp.javaboth translation , compilation phases can yield errors observed when page requested first time. if error encountered during either phase, server return
jasperexception, message includes name of jsp page , line error occurred.after page has been translated , compiled, jsp page’s servlet (for part) follows servlet life cycle described in servlet life cycle:
1. if instance of jsp page’s servlet not exist, container: a. loads jsp page’s servlet class b. instantiates instance of servlet class c. initializes servlet instance calling jspinit method 2. container invokes `_jspservice` method, passing request , response objects. if container needs remove jsp page’sservlet, calls
jspdestroymethod.execution
you can control various jsp page execution parameters using page directives. directives pertain buffering output , handling errors discussed here. other directives covered in context of specific page-authoring tasks throughout chapter.
buffering
when jsp page executed, output written response object automatically buffered. can set size of buffer using following page directive:
<%@ page buffer="none|xxxkb" %>a larger buffer allows more content written before sent client, providing jsp page more time set appropriate status codes , headers or forward web resource. smaller buffer decreases server memory load , allows client start receiving data more quickly.
handling jsp page errors
any number of exceptions can arise when jsp page executed. specify web container should forward control error page if exception occurs, include following page directive @ beginning of jsp page:
<%@ page errorpage="file-name" %>
read more.
any guidance on hardware configuration might performance improvement?
buy more ram , more expensive chip, use ssd hard disk, cdn (content delivery network) etc.
you don't ask how tuning performance programmatic way. althought, think link helpful you.
Comments
Post a Comment