Dear all,as indicated in the object of the post i wish to ask you some things about my application performance.
I think this is a common situation of each lotus notes developer during his/her lotus notes “life”.
I have in my form
Many Items with @DbLookup “NoCache” option,
3 simple Subforms,
1 Subform with One Embedded view (take note about this)
my form enable the users to create a
and add on it many (response docs) that will be displayed step by step in the embedded view with a “Show Single Category” option with the value of the @universalid of the document.
Lotus Notes does not support to create a dinamic table with dinamic rows (with line separator). Each document contains a very long description text field (more 200 characters)…so, this is the explanation which i have used the embedded view instead the multivalue text field…it is the only solution. The embedded view is in a Subform (not computed subform).
-
Purchase Request and Items documents have Authors and Readers field. This is very important for the application, i cannot remove this functionality.
-
There are 100 Purchase Request create in the database daily, with 10 Item (response docs) avarage associated to it.
Now, the system, after 1 year of work have many many many documents (Purchase Request+Items).
I have cleaned all @dblookup duplication and let on the form only the @dblookup necessary.
For @dblookup function i have try to use the “Cache” method instead of “NoCache”…but i need to have every real time information, and the “Cache” methos is not a good approach for all fields (eg: in the purchase request document i have a approval cycle workflow with person from N&AB and relate Deputies)
The most @dblookup is on a computed for display field.
I think i can use “Cache” method only for configuration information in a computed for display field (the configuration document is not updated frequently,one or two times for year).
After this explanation, i tell you the REAL problem:
The problem is that the application performance is not very fast.
a) First time when i open the document is slowly, second time is more fast. (12’’ second first time, 5’’ second time)
b) When i stay in read/edit mode the emebedded view is in a collapse section, when i expand the section the embedded view (to show the of the ) is slowly to load (remember that the show single category option is available)
c) When i save the document i have a simple code in the QuerySave event, and a simple code in the PostSave event…so, i have 10 second everage when finish QuerySave event and start PostSave event… i think is the time for refreshing the document fields after the QuerySave ?
I have also try to use “ReCache” method instead of “NoCache” to test the performance, but on production server seems that the “ReCache” method is to slowly.
I work with lotus notes from many years, and we have a good team of developers with many years experience.
i think the most work for the server is related on the @dblookup + embedded view… in particular for the embedded view.
Do you have some idea for increase the performance on the database ?
Actually:
-
The embedded view have Refresh: Auto, after first use, and Discard: if inactive after 45 days.
-
The embedded view have also the InViewEdit event enabled with lotus script code (is a simple lotus script code)
-
as indicated before i have reduce the @dblookup on document where necessary and possible…The field (computed for display) actual make a @dblookup “NoCache” on Configuration Document, the column formula have 30 parameters item separate from “%#” value, the result on document is:
Field = “serverarchive%#patharchive%#dbadministrator%#” etc…
on each computed for display fields i retrive the parameters with @Word(Configuration;“%#”;1) - @Word(Configuration;“%#”;2)…and so on !
Excuse for my english, i hope someone can help me.
Thank you very much at all
Dadoo