Honestly, I'd be surprised if it was the problem you described
(although I could be wrong), simply because it's maxing out the CPU,
which tends to lean towards and infinite loop.

If it was simply locking at the point of the webservice, then there
would be no (or very little) CPU activity, but JRUN just wouldn't do
anything.

Mark

On Wed, Jan 7, 2009 at 12:21 PM, Matthew <matthewbchamb...@gmail.com> wrote:
>
> Hi Kai
>
> Thanks for the tip. I have already tried connecting the JConsole from
> my local dev machine to the live server but can't get it to connect.
> Perhaps I've got the port wrong. How do you work out which port the CF
> JVM is listening on?
>
> I'm looking into the Thread Dump idea (I've just finished reading the
> Adobe article you spoke of) however there is a lot to understand.
> Anyway, I've switched everything on so I can take a Thread Dump next
> time the server appears to hang (or what is really called SPINNING)
> however I don't think this will help in any great way.
>
> I'm pretty certain that whatever monitoring solution I find it will
> tell me what I already know, which is that because a big part of the
> website relies on a web service call to a 3rd party which goes down
> sometimes and because CFINVOKE won't obey the timeout parameter then
> I'll always have this problem. I need to work out a way to detect that
> the web service is out and disable it before too many users on the
> website instantiate a connection which won't timeout properly and
> cause the server to go into a spin.
>
> I will continue to investigate. If anyone else wants to chime in
> please feel free!
>
> By the way; is there anyway to get a report/graph which shows how much
> memory each variable is taking up i.e. can you take a snapshot at a
> moment in time to show all the session variables and how much memory
> they are costing?
>
> Cheers
> Matthew
>
> On Jan 7, 11:10 am, Kai Koenig <k...@bloginblack.de> wrote:
>> As far as I can remember JConsole will just run on Java5+. That being
>> said
>> you should be able to run it on a Java 5 JVM and hook it remotely to
>> inspect
>> an app on 1.4 - I'm pretty sure though that you'd be limited in which
>> information
>> you can get.
>>
>> There's also a knowledgebase article somewhere on Adobe.com how to
>> create a thread dump.
>>
>> Cheers
>> Kai
>>
>>
>>
>>
>>
>> > I don't believe JConsole will natively hook into Java 1.4.
>>
>> > Sounds like you're going to doing thread dumps.
>>
>> > Do a google search for them, and you will find several articles.
>>
>> > Mark
>>
>> > On Wed, Jan 7, 2009 at 9:24 AM, Matthew <matthewbchamb...@gmail.com>
>> > wrote:
>>
>> >> Hi guys,
>>
>> >> Sorry, I should have given more info.
>>
>> >> @Steve: I'm not sure if it's a CF web service but I'm pretty sure it
>> >> isn't. I think it may be Java.
>>
>> >> @Mark: not sure which point you were refering to with your first
>> >> question? It's running on a CF7 server. So I'm guessing I'll need to
>> >> use JConsole. Where do I start?
>>
>> >> Cheers
>> >> Matthew
>>
>> >> On Jan 7, 7:42 am, "Mark Mandel" <mark.man...@gmail.com> wrote:
>> >>> What makes you think this is the case?
>>
>> >>> What version of CF are you on?
>>
>> >>> If you are on CF8, you can use either - snapshots via the server
>> >>> monitor, a tool like JConsole, or thread dumps to find out exactly
>> >>> what is causing the infinite loop.
>>
>> >>> Mark
>>
>> >>> On Tue, Jan 6, 2009 at 5:20 PM, Matthew
>> >>> <matthewbchamb...@gmail.com> wrote:
>>
>> >>>> Hi everyone
>>
>> >>>> From time to time our website appears to hand. I believe it is CF
>> >>>> (or
>> >>>> JRun) chocking because each time it happens I can still connect
>> >>>> to the
>> >>>> web server via FTP, RDP, DB access. When I look at the Task Manager
>> >>>> jrun.exe is using max CPU. If I restart the CF service or End
>> >>>> Process
>> >>>> on jrun.exe everything recovers.
>>
>> >>>> I'm pretty sure I know which bit of code is causing the problem.
>> >>>> It's
>> >>>> a web service call to a 3rd party (used quite a lot by users on the
>> >>>> website). Most of the time when the website hangs I can't browse to
>> >>>> the 3rd party's web service. I've tried setting timeouts on the web
>> >>>> service call by using CFINVOKE, CreateObject, CFOBJECT etc but no
>> >>>> improvement. I need to allow for up to 60s because some of the
>> >>>> calls
>> >>>> are quite complex.
>>
>> >>>> I'm trying to work out why it's hanging. I suspect that because
>> >>>> CF is
>> >>>> allowing 8 simaltaneous requests and each gets 60 seconds then once
>> >>>> all these slots are taken up everyone else goes on a queue and with
>> >>>> all that load the server appears to hang because it's in constant
>> >>>> use
>> >>>> i.e. after 60 seconds user 1 gets his timeout so user 9 takes
>> >>>> position
>> >>>> 8 and round and round it goes and it never stops because with
>> >>>> constant
>> >>>> traffic taking up 8 request slots and all taking up resources for
>> >>>> 60
>> >>>> seconds it appears to hang. Does this make sense?
>>
>> >>>> So the question is: how do I save the server from getting into this
>> >>>> state. I'm thinking I need some sort of scheduled task which probes
>> >>>> the web service every 10 seconds to work out if it's up. Perhaps
>> >>>> if it
>> >>>> times out (3 times just to be sure) I shut of the web service
>> >>>> (which
>> >>>> means the rest of the website is still up). The scheduled task
>> >>>> keeps
>> >>>> running until no timeout occurs and then it re-activates the web
>> >>>> service for everyone else. Has anyone been through something like
>> >>>> this
>> >>>> before? How did you work around it?
>>
>> >>>> Cheers
>> >>>> Matthew
>>
>> _________________________________________________
>> Kai Koenig - Ventego Creative Ltd
>> ph: +64 4 476 6781 - mob: +64 21 928 365 /  +61 450 132 117
>> web:http://www.ventego-creative.co.nz
>> blog:http://www.bloginblack.de
> >
>



-- 
E: mark.man...@gmail.com
W: www.compoundtheory.com

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"cfaussie" group.
To post to this group, send email to cfaussie@googlegroups.com
To unsubscribe from this group, send email to 
cfaussie+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/cfaussie?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to