Right, I can now screw up our XML searches at will. The bad news is
the same thing happens in CF8.01 as well as CF 7.02 (I just tested
both).

I have a sizeable XML file (1600 lines or so). Here's a snippet:

<!-- Top Tab 3 - Future Students -->
<top_navigation         page_title="Future Students"
small_content_display="true" page_template="default">
<text>Future Students</text>
<url>/future_students/</url>
        
<small_content type="include"
id="small_content">future_students.cfm</small_content>

<!-- side menu items -->
                
<menu_navigation>
<text>First time Uni Students</text>
<url>future_undergraduate.cfm</url>
</menu_navigation>

.... etc etc

I pull it into the application scope once in OnApplicationStart. I
then search it with this:

<cfset elementArray = XMLSearch(APPLICATION.myXML,
"/pagesettings/top_navigation[3]")>
<cfset topNavURL = elementArray[1].url.XMLText>
<cfoutput>#topNavURL#</cfoutput>

I also have a second file that searches for a different tab:

<cfset elementArray = XMLSearch(APPLICATION.myXML,
"/pagesettings/top_navigation[7]")>

I create a JMeter test that requests a random page from these two and
throw it into a thread pool with a few hundred threads at once. Some
of the threads throw a null pointer exception (the same error we're
seeing in prod). After the run, I can go to each page and the searches
are now either returning the same thing (i.e. they previously found a
different tab but now they both find the same one, which is incorrect)
or one of them is constantly throwing a null pointer error. Recreating
the application scoped XML object clears the problem until I slam it
with another JMeter test.

After saving the text of the XML in the application scope instead, the
following code provides thread safety (as it creates the XML object on
each request):

<cfset freshXML = XMLParse(APPLICATION.xmlContent)>
<cfset elementArray = XMLSearch(freshXML, "/pagesettings/top_navigation[3]")>
<cfset topNavURL = elementArray[1].url.XMLText>


On Thu, Aug 7, 2008 at 11:50 PM, James Holmes <[EMAIL PROTECTED]> wrote:
> Yes, the tests I'll be doing tomorrow will be with jmeter. I'll post
> the results when we have them.
>
> On Thu, Aug 7, 2008 at 4:24 PM, Tom Chiverton
> <[EMAIL PROTECTED]> wrote:
>> On Wednesday 06 Aug 2008, Brad Wood wrote:
>>> iframes aren't good for load testing.  Browsers like IE follow spec and
>>> only allow 2 concurrent connections to a server at once.
>>
>> Even IE lets you adjust this number in the registry, but I use Apache JMeter
>> tbh.


-- 
mxAjax / CFAjax docs and other useful articles:
http://www.bifrost.com.au/blog/

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to 
date
Get the Free Trial
http://ad.doubleclick.net/clk;203748912;27390454;j

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:310486
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to