基於Jmeter的PostgreSQL空間性能測試筆記
這是很早之前做過的一個測試,最近在整理postgresql測試相關的資料,所以也把它拿出來了與大家分享。
首先解釋一下所謂的PostgreSQL空間性能,主要是基於postgis的空間數據導入性能,詳細的postgis知識請baidu,下面記錄一下整個測試過程。
PostgreSQL中空間圖層手動創建
1、 跳過PostgreSQL、postgis和jmeter的部署操作(如果此步驟不會跳過一下所有步驟)
2、 創建模板為postgis數據庫的數據庫,創建成功的數據庫模式中存在topology,如下圖所示:
3、 在該數據庫中創建普通表,如下圖所示:
CREATE TABLE test1
(
Id integer,
name varchar(20)
)
再給test1添加一個名為shape的幾何字段(二維點\線\面):
Select AddGeometryColumn(‘public‘, ‘ test1‘, ‘shape‘, 4326, ‘POINT‘, 2)
或 Select AddGeometryColumn(‘public‘, ‘ test1‘, ‘shape‘, 4326, ‘LINESTRING‘, 2)
或 Select AddGeometryColumn(‘public‘, ‘ test1‘, ‘shape‘, 4326, ‘POLYGON‘, 2)
其中4326代表GW84(空間)的srid,4610代表Xian80的srid,4326代表CGCS2000的srid,相關詳細參數請查詢spatial_ref_sys表
Jmeter中創建空間數據入庫測試計劃
1、 首先下載相關PostgreSQL涉及的jdbc驅動文件,並將其拷貝到Jmeter安裝路徑下的lib文件夾中,下載路徑如下:
https://jdbc.postgresql.org/download.html(建議下載和PostgreSQL版本一致的驅動)
2、 啟動Jmeter後,點擊測試計劃,在library中添加已下載jdbc的jar文件,如下圖所示:
3、 添加“線程組”,如下圖所示:
4、 在線程組下添加“JDBC Connection Configuration”,如下圖所示:
5、 在JDBC Connection Configuration中輸入相關參數,如下圖所示:
或者在此界面點擊其上方的幫助按鈕,獲取該界面配置的相關方法,如下圖所示:
6、 在線程組中添加“循環控制器”
7、 在循環控制器中添加“JDBC Request”,如下圖所示:
註意:JDBC Request中Variable Name的值必須與JDBC Connection Configuration中的Variable Name一致
8、 在線程組下添加“察看結果樹”,用於查看執行結果是否成功,如下圖所示:
9、 在線程組下添加“聚合報告”,用於查看執行響應時間等信息,如下圖所示:
10、 在JDBC Request中設置如下參數:
11、保存測試計劃並運行,運行結果如下:
參數化入庫
1、 在線程組中添加“CSV Data Set Config”,如下圖所示:
2、 制作參數文件csv,並放到測試方案存儲的路徑下,csv文件內容如下:
註:由於參數值中存在“,”字符,因此整個參數值應使用雙引號進行引用,樣例如下:
”參數值”
3、 設置CSV Data Set Config參數如下:
4、 在JDBC Request中設置如下參數:
基於Jmeter的PostgreSQL空間性能測試筆記