DriverTest.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. import java.io.*;
  2. import java.sql.*;
  3. import java.util.*;
  4. import javax.servlet.*;
  5. import javax.servlet.http.*;
  6. public class DriverTest extends HttpServlet {
  7. public void doGet(HttpServletRequest request,
  8. HttpServletResponse response)
  9. throws IOException, ServletException
  10. {
  11. response.setContentType("text/html");
  12. PrintWriter out = response.getWriter();
  13. out.println("<html>");
  14. out.println("<head>");
  15. String title = "DB Connection Performace Test";
  16. out.println("<title>" + title + "</title>");
  17. out.println("</head>");
  18. out.println("<body bgcolor=\"white\">");
  19. out.println("<h1>" + title + "</h1>");
  20. String driver = request.getParameter("driver");
  21. String trialStr = request.getParameter("trial");
  22. int trial = 100;
  23. try {
  24. trial = Integer.parseInt(trialStr);
  25. } catch (Exception e) {
  26. }
  27. String driverClassName = null;
  28. if (driver != null && driver.equals("jeus")) {
  29. driverClassName = "jeus.jdbc.pool.Driver";
  30. } else if (driver.equals("weblogic")) {
  31. driverClassName = "weblogic.jdbc.pool.Driver";
  32. } else {
  33. driverClassName = "oracle.jdbc.driver.OracleDriver";
  34. }
  35. out.println("<br><h4>Tested Driver: " + driverClassName);
  36. out.println("<br>Tested trial: " + trial + "</h4>");
  37. try {
  38. Class.forName(driverClassName);
  39. } catch (ClassNotFoundException cnfe) {
  40. String msg = "<br><h3>Class " + driverClassName + " is not found</h3>";
  41. out.println(msg);
  42. //out.println("</body>");
  43. //out.println("</html>");
  44. //out.close();
  45. }
  46. long totalConnectionTime = 0;
  47. long beginTop = System.currentTimeMillis();
  48. for (int i = 0; i < trial; i++) {
  49. Connection con = null;
  50. Statement stmt = null;
  51. ResultSet rs = null;
  52. try {
  53. long begin = System.currentTimeMillis();
  54. if (driverClassName.startsWith("jeus")) {
  55. con = DriverManager.getConnection ("jdbc:jeus:pool:oraclePool", null);
  56. } else if (driverClassName.startsWith("weblogic")) {
  57. con = DriverManager.getConnection ("jdbc:weblogic:pool:oraclePool", null);
  58. } else {
  59. con = DriverManager.getConnection (
  60. "jdbc:oracle:thin:@143.248.148.39:1521:ORA805", "system", "manager");
  61. }
  62. long end = System.currentTimeMillis();
  63. long diff = end - begin;
  64. totalConnectionTime += diff;
  65. out.println("<br>[" + i + "] DB Connection Success, time = " + diff + ", " + con);
  66. stmt = con.createStatement();
  67. rs = stmt.executeQuery("select * from customer");
  68. while(rs.next()) {
  69. String id= rs.getString(1);
  70. String name = rs.getString(2);
  71. int age = rs.getInt(3);
  72. //out.println("<br> id = " + id);
  73. //out.println("<br> name= "+ name);
  74. //out.println("<br> age= "+ age);
  75. }
  76. stmt.close();
  77. con.close();
  78. } catch (SQLException se) {
  79. se.printStackTrace();
  80. out.println("<br>[" + i + "] DB Query failed");
  81. try {
  82. if (stmt != null) {
  83. stmt.close();
  84. }
  85. if (con != null) {
  86. con.close();
  87. }
  88. } catch (Exception e) {
  89. }
  90. }
  91. }
  92. long endBottom = System.currentTimeMillis();
  93. out.println("<br><br> <h3>### Result Performace ###</h3>");
  94. out.println("<h4> total connection time = " + totalConnectionTime);
  95. out.println("<br> total elapsed time = " + (endBottom - beginTop) + "</h4>");
  96. out.println("</body>");
  97. out.println("</html>");
  98. out.close();
  99. }
  100. }