IBM BS029ML Self Help Guide - Page 164

WebSphere security tuning, Other options relating to connection pooling

Page 164 highlights

Important: It might at first seem counter-intuitive to refrain from increasing the number of maximum database connections; however, we recommend that a small pool be evaluated first and then, if necessary, increased up to a ceiling of no more than 45 connections maximum. Better performance is generally achieved if the value for the datasource connection pool size is set lower than the value for the Web container connection pool. Adopting this approach fits well with the paradigm that the WebSphere queuing mechanism is designed to converge towards the back end, where resources are deemed more expensive. Of course, you should ensure that the total number of maximum connections specified across all WebSphere Portal Server cluster members does not exceed the available number connections offered by your selected database. For DB2, this is the MaxAppls parameter, and for Oracle, the number of processes defined in the ora.init file. The default Prepared Statement Cache setting size on the datasources is generally too small for WebSphere Portal Server. Consider increasing this value, as a larger cache will accommodate more entries and thus prevent useful entries from being discarded to make way for new cache entries. Further analysis can also be determined with Tivoli Performance Viewer, where Prepared Statement Cache discards are an indication of an inadequately sized cache. Caution should nevertheless be exercised, as a larger Prepared Statement Cache will place a greater demand on the Java heap. A Prepared Statement Cache offers a significant performance improvement to any application that uses the same SQL statement more than once. The same SQL statement implies that the structure of the statement is the same, but that parameter data (the values specified on a where criteria or as update or insert values) can vary. Within WebSphere Application Server, a Prepared Statement is a precompiled SQL statement that is stored in a prepared statement object. This object is used to efficiently execute the given SQL statement multiple times. Other options relating to connection pooling For the timeout on requests waiting for new connections, the timeout is currently measured only on the request waiting at the head of the queue, so if the queue is 10 deep, the 10th request will wait for 10 timeout periods before being timed out. Experience suggests that as soon as any queue forms, this policy will result in a rapidly increasing queue length. The active pool is not shrunk in times of low demand, so we recommend that a shrinkage policy be considered for conservation of system and back-end resources, and also to make the system less prone to connections becoming stale when pooled over long periods of time. Attention: We strongly recommend that you invest the time and effort in tuning either DB2 or Oracle, as defined in the IBM WebSphere Portal Version 6.0 Tuning Guide. For DB2, we found the modifications immediately beneficial, with a Portal response time improvement near 50%. For users of Tivoli Directory Server (TDS), tuning the underlying DB2 database is equally as important. 5.2.7 WebSphere security tuning When a user logs into WebSphere Portal Server, it is actually the underlying WebSphere Application Server that performs the authentication task (assuming that no authenticating proxy such as Tivoli's WebSEAL or CA SiteMinder are being used). WebSphere Portal Server then goes on to retrieve the security context from WebSphere Application Server and continues the login. Several WebSphere Application Server security parameters are therefore important when considering the overall performance of the Portal. 150 IBM WebSphere Portal V6 Self Help Guide

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242

150
IBM WebSphere Portal V6 Self Help Guide
Adopting this approach fits well with the paradigm that the WebSphere queuing mechanism is
designed to converge towards the back end, where resources are deemed more expensive.
Of course, you should ensure that the total number of maximum connections specified across
all WebSphere Portal Server cluster members does not exceed the available number
connections offered by your selected database. For DB2, this is the MaxAppls parameter, and
for Oracle, the number of processes defined in the ora.init file.
The default Prepared Statement Cache setting size on the datasources is generally too small
for WebSphere Portal Server. Consider increasing this value, as a larger cache will
accommodate more entries and thus prevent useful entries from being discarded to make
way for new cache entries. Further analysis can also be determined with Tivoli Performance
Viewer, where Prepared Statement Cache discards are an indication of an inadequately sized
cache. Caution should nevertheless be exercised, as a larger Prepared Statement Cache will
place a greater demand on the Java heap.
A Prepared Statement Cache offers a significant performance improvement to any application
that uses the same SQL statement more than once. The same SQL statement implies that
the structure of the statement is the same, but that parameter data (the values specified on a
where criteria or as update or insert values) can vary. Within WebSphere Application Server,
a Prepared Statement is a precompiled SQL statement that is stored in a prepared statement
object. This object is used to efficiently execute the given SQL statement multiple times.
Other options relating to connection pooling
For the timeout on requests waiting for new connections, the timeout is currently measured
only on the request waiting at the head of the queue, so if the queue is 10 deep, the 10th
request will wait for 10 timeout periods before being timed out. Experience suggests that as
soon as any queue forms, this policy will result in a rapidly increasing queue length.
The active pool is not shrunk in times of low demand, so we recommend that a shrinkage
policy be considered for conservation of system and back-end resources, and also to make
the system less prone to connections becoming stale when pooled over long periods of time.
5.2.7
WebSphere security tuning
When a user logs into WebSphere Portal Server, it is actually the underlying WebSphere
Application Server that performs the authentication task (assuming that no authenticating
proxy such as Tivoli’s WebSEAL or CA SiteMinder are being used). WebSphere Portal Server
then goes on to retrieve the security context from WebSphere Application Server and
continues the login. Several WebSphere Application Server security parameters are therefore
important when considering the overall performance of the Portal.
Important:
It might at first seem counter-intuitive to refrain from increasing the number of
maximum database connections; however, we recommend that a small pool be evaluated
first and then, if necessary, increased up to a ceiling of no more than 45 connections
maximum. Better performance is generally achieved if the value for the datasource
connection pool size is set lower than the value for the Web container connection pool.
Attention:
We strongly recommend that you invest the time and effort in tuning either DB2
or Oracle, as defined in the
IBM WebSphere Portal Version 6.0 Tuning Guide
. For DB2, we
found the modifications immediately beneficial, with a Portal response time improvement
near 50%. For users of Tivoli Directory Server (TDS), tuning the underlying DB2 database
is equally as important.