안녕하세요.
nGrinder를 활용해서 DB 성능테스트 방법에 대해서 문의 드립니다. MS-SQL DB 에 대한 성능 테스트를 하고 싶습니다. MS-SQL에 프로시져 형태로 쿼리가 작성되어 있고 해당 프로시져를 호출하여, DB에 부하를 주어 성능 측정을 하고자 합니다. DB 성능 테스트는 처음이라 위와 같은 방법으로 성능 테스트를 수행하고자 할때 어떤 식으로 진행하면 좋을지 조언 부탁드리겠습니다. 감사합니다. |
Administrator
|
2014년 5월 12일 오후 2:53, YoungWoo Kim [via ngrinder] <[hidden email]>님이 작성: 안녕하세요. |
In reply to this post by YoungWoo Kim
공유해주신 URL 참고하여 , MS SQL DB에 Procedure Call 까지 동작하는 것을 확인하였습니다.
도움 주셔서 감사합니다. 레퍼런스 차원에서 관련 스크립트 및 적용 방법에 대해서 공유 드립니다. 1. MS SQL SERVER JDBC DRIVER 다운 http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774 2. 다운 받은 파일 압축 해제 후 "sqljdbc4.jar" 파일을 nGrinder 스크립트 Resource 폴더에 업로드 아래는 Groovy로 작성된 MS SQL 예제 스크립트 입니다. 공유해주신 사이트에서 DB Driver 호출 관련 부분, 프로시져 CALL 하는 부분만 차이가 있습니다. ---------------------------------------------------------------------------------------------------- package org.ngrinder; import static net.grinder.script.Grinder.grinder import static org.junit.Assert.* import static org.hamcrest.Matchers.* import net.grinder.script.GTest import net.grinder.script.Grinder import net.grinder.scriptengine.groovy.junit.GrinderRunner import net.grinder.scriptengine.groovy.junit.annotation.BeforeProcess import net.grinder.scriptengine.groovy.junit.annotation.BeforeThread import org.junit.Before import org.junit.BeforeClass import org.junit.Test import org.junit.runner.RunWith import groovy.sql.Sql import java.sql.Connection import java.sql.DriverManager import javax.sql.DataSource import groovy.sql.Sql /** * A simple example using the Groovy SQL that shows the retrieval of a * Simple query. */ @RunWith(GrinderRunner) class TestRunner { public static GTest test public static sql @BeforeProcess public static void beforeProcess() { println("beforeProcess1"); test = new GTest(1, "Test1"); sql = Sql.newInstance( 'jdbc:sqlserver://주소:포트;databaseName=db명', '사용자명', '암호', 'com.microsoft.sqlserver.jdbc.SQLServerDriver' ) test.record(sql); grinder.logger.info("before process."); } @BeforeThread public void beforeThread() { grinder.statistics.delayReports=true; grinder.logger.info("before thread."); } @Test public void test(){ println("test"); //sql.eachRow( 'select * from dbo.ZZZ_Test' ) { println "${it.a}" } //for Query sql.eachRow( '{call ZZP_Test()}' ) { println "${it.a}" } // for Procedures Call, ZZP_Test : 프로시저 명 //def ans = sql.call("{call ZZP_Test()}") //println(ans.a); } } |
공유 감사드립니다.
|
Free forum by Nabble | Edit this page |