On 23 January 2012 03:22, Anthony Johnson <ans...@gmail.com> wrote:
> On Sun, Jan 22, 2012 at 9:28 PM, sebb <seb...@gmail.com> wrote:
>> On 23 January 2012 01:46, Anthony Johnson <ans...@gmail.com> wrote:
>>> On Sun, Jan 22, 2012 at 8:29 PM, sebb <seb...@gmail.com> wrote:
>>>>
>>>> On 22 January 2012 13:04, Philippe Mouawad <philippe.moua...@gmail.com> 
>>>> wrote:
>>>> > Hello,
>>>> > I noticed there was some plan to remove Excalibur logger dependency.
>>>> > What is the new selected component to replace it ?
>>>> >
>>>> >   - log4j
>>>> >   - slf4J+logback
>>>>
>>>> Given that the main focus of JMeter is HTTP, and we use Apache
>>>> HttpClient, if we do replace logging it will be sensible to use the
>>>> same, i.e. Commons Logging.
>>>>
>>>> But it is a huge job to do this; every single file that uses logging
>>>> will need to be updated.
>>>>
>>>> As well as changing all the documentation, config files etc.
>>>>
>>>> >
>>>> > When do we plan this migration ?
>>>>
>>>> Not yet.
>>>>
>>>> > Working on 41788
>>>> > <https://issues.apache.org/bugzilla/show_bug.cgi?id=41788>I noticed
>>>> > javadocs for excalibur where no more available on internet.
>>>> >
>>>> > I suppose the same question will arise regarding DataBase Sampler pool.
>>>> > What are the candidates:
>>>> >
>>>> >   - Tomcat JDBC Pool :
>>>> >   http://people.apache.org/~fhanik/jdbc-pool/jdbc-pool.html
>>>> >   - Commons DBCP ?
>>>>
>>>> I wonder whether there's really any point supporting database pooling
>>>> at all, given that the focus of JMeter is on independent test threads.
>>>>
>>>
>>> JMeter definitely needs persistent database connections which is
>>> easily accomplished with database pooling.  JMeter loses usefulness if
>>> it has to open a connection at sample time since this is a lot more
>>> expensive than running optimized SQL.
>>>
>>> Also, some database features rely on persistent connections to be
>>> optimized such as PreparedStatement caches.
>>
>> JMeter uses persistent connections; the connection is established by:
>>
>> http://jmeter.apache.org/usermanual/component_reference.html#JDBC_Connection_Configuration
>>
>> This is a different matter from sharing connections between threads.
>>
>> The per-thread (non-shared) pool is currently implemented as a pool
>> size of 1 per thread.
>>
>
> The preferred way(per the sarcastic "why use pooling" in the docs:-)
> is not very nice code-wise.  If I have a 1,000 thread test then I will
> have a 1,000 excaliber thread pool objects in memory and 1,000
> per-thread poolMap objects.  Getting rid of pooling in JMeter would
> definitely make this code better.

Even without Excalibur pool, we would still need per-thread data to
hold the connection(s) for a thread.
But it might well reduce the resource requirements if we used our own
holding object.

> On the other hand, their are nice features from the pooling such as
> connection testing, keep-alives and such.  Some of those would need to
> be implemented if you guys decided to rip out pooling.
>
> Regardless, you responded to my only concern and I learned
> something(despite having written several JDBC Test Plans in the
> past:-/)
>
>>>> Adding pooling effectively means that JMeter is testing the pooling as
>>>> well as the database.
>>>>
>>>> > I made some Load tests for an ECommerce site comparing the 2 pools and 
>>>> > the
>>>> > first one seems to be a little better performing (specially in exhaustion
>>>> > cases)
>>>> >
>>>> > although Commons DBCP quality is great.
>>>>
>>>> I don't think database pooling is really necessary for JMeter, so the
>>>> performance is not a big issue; tests that want to exercise a database
>>>> should not be using pooling - or at least should not be using a
>>>> pooling solution which is fixed by JMeter.
>>>>
>>>> I don't know whether it's possible to create a datasource which
>>>> includes pooling, if so, then that is the way to go - i.e. support
>>>> data sources (I don't think we do currently).
>>>>
>>>> >
>>>> > --
>>>> > Cordialement.
>>>> > Philippe Mouawad.

Reply via email to