yes, but generally just the root object and the component burden does the
rest which is very important service

On Wed, Mar 4, 2009 at 1:36 PM, Ayende Rahien <[email protected]> wrote:

> The problem is that this means that you have to release.
>
>
> On Wed, Mar 4, 2009 at 11:18 AM, Craig Neuwirt <[email protected]> wrote:
>
>> Dispose is just one type of decomission.  There are other that get added
>> dynamically by facilities which need to be applied when components are
>> released.  I think this behavior is important by default
>>
>>
>> On Wed, Mar 4, 2009 at 12:51 PM, Ayende Rahien <[email protected]> wrote:
>>
>>> It seems that a lot of people are surprised by this behavior, I think it
>>> would be wiser to no track components by default.Thoughts?
>>>
>>> On Wed, Mar 4, 2009 at 8:54 AM, kurtharriger <[email protected]>wrote:
>>>
>>>>
>>>> I don't understand why this isn't the default setting either.  IMHO,
>>>> Transient objects should not be tracked by default.
>>>>
>>>> As many several have noticed the issues arising tracking transient
>>>> objects for dispose is greater then the risk of not calling dispose at
>>>> all (and unless the object holds unmanaged resources, dispose is not
>>>> all that necessary anyway).  A disposable component that *must be
>>>> disposed* should also implement a finalizer and that doesn't change by
>>>> using a container since there is no guarantee dispose will be called
>>>> on container either. Since release accepts the object to dispose as a
>>>> parameter there isn't any reason to track it, if object is not tracked
>>>> then assume it is transient and call dispose if implemented.
>>>>
>>>> - Kurt
>>>>
>>>>
>>>> On Mar 3, 4:57 pm, Andrew Smith <[email protected]> wrote:
>>>> > Yea, I was worried about negative effects of this also. You don't get
>>>> > something for nothing, right? The only mention I've seen so far is a
>>>> comment
>>>> > from hammett in the another post to this group ("ViewComponent memory
>>>> > leak"):
>>>> >
>>>> > "The side effects is that you might have disposable components that
>>>> are
>>>> > not being disposed by the container"
>>>> >
>>>> > In my case I know I don't have any disposable components involved, so
>>>> after
>>>> > some proper testing, I'll be applying the 'fix' to my server
>>>> >
>>>> > On Tue, Mar 3, 2009 at 11:45 PM, Stefan Sedich <
>>>> [email protected]>wrote:
>>>> >
>>>> >
>>>> >
>>>> > > Excellent glad I could help. But I would look into releasing your
>>>> > > objects properly, not sure maybe someone can comment on negative
>>>> > > impacts of using NoTrack policy.
>>>> >
>>>> > > Cheers
>>>> >
>>>> > > On Wed, Mar 4, 2009 at 9:43 AM, Andrew Smith <[email protected]>
>>>> wrote:
>>>> > > > just changed the policy and re-ran a local stress test. Immediate
>>>> > > > improvement. Previous test ended with memory usage of ~200MB, this
>>>> time
>>>> > > > round 70MB
>>>> > > > thanks again!
>>>> >
>>>> > > > On Tue, Mar 3, 2009 at 11:37 PM, Stefan Sedich <
>>>> [email protected]>
>>>> > > > wrote:
>>>> >
>>>> > > >> No problems,
>>>> >
>>>> > > >> Something that caught me too, I knew a few people that were not
>>>> aware
>>>> > > >> and they had never stress tested their apps or realised it was
>>>> > > >> resetting (dangerous). I am glad I profile my stuff before
>>>> putting it
>>>> > > >> anywhere near production. I guess releasing is the way proper way
>>>> to
>>>> > > >> handle things, but I have been naughty and just used NoTracking.
>>>> >
>>>> > > >> Cheers
>>>> >
>>>> > > >> On Wed, Mar 4, 2009 at 9:33 AM, Andrew Smith <
>>>> [email protected]>
>>>> > > >> wrote:
>>>> > > >> > Hi Stefan,
>>>> > > >> >  you know as soon as I posted that, of course I came across
>>>> details on
>>>> > > >> > this
>>>> > > >> > issue. In fact your very blog post. In all the time I've used
>>>> castle,
>>>> > > I
>>>> > > >> > never realised I was expected to explicitly release a transient
>>>> > > >> > component.
>>>> > > >> > By the sounds of it, I'm sure that will be the cause as I'm
>>>> using
>>>> > > >> > windsor
>>>> > > >> > integration heavily and can easily repro the issue with a local
>>>> stress
>>>> > > >> > test.
>>>> > > >> >  Thanks for the info
>>>> > > >> > Cheers,
>>>> > > >> > Andrew
>>>> >
>>>> > > >> > On Tue, Mar 3, 2009 at 11:24 PM, Stefan Sedich <
>>>> > > [email protected]>
>>>> > > >> > wrote:
>>>> >
>>>> > > >> >> Andrew,
>>>> >
>>>> > > >> >> I have built a few simmilar sounding shop fronts, with medium
>>>> load
>>>> > > and
>>>> > > >> >> have not had issues with memory leaks with the app pools
>>>> running
>>>> > > solid
>>>> > > >> >> until their nightly reset.
>>>> >
>>>> > > >> >> If you hit your site with a web stress testing tool do you see
>>>> the
>>>> > > >> >> memory continue to climb until app pool reset? If this is the
>>>> case it
>>>> > > >> >> is possible you have a memory leak.
>>>> >
>>>> > > >> >> I would suggest getting a tool like ANTS profiler to see if
>>>> you can
>>>> > > >> >> track down any memory leaks in your application and then go
>>>> from
>>>> > > >> >> there. I would say from what I have seen in my apps ~200MB
>>>> seems
>>>> > > >> >> reasonable depending on what it is doing.
>>>> >
>>>> > > >> >> In my last project I had similar issues you describe. In my
>>>> case I
>>>> > > was
>>>> > > >> >> using Windsor and not releasing my components from the
>>>> container when
>>>> > > >> >> I was done with them. In my case I decided to not release my
>>>> objects
>>>> > > >> >> and use the NoTrackingReleasePolicy instead, as this was fine
>>>> for my
>>>> > > >> >> needs and removed the leak that I had.
>>>> >
>>>> > > >> >> I have blogged about this here:
>>>> >
>>>> > >
>>>> http://weblogs.asp.net/stefansedich/archive/2008/11/05/avoid-memory-l.
>>>> ..
>>>> >
>>>> > > >> >> Cheers
>>>> > > >> >> Stefan
>>>> >
>>>> > > >> >> On Wed, Mar 4, 2009 at 9:04 AM, Andrew <[email protected]>
>>>> wrote:
>>>> >
>>>> > > >> >> > I've just launched an e-commerce website based on Monorail
>>>> and
>>>> > > using
>>>> > > >> >> > ActiveRecord. It's a replacement of a previous PHP solution
>>>> and we
>>>> > > >> >> > have on average about 20 - 30 concurrent users at any given
>>>> time.
>>>> > > I'm
>>>> > > >> >> > also running an admin site in the same application pool.
>>>> >
>>>> > > >> >> >  My issue is to do with memory usage. I'm running on a 1GB
>>>> VPS box
>>>> > > >> >> > (also hosting a SQL Server DB on same machine). I've limited
>>>> SQL
>>>> > > >> >> > Server to 200MB and my IIS6 worker process to 400MB.
>>>> However, even
>>>> > > >> >> > pre-
>>>> > > >> >> > release when testing with 1 or 2 users the memory usage
>>>> would
>>>> > > easily
>>>> > > >> >> > sit around the 300MB mark. Now with the real load, I'm
>>>> seeing the
>>>> > > >> >> > application pool recycle approx every 40 mins (normally
>>>> should only
>>>> > > >> >> > recycle at 3am). I'm using the ASP.Net state service so
>>>> session
>>>> > > >> >> > details are preserved but still, I'm concerned
>>>> >
>>>> > > >> >> >  As I said, it's an e-commerce site so there's the usual
>>>> shop
>>>> > > stuff:
>>>> > > >> >> > lots of nice pics, searches, checkout and a bit of 2nd level
>>>> > > caching
>>>> > > >> >> > for things such as categories (max 200 categories),
>>>> countries,
>>>> > > rates
>>>> > > >> >> > etc. Really not that much is cached and mem usage was high
>>>> before
>>>> > > we
>>>> > > >> >> > fully optimised the site. I've been careful to have the SQL
>>>> > > profiler
>>>> > > >> >> > beside me as we were testing the app, so I'm confident that
>>>> I don't
>>>> > > >> >> > have N+1s all over the place. Oh, and I'm using standard
>>>> > > session-per-
>>>> > > >> >> > request model using Ayende's UOW stuff
>>>> >
>>>> > > >> >> >  I guess what I'm asking is: Is that level of memory usage
>>>> expected
>>>> > > >> >> > for that type of site? I would love to hear back from anyone
>>>> who
>>>> > > has
>>>> > > >> >> > launched a similar type of site.
>>>> >
>>>> > > >> >> >  I did see a previous post about this, but they are talking
>>>> around
>>>> > > >> >> > the
>>>> > > >> >> > 200MB mark, so I'm wondering what on earth I'm doing wrong!
>>>> >
>>>> > > >> >> > There is the option of shelling out more cash and go to a
>>>> 2GB VPS
>>>> > > >> >> > box,
>>>> > > >> >> > but I'd rather not have to....
>>>> >
>>>> > > >> >> > cheers
>>>> >
>>>> > > >> >> --
>>>> > > >> >> Stefan Sedich
>>>> > > >> >> Software Developer
>>>> > > >> >>http://weblogs.asp.net/stefansedich
>>>> >
>>>> > > >> --
>>>> > > >> Stefan Sedich
>>>> > > >> Software Developer
>>>> > > >>http://weblogs.asp.net/stefansedich
>>>> >
>>>> > > --
>>>> > > Stefan Sedich
>>>> > > Software Developer
>>>> > >http://weblogs.asp.net/stefansedich
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Castle Project Development List" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/castle-project-devel?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to