質問編集履歴

2

追記(使用データソース変更(2017/11/16))

2017/11/16 09:58

投稿

h2-19
h2-19

スコア6

test CHANGED
File without changes
test CHANGED
@@ -198,8 +198,80 @@
198
198
 
199
199
 
200
200
 
201
+ ###追記(使用データソース変更(2017/11/16))
202
+
203
+ データソースを
204
+
205
+ org.apache.commons.dbcp.BasicDataSourceに変更したところ、
206
+
207
+ 性能が多少改善致しましたので追記致します。
208
+
209
+ (以前、[dbcp2]を試した時は、性能の改善が見られなかったのですが…)
210
+
211
+
212
+
213
+ 【以下、データソースマッピング設定】
214
+
215
+ ```
216
+
217
+ <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
218
+
219
+ <property name="driverClassName" value="org.postgresql.Driver"/>
220
+
221
+ <property name="url" value="jdbc:postgresql://xxxxxxxxxxxxxx" />
222
+
223
+ <property name="username" value="xxxxx"/>
224
+
225
+ <property name="password" value="xxxxx"/>
226
+
227
+ <property name="initialSize" value="300"/>
228
+
229
+ <property name="testOnBorrow" value="true"/>
230
+
231
+ <property name="maxActive" value="300"/>
232
+
233
+ <property name="maxIdle" value="300" />
234
+
235
+ </bean>
236
+
237
+ ```
238
+
239
+
240
+
241
+ 上記データソースに変更後、
242
+
243
+ 10秒間に100アクセスは、問題なく動作するようになりました。
244
+
245
+ ご協力ありがとうございます。
246
+
247
+
248
+
249
+ しかし、
250
+
251
+ ・負荷を上げると、以前と同エラーが発生してしまう。
252
+
253
+  (※5秒間に400アクセスの検証で稀にエラーが発生)
254
+
255
+  
256
+
257
+ ・10秒間に100アクセスの検証をループして実施すると、
258
+
259
+  エラーが発生してしまう。
260
+
261
+  (※10秒間に100アクセスを2分間ループさせると、
262
+
263
+    1%未満の確立でエラーが発生)
264
+
265
+
266
+
267
+ ・不具合原因の特定ができていない。
268
+
269
+
270
+
271
+ という状況の為、引き続き調査を行っていきたいと思っております。
272
+
201
273
 
202
274
 
203
275
  皆様お忙しいとは思いますが、
204
276
 
205
- ご教授をいいたします。
277
+ 引き続き力添えただければ幸す。

1

ご質問にたいする回答

2017/11/16 09:58

投稿

h2-19
h2-19

スコア6

test CHANGED
File without changes
test CHANGED
@@ -159,3 +159,47 @@
159
159
  何かアドバイスをいただけるとうれしいです。
160
160
 
161
161
  よろしくお願い致します。
162
+
163
+
164
+
165
+ ###追記
166
+
167
+ ご質問ありがとうございます。
168
+
169
+ 返答が遅くなり、申し訳ございません。
170
+
171
+
172
+
173
+ A)PostgreSQL側で、max_connectionsの設定は?
174
+
175
+ ⇒"100"になっております。
176
+
177
+
178
+
179
+ B)PostgreSQL側で、全てのSQLをログ出力できるようにして、validationQuery" value="SELECT 1 " が発行されているかどうか
180
+
181
+ ⇒確認しましたところ、validationQuery" value="SELECT 1 "の発行はされておりました。
182
+
183
+
184
+
185
+ C) OS側のtcp timeoutが短すぎることはないか?
186
+
187
+ ⇒他アプリケーション動作時は、問題なく動作するため、
188
+
189
+  tcp timeoutの設定は問題ないと思っております。
190
+
191
+
192
+
193
+ また、今回の同時アクセス検証につきましては、
194
+
195
+ 10秒間に100アクセスが可能かの検証を行っており
196
+
197
+ 現状、100アクセス中の数件のコネクションが切断されてしまう状態です。
198
+
199
+
200
+
201
+
202
+
203
+ 皆様お忙しいとは思いますが、
204
+
205
+ ご教授をお願いいたします。