Test the performance of JSP application
is there any trusted tools to test the performance of jsp web applciation with JDBC code ?
i need to test the performnce wth huge number of users ,
thanks
Hello,
I think the author I already mentioned used this: http://grinder.sourceforge.net/
It is for free.
We have been writing our own tool. The tool was actually not difficult. Problematic was the interpretation of the results. I can only advise you to keep a good protocol about what you have been meassuring an how you did this. Otherwise people will come up with strange ideas about the results of your loadtest.
You have to keep an eye on system ressources: The memory of the boxes involved, but also silly things like available connections. By opening and closing socket connections, we managed to run out of ressources on a SUN pretty fast...
Please be also aware that a loadtest, ..well produces load. Since we were testing a system where the middletier called up to the mainframe for data, we had to pick late hours for our test. At one evening we took 50% of the capacity of the mainframe... Don't underestimate the time it needs for negotiating and scheduling such meassurements!
good luck,
einar
Similar Messages
-
How to test the performed SAP SCRIPT
Hi friends can any one help for
how to test the performed SAP SCRIPT. What are the necessary codes or anything else for performing itPraveen,
Can you be much clear with your query? What do you mean by performing? Do you mean how to execute it ?
Regards,
Vinod. -
How to increase the performance of an Application
Hi,
I am using jdeveloper11.1.1.2.0 and weblogic server10.3.2.I have lot of txn in the database.when click the txn menu then page landing is very slow.My Txn data is 24thousands records.
My RAM is 8GB and 64bit machine .So how to fast my application?Is any idea then Please help me.
Thanks
AnupHi Frank,
I have follow the below link but there is no performance effect of my application.
http://www.gebs.ro/blog/oracle/adf-view-object-performance-tuning-analysis/
On VO level ,In Tuning
I have modified In batch Of 26 ,As needed ,and Query Optimizer hints FIRST_ROWS_26
AND ON the page level ,Table Column Property,Fetch size i have modified 26 and page definition level ExchangeTradedPlacementHeadVOIterator default range size is 25.
So i have above change but there is no effect on the performance of my application.
Please give me the Solution what will i do to increase the performance of an application.
Thanks
Anup -
How to improve the performance of Swing Application?
My project is a Swing based application which uses java 1.2.1 API.
The problem is my application is very slow and gets hung many times, inspite of the system configuration being good ( 256 Mb RAM, 733MHz processor).
Do give me some suggestions to improve the performance.
Regards,
sudhakarThe system configuration is more than enough to run java applications.
You are probalbly doing time-consuming operations in the event thread. Which blocks the event thread and the gui seems not to be responding. If you you have a very bad design.
Use a thread for time consuming operations. -
Regarding the performance comparision of application/web servers
i want the details of performance comparision of application/web servers and which is the best, efficient and easy to use.
Try google.
However for the most part the performance is not related to the application/web server that you use.
It more depends on
- the machine you are running it on
- what code you are running on it.
With regards to "best", you can debate that forever.
Tomcat is widely used, mainly because it is free. But it is solid. -
Number of elements in the FP affecting the performance of my application ?
I developed a simple application which consists of aquiring a signal through a channel of a PXI 5102 module and commanding some relays of a SCXI 1161 module.
This application has the following features :
-The user can, at any time, change the configuration of the PXI 5102 module.
-The signal acquired can be saved to a file whenever the user wants.
-Instead of showing the signal acquired through the PXI 5102 channel, the user can load a given file which contains a saved signal.
-The user can increase or decrease the pressure on a line through a VI that commands SCXI 1161 relays.
As you can see, it is a fairly simple application but the problem is that it have been running for a time the fron
t panel crashes. Is it because the high number of elements I have in the front panel ?
To give you more information I tell you that the processes of saving, loading, decreasing and increasing the pressure on the line are event cases of an event structure.
The front panel consists of a tab structure, 20 controls and indicators and a cluster consisting of 9 controls.No error take place. By crashing I mean that after a period of time the frontpanel control´s response to inputs of the user become so slow that after a short time there´s no response at all.
The problem is that I´ve been dealing with this problem in this aplication for quite a while and although I´ve optimized, I think, its execution time and the way it deals with memory usage this problem persists.
Since most of the operations performed by it depends on inputs by the user I´ve decided to use an event structure to manage them and decided to load the VIs related to them dynamically into memory to somewoh optimize memory usage.
In order to make things more clear to you I´m sending you a zipped file containing pics that completely describe the frontpane
l ad the block diagram of the appliction.
Any help you can give will be deeply appreciated.
PS : I´ve tried to sent the zipped file but awindow appeared notifying me that Developer Exchange is down for maintenance. If you need any more information to clarify what I mean please let me know.
Sincerely,
Giovani Marcelino Nesi
DRV Desenvolvimento e Representação Virtual Ltda. -
Optimizing the Performance of J2EE Applications
received this invitation to an webinar that will interest many of you
Topics to be Covered:
- Deep transaction breakdown from end-user to backend system
- Identifying bottlenecks
- Spotting synchronization and deadlock issues
- Isolating slow methods
- Solving memory leaks
Date:
Wednesday, November 12, 2003
Time:
10:00 a.m. - 11:00 a.m. (EDT)
in this webinar, please RSVP to Kimberly Buzzell at
(770) 677-1048Hello,
I think the author I already mentioned used this: http://grinder.sourceforge.net/
It is for free.
We have been writing our own tool. The tool was actually not difficult. Problematic was the interpretation of the results. I can only advise you to keep a good protocol about what you have been meassuring an how you did this. Otherwise people will come up with strange ideas about the results of your loadtest.
You have to keep an eye on system ressources: The memory of the boxes involved, but also silly things like available connections. By opening and closing socket connections, we managed to run out of ressources on a SUN pretty fast...
Please be also aware that a loadtest, ..well produces load. Since we were testing a system where the middletier called up to the mainframe for data, we had to pick late hours for our test. At one evening we took 50% of the capacity of the mainframe... Don't underestimate the time it needs for negotiating and scheduling such meassurements!
good luck,
einar -
How to improve the performance of applications in Oracle Application Server 9i ?
I have my applications deployed to Oracle 8.1.7 database using OSE in Oracle Application Server 9i. My machine has 256 MB RAM. It has both Oracle Application Server and Oracle 8i database server installed on it. When I try running my applications I find they are very slow. Can I get some guidelines using which I can better the performance of my Application? It can be in the form of code, memory ,disk space etc.
Thanks in advance,
Regards,
krithika.
nullThe system configuration is more than enough to run java applications.
You are probalbly doing time-consuming operations in the event thread. Which blocks the event thread and the gui seems not to be responding. If you you have a very bad design.
Use a thread for time consuming operations. -
Bc4j,dacf:[3.2.3] Searching for the performance boost switch
As I mentioned in the thread http://technet.oracle.com:89/ubb/Forum2/HTML/008025.html
I am investigating the performance of an application.
Some new Information on this. I get some speedup by deactivating the locking. But the app is not really responsive. Paging down a grid takes about 4-6sec per page. Another test showed that there is no difference if I use one table or a join.
Now I made some JSP. These are running real fast. The normal pages load under 2sec.
So far I can see the problems seems to in the communication between the BC4J and the DACs.
Has anyone some optimization suggestion? (I use the generated frames and JSPs)
BerndHi Bernd,
currently I try to speed up our application that is based on applets and DACFs in local deployment mode, too.
Here are my results and I would like to discuss my observations within this thread:
- Startup time (login) about 30 sec. is normal and can't be improved programmatically.
- Use JDK 1.3 (The Swing stuff is improved a lot and the dacs are derived from them).
- Use Lov-Controls instead of Comboboxes wherever possible.
- Trace the sql-statements generated by the business-components and analyze the results. Mybe your code executes some queries unnecessarily.
- Build a prototype of a form with high complexity (much business logic) and check if this speed is sufficent for all your clients - this should be a KO-Criteria! If this test fails, you have to search for another architecture (JSPs).
But the most boostable advice is this: Try to reduce the data-transfer between your forms and the database as much as you can.
* Using a grid control is very convenient, but is it really necessary to fill it with a statment like SELECT * FROM BLAH_TABLE...?
* SetRestrictedQuery(...) with a parameter to reduce the transfer fo the query results of the LOV control.
* ViewLinks are fine - they fetch the detailed information only when its necessary.
* I doubt, that it will be a good three tier server side component design, but what about defining a View for complex joins in the database and wrap a bc-entity around it (of course you have to rethink your UI) instead of setting up different entities, views and view-links in the bc-layer?
What I really want to know is, if putting the bc-tier in the database will end up in better response time for applets. I won't go on this last adventure trip, if I'm not convinced that it will be worth the effort.
Can anyone admit or am I wrong in some points?
Have fun!
@i -
How was performance of JavaFX Application
Hi all,
I read one forum about JavaFX performance related information.. they mentioned like this..
The first thing you’ll notice is that it’s very slow. The demo takes a very long time to load and start, and real time performance is disappointing. Here is how it compares:
JavaFX — 14 fps
Firefox + Silverlight (JavaScript) — 56 fps
Firefox + Flex — 62 fps
Adobe AIR — 62 fps
Firefox + Silverlight (CLR) — 99 202 fps (update: 202 fps after fixing main timer’s latency)
(All tests were performed on Pentium M 1.7 machine under Windows XP SP2)
It is 4.4x slower than Flash and 7x 14x slower than Silverlight (CLR-based variant).
On a positive side, development with JavaFX is fun, the language is very compact and efficient for building complex dynamic layouts. There is a great converter to JavaFX from SVG format and JavaFXPad is done nicely too.
I want to know that how was the performance of JavaFX application.??
It seems that very slow while running on WebBrowser.. ???
Thanks
R Prabulol
work with more memory h�h�....
no serious make sure that your garbagecollector is run very often you can make your own if you want...
work with servlets...
hope i helped you out -
Any parameter to measure the Performance between two server
Currently I am running more 20 dvlp database in 2 cpu 2 GB RAM Windows2000
server
We are curently in process of upgrading the infarasturcutre
We are moving the DB the a 2003 STD R 2 server with 4gb Ram and 2 processor
I ahve configure everything in the new server except Moving of Dbs from old to NEW server
versions 8,9 10gr2
But starngley i feel the new server performs slowly when compared to old server not frpm DB point of view but while copying between different disks in the same NEW server
It takes long time than usual across our office
Tomorrow i will be moving a few DBS to the new machine
Everythinh s going to be same in the Init.ora.No change in SGA or INIT parameters execept the driectory structure
i want run the DBs in OLD and NEW machine and compare the response time
Willbe sufficent enough to give an idea whether the new server is performing better or worse
Any susgestions
Message was edited by:
Maran ViswarayarI don't think so, it depends on the way you conduct
your testing environment, how you build it, and
what's the goal of this test. I wouldn't name it
synthetic test, I name it standarized test
environment.Just to be clear, I have nothing against doing synthetic tests, and I don't intend "synthetic" to be in any way derogatory. This sort of testing can be quite valuable. You just need to be careful about extrapolating the performance of this sort of testing to the performance that your application will actually achieve. Since the workload your application is performing is generally going to be quite different than the synthetic workload you're describing, the comparison may not be direct.
OS performance metrics can be gathered directly with
the OS party. But knowing exactly how your database
will perform in your specific environment ... You'll
have to make up a testing environment.All true. Knowing how your database will perform, particularly on I/O intensive operations, though, doesn't tell you how a particular application running in your database may perform. Your application may, for example, be CPU bound or may be doing very non-random IO operations.
Given that the original poster is seeing odd disk behavior, and his primary concern is with the IO subsystem, I would suggest starting the test there.
Performance problems have always been multifactorial,
and this always makes a tuning approach to be
obscure. Unless a professional has enough practical
experience, it becomes a black box problem where
interactig subsystems will make it difficult the goal
of finding the most meaningful performance thread and
its interactions.Very true
I have used this test approach and it has assisted me
in obtaining an environment free of subjectivities
where I have been able to benchmark Oracle behaviour
on different platforms.
This kind of test has also helped me in creating
controled stressing situations where I can
proactively plot potential bottlenecks and meassure
different rdbms architectural aspects such as
transactional mechanism, sorting, undo segments,
latches, networking, etc. just to name a few, at
different load scenarios.Synthetic test loads are excellent for this sort of database performance investigation, agreed.
It is sometimes difficult to find hundreds of
volunteers to test the application to find the point
of maximum sessions with minimum response time. This
testing approach has been useful in hiring a variable
number of virtual volunteers that are willing to test
the environment any time. So it has also allowed me
to create useful reports, such as the "users load vs.
response time" which helped me in predicting my
system operational ceilings, and it has been pretty
accurate.If we're talking about testing application performance, rather than testing generic database performance, I'd maintain that you shouldn't need any volunteers. You should have scripts that replicate the key business operations the application does and you should have a harness that can start up arbitrary numbers of concurrent sessions (admittedly, you may need a handful of volunteers to launch these scripts from a sufficient number of laptops).
It all depends on the way you define your test
environment.100% agreed.
Justin -
How to optimize Database Calls to improve performance of an application
Hi,
I have a performance issue with my applications. It takes a lot of time to load, as it is making several calls to the database. And, moreover, the resultset has more than 2000 records that are returned. I need to know what is the better way to improve the performance
1. What is the solution to optimize the database calls so that I can improve the performance of my application and also improve on the trun around time to load the web pages.
2. Stored procedures are a good way to get the data from the result set iteratively. How can I implement this solution in Java?
This is very important, and any help is greatly appreciated.
Thanks in Advance,
Sailathalatha_kaps wrote:
I have a performance issue with my applications. It takes a lot of time to load, as it is making several calls to the database. And, moreover, the resultset has more than 2000 records that are returned. I need to know what is the better way to improve the performance
1. What is the solution to optimize the database calls so that I can improve the performance of my application and also improve on the trun around time to load the web pages.
2. Stored procedures are a good way to get the data from the result set iteratively. How can I implement this solution in Java?
This is very important, and any help is greatly appreciated.1. 2000 records inside a resultset are not a big number.
2. Which RDBMS you use?
Concerning the answer to 2. you have different possibilities. The best thing is always to handle as many transactions as possible inside the database. Therefore a stored procedure is the best approach imho.
Below there is an example for an Oracle RDBMS.
Assumption #1 you have created an object (demo_obj) in your Oracle database:
create type demo_obj as object( val1 number, val2 number, val3 number);
create type demo_array as table of demo_obj;
/Assumption #2 you've created a stored function to get the values of the array in your database:
create or replace function f_demo ( p_num number )
return demo_array
as
l_array demo_array := demo_array();
begin
select demo_obj(round(dbms_random.value(1,2000)),round(dbms_random.value(2000,3000)),round(dbms_random.value(3000,4000)))
bulk collect into l_array
from all_objects
where rownum <= p_num;
return l_array;
end;
/For getting the data out of database use the following Java program (please watch the comments):
import java.sql.*;
import java.io.*;
import oracle.sql.*;
import oracle.jdbc.*;
public class VarrayDemo {
public static void main(String args[]) throws IOException, SQLException {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection(
"jdbc:oracle:oci:@TNS_ENTRY_OF_YOUR_DB", "scott", "tiger"); // I am using OCI driver here, but one can use thin driver as well
conn.setAutoCommit(false);
Integer numRows = new Integer(args[0]); // variable to accept the number of rows to return (passed at runtime)
Object attributes[] = new Object[3]; // "attributes" of the "demo_obj" in the database
// the object demo_obj in the db has 3 fields, all numeric
// create an array of objects which has 3 attributes
// we are building a template of that db object
// the values i pass below are just generic numbers, 1,2,3 mean nothing really
attributes[0] = new Integer(1);
attributes[1] = new Integer(2);
attributes[2] = new Integer(3);
// this will represent the data type DEMO_OBJ in the database
Object demo_obj[] = new Object[1];
// make the connection between oracle <-> jdbc type
demo_obj[0] = new oracle.sql.STRUCT(new oracle.sql.StructDescriptor(
"DEMO_OBJ", conn), conn, attributes);
// the function returns an array (collection) of the demo_obj
// make the connection between that array(demo_array) and a jdbc array
oracle.sql.ARRAY demo_array = new oracle.sql.ARRAY(
new oracle.sql.ArrayDescriptor("DEMO_ARRAY", conn), conn,
demo_obj);
// call the plsql function
OracleCallableStatement cs =
(OracleCallableStatement) conn.prepareCall("BEGIN ? := F_DEMO(?);END;");
// bind variables
cs.registerOutParameter(1, OracleTypes.ARRAY, "DEMO_ARRAY");
cs.setInt(2, numRows.intValue());
cs.execute();
// get the results of the oracle array into a local jdbc array
oracle.sql.ARRAY results = (oracle.sql.ARRAY) cs.getArray(1);
// flip it into a result set
ResultSet rs = results.getResultSet();
// process the result set
while (rs.next()) {
// since it's an array of objects, get and display the value of the underlying object
oracle.sql.STRUCT obj = (STRUCT) rs.getObject(2);
Object vals[] = obj.getAttributes();
System.out.println(vals[0] + " " + vals[1] + " " + vals[2]);
// cleanup
cs.close();
conn.close();
}For selecting 20.000 records it takes only a few seconds.
Hth -
How to Improve the performance of a querry.
Hi All,
I have written a querry in a report.In quality environment,this querry is failing due to larger data there.Now i have used package size to improve the querry.But how do i test the performance of querry.
Any transaction where i can see how much time this querry was takin earlier and how much it is now?
Regards,
Saket.FOR CHECKING THE PERFORMANCE OF UR QUERY
USE THE TRANSACTION CODE
SQL TRACE
T CODE - ST O5
regards,
sharad. -
Create both onscreen and database storage JSP application
Hi,
My JSP application is a JSP form with name, address, phone number, etc. and a submit button. The output currently shows onscreen with no database connection. Can someone please tell me how I store this in the Oracle database and would it be possible to do both - show the output on screen and also store it in the database.
TIA,
Sassan
Code:
Create jsp form:
<html>
<head>
<title>Create Form</title>
</head>
<body>
<form action="/Create_Form_html/RetrieveFormData.jsp" method="post">
<table align="center" cellspacing="2" cellpadding="2" border="1">
<tr>
<td colspan="3">
<b>Company Name:</b>
<%
String company = request.getParameter("company");
if ( company != null ) {
%>
<input type="text"
name="company name"
value="<%=company %>"
size="40" maxlength="40">
<%
else {
%>
<input type="text"
name="company name"
size="40"
maxlength="40">
<%
%>
</td>
<tr>
<td colspan="3">
<b>Street:</b>
<input type="text"
name="street"
size="43"
maxlength="43">
</td>
</tr>
<tr>
<td>
<b>City:</b>
<input type="text"
name="city"
size="20"
maxlength="20">
</td>
<td>
<b>State:</b>
<input type="text"
name="state"
size="2"
maxlength="2">
</td>
<td>
<b>Zip:</b>
<input type="text"
name="zip"
size="5"
maxlength="5">
</td>
</tr>
<tr>
<td>
<input type="Submit" value="Submit">
</td>
</tr>
</table>
</form>
</body>
</html>You can use JDeveloper's Data Web Beans - these are data-aware controls for JSPs.
Start by creating a JSP from scratch using the Business Components JSP application wizard. Instructions are in the online documentation, under:
User Guides
->Developing Applications
->Developing Web Applications
->Creating a JSP application
Or you can learn how to do this by stepping through the Business Components tutorial. The tutorial is also in the online documentation, under Tutorials and Sample Applications.
Once you're more familiar with data-aware JSPs, you can customize a data-aware JSP or create your own from scratch. Instructions for customizing JSPs are also in the online documentation, following the instructions for creating a JSP.
Regards
Blaise -
How to increase the performance of an insert query?
Hi,
I am using oracle database for our application where we executes one insert query and need the performance of 300 insert queries to be executed per second.
As of now we are getting only 30/sec.We are not knowing how to tune the database for getting this performance.
we are doing all this though C programming under both linux and solaris environment.
Can u guide me in this issue.
Regards,
vamsi krishnaPerformance tuning issue is not something you can get a straight forward answer for.
You need to look at various aspects of the system to get close to or increase the performance of your application. Tuning just the database might not give you want you want.
So, you need to look at the Application codes, Mermory, Disk IO, etc. Have a look at the Performance Tuning Guide from the Oracle Documentation Library for your Oracle Release and Operating System
http://www.oracle.com/technology/documentation/index.html#previous
Maybe you are looking for
-
CR XI R2: Crystal Reports freezes and crashes when I try to open a report
I added this question as a Reply to a message by nic2deep a month ago <Crystal Reports freezes every time I try to open a report.>, but got no response so I thought I'd try again on my own. I have 2 laptops with CR XI installed (same problem from ori
-
Ipod won't sync with itunes because unknown error(-69)
Before the newer version of itunes, all my music sync on to my ipod with no problem. Now after I updated to the most recent itunes, my music won't sync. I restored my ipod and I have the latest version of irunes. But it always say unkown error(-69).
-
My Itunes is in french please HELP!
I live and work in France, and my credit card is linked to my french address. Unfortunately this means my itunes displays itself in French and i cant find anyway of changing it. Is there anything I can do?
-
Save output of BIP report that uses etext template
Hi, I have made a BIP report using etext template and when I click on View, it displays the data fine. But I want to save this as a text file with all the formatting intact. If I try to Export, the formatting goes haywire in the resultant txt file. C
-
How can shrink matrix group very urgent
hello programmers how r u all? i have a little problem. i want to shrink my matrix frame when i donot want to print all columns of matrix group in report. suppose i haev three matrix groups and i want matrix group 2 all columns to be hide at runtime