Thank you very much for the help. I ran it throug last night and the
system was consuming less than 2% cpu power (software + database)


On 17 Mar, 15:27, Fabio Maulo <[email protected]> wrote:
> but it is a winService a webService a winForm a webForm a ASP.MVC, is using
> WCF, is based on messages....What you can do ("on-the-fly analysis") is open
> one session per persistence iteration.
> Mean:
> - start iteration
> - open session for db1 and db2
> - read from db1
> - write to db2
> - commit db2 / rollback db1
> - dispose session of db1 and db2
> - end iteration
>
> 2009/3/17 Utopico <[email protected]>
>
>
>
>
>
> > Basically what I have is the following:
> > * One application that stores data to one database (raw binary data)
> > * One application that gets data from this database, decodes and
> > processes it before writing it back to another database.
> > * The reason for the two databases is that the first application is
> > made very simple so that it can become "bugfree" while the other is
> > more complex with possible user extensions with new decoders and
> > processing algorithms.
> > * Both these applications is 24/7 applications with data comming in
> > fairly frequently (every 10-30 seconds)
> > * So the application I refere to here is the second one
> > * They will mostly run without user interaction
>
> > On 17 Mar, 14:39, Fabio Maulo <[email protected]> wrote:
> > > Where is the description of the use case?
>
> > > 2009/3/17 Utopico <[email protected]>
>
> > > > How would you suggest to have the session management pattern?
>
> > > > On 17 Mar, 14:23, Fabio Maulo <[email protected]> wrote:
> > > > > 2009/3/17 Utopico <[email protected]>
>
> > > > > > Ok. Thank you very much.
>
> > > > > > I guess the second-level cache will not be cleared during this
> > > > > > process?
>
> > > > > No man.... not the cache but the session-cache.
> > > > > BTW change you session management pattern.
>
> > > > > > On 17 Mar, 14:00, Oskar Berggren <[email protected]> wrote:
> > > > > > > If you're interested you could have a look at the numbers in
> > > > > > > ISession.Statistics for an idea about how big your session has
> > > > become.
>
> > > > > > > /Oskar
>
> > > > > > > 2009/3/17 Fabio Maulo <[email protected]>
>
> > > > > > > > open and close the nh-session for each message/operation.
>
> > > > > > > > 2009/3/17 Utopico <[email protected]>
>
> > > > > > > >> In a real application there would be many datasources
> > reporting
> > > > data
> > > > > > > >> (at less frequent intervals). So how would you suggest to
> > handle
> > > > the
> > > > > > > >> session in this case? A realistic scenario would about 30
> > > > datasources
> > > > > > > >> reporting data every 60 minutes.
>
> > > > > > > >> On 17 Mar, 12:16, Oskar Berggren <[email protected]>
> > > > wrote:
> > > > > > > >> > Session is not really meant to be long running. Try creating
> > a
> > > > new
> > > > > > > >> session
> > > > > > > >> > for each "run" or at least clear the sessions cache.
>
> > > > > > > >> > /Oskar
>
> > > > > > > >> > 2009/3/17 Utopico <[email protected]>
>
> > > > > > > >> > > Using same session (at least th. I have now done a bit
> > more
> > > > > > > >> > > monitoring. And it seems that the CPU and memory load is
> > > > > > increasing
> > > > > > > >> > > over time while the actual disc writes does not. Also the
> > > > > > performance
> > > > > > > >> > > of the database server does not seem to change when
> > monitoring
> > > > the
> > > > > > > >> > > database directly while the application is running.
>
> > > > > > > >> > > On 17 Mar, 11:07, Ayende Rahien <[email protected]>
> > wrote:
> > > > > > > >> > > > Are you using the same session? Or creating a session
> > every
> > > > > > time?
>
> > > > > > > >> > > > On Tue, Mar 17, 2009 at 11:31 AM, Utopico <
> > > > > > [email protected]>
> > > > > > > >> > > wrote:
>
> > > > > > > >> > > > > I have used hibernate for about half a year, but not
> > with
> > > > very
> > > > > > > >> high
> > > > > > > >> > > > > load. Yesterday I had an application running that
> > slowed
> > > > down
> > > > > > > >> > > > > significantly after running through the night (from
> > > > fraction
> > > > > > of a
> > > > > > > >> > > > > second to 10-15 seconds). I am pretty sure that there
> > is
> > > > > > somthing
> > > > > > > >> can
> > > > > > > >> > > > > be done to improve this, or a way to find out what is
> > the
> > > > > > cause. I
> > > > > > > >> > > > > need some help with this.
>
> > > > > > > >> > > > > So for my application
> > > > > > > >> > > > > * I use NHibernate 2.0.0.GA
> > > > > > > >> > > > > * Visual studio 2008
> > > > > > > >> > > > > * FirebirdSQL 2.0
> > > > > > > >> > > > > * received data every 15 seconds on a serial port
> > which is
> > > > > > then
> > > > > > > >> > > > > decoded. This results in:
> > > > > > > >> > > > >   - check for datatype (cached query through SysCache
> > > > since
> > > > > > these
> > > > > > > >> > > > > values are updated seldom, but checked often) and
> > possible
> > > > > > > >> addition of
> > > > > > > >> > > > > new datatype entry (each datavalue has a datatype
> > > > associated
> > > > > > with
> > > > > > > >> it)
> > > > > > > >> > > > >   - using sequence generator for ID on datavalue and
> > > > > > dataobject
> > > > > > > >> > > > >   - insert of a dataobject which has about 120 values
> > > > > > associated
> > > > > > > >> as
> > > > > > > >> > > > > follows (results in one dataobject insert and 120
> > inserts:
> > > > > > > >> > > > >        [NHibernate.Mapping.Attributes.Bag(Table =
> > > > > > "DATA_VALUE",
> > > > > > > >> > > > > Inverse = true, Lazy = true, OrderBy = "TYPE_ID ASC,
> > IDX
> > > > ASC",
> > > > > > > >> Cascade
> > > > > > > >> > > > > = "all-delete-orphan")]
> > > > > > > >> > > > >        [NHibernate.Mapping.Attributes.Key(1, Column =
> > > > > > "REC_ID")]
> > > > > > > >> > > > >        [NHibernate.Mapping.Attributes.OneToMany(2,
> > > > ClassType =
> > > > > > > >> typeof
> > > > > > > >> > > > > (Nortek.SeaState.Domain.DataValue))]
> > > > > > > >> > > > >        public virtual IList<DataValue> Values
> > > > > > > >> > > > >        {
> > > > > > > >> > > > >            get
> > > > > > > >> > > > >            {
> > > > > > > >> > > > >                return this._values;
> > > > > > > >> > > > >            }
> > > > > > > >> > > > >            set
> > > > > > > >> > > > >            {
> > > > > > > >> > > > >                this._values = value;
> > > > > > > >> > > > >            }
> > > > > > > >> > > > >        }
> > > > > > > >> > > > > * All the above is inclosed in a transaction with
> > > > ReadCommited
>
> > > > > > > >> > > > > Would I benefit from batch inserts or any other
> > > > performance
> > > > > > trick?
> > > > > > > >> Or
> > > > > > > >> > > > > is there some stupid flaw in my way of using
> > hibernate?
>
> > > > > > > > --
> > > > > > > > Fabio Maulo
>
> > > > > --
> > > > > Fabio Maulo
>
> > > --
> > > Fabio Maulo
>
> --
> Fabio Maulo
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"nhusers" 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/nhusers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to