Outlook Banter

Outlook Banter (http://www.outlookbanter.com/)
-   Outlook and VBA (http://www.outlookbanter.com/outlook-vba/)
-   -   Speed issues using items.restrict on exchange (http://www.outlookbanter.com/outlook-vba/55339-speed-issues-using-items-restrict.html)

David Tongeman August 23rd 07 11:16 AM

Speed issues using items.restrict on exchange
 
I read on Dmitri's Redemption site that Exchange cache's items.restrict
calls, and that using this method too frequently can slow an exchange server
significantly.

I can't find any reference to this anywhere else... or any advice on when to
use restrict and when to use filter/find/find next.

I suspect that some code on a customers site (that I didn't write) is using
items.restrict as part of a search process which is used regularly on a large
(15000+ ) public contact folder - which in turn maybe slowing the system.

Does anyone have any comments on rules of thumb for using items.restrict so
as not to 'bring a server to its knees' (in Dmitri's words)
--
Business Solutions using Microsoft Outlook
www.davton.com

Ken Slovak - [MVP - Outlook] August 23rd 07 03:25 PM

Speed issues using items.restrict on exchange
 
Dmitry can correct me if I'm wrong but I've never run into a problem with
either Items.Restrict or Items.Find with cached restrictions on the server.
Where I have run into problems is when I've used a Restrict on a MAPITable
and the filter uses something like a date value that changes, for example
testing for something related to today's date. That changes every day and
the restriction would be cached for a default of 8 days (changeable on the
EX server).

I tested for that and ended up with over 10,000 restrictions cached on my
server and even with only 2 active mailboxes it was taking over 10 minutes
to even switch from one item to another in Outlook until I ran code on the
server to kill the cached restrictions.

Also see http://support.microsoft.com/kb/216076

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"David Tongeman" wrote in message
...
I read on Dmitri's Redemption site that Exchange cache's items.restrict
calls, and that using this method too frequently can slow an exchange
server
significantly.

I can't find any reference to this anywhere else... or any advice on when
to
use restrict and when to use filter/find/find next.

I suspect that some code on a customers site (that I didn't write) is
using
items.restrict as part of a search process which is used regularly on a
large
(15000+ ) public contact folder - which in turn maybe slowing the system.

Does anyone have any comments on rules of thumb for using items.restrict
so
as not to 'bring a server to its knees' (in Dmitri's words)
--
Business Solutions using Microsoft Outlook
www.davton.com



Dmitry Streblechenko August 23rd 07 06:29 PM

Speed issues using items.restrict on exchange
 
Yes, the problem is not using the restrictions too much (that is exactly why
Exchange caches restrictions), but applying *different* restrictions.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"Ken Slovak - [MVP - Outlook]" wrote in message
...
Dmitry can correct me if I'm wrong but I've never run into a problem with
either Items.Restrict or Items.Find with cached restrictions on the
server. Where I have run into problems is when I've used a Restrict on a
MAPITable and the filter uses something like a date value that changes,
for example testing for something related to today's date. That changes
every day and the restriction would be cached for a default of 8 days
(changeable on the EX server).

I tested for that and ended up with over 10,000 restrictions cached on my
server and even with only 2 active mailboxes it was taking over 10 minutes
to even switch from one item to another in Outlook until I ran code on the
server to kill the cached restrictions.

Also see http://support.microsoft.com/kb/216076

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"David Tongeman" wrote in
message ...
I read on Dmitri's Redemption site that Exchange cache's items.restrict
calls, and that using this method too frequently can slow an exchange
server
significantly.

I can't find any reference to this anywhere else... or any advice on when
to
use restrict and when to use filter/find/find next.

I suspect that some code on a customers site (that I didn't write) is
using
items.restrict as part of a search process which is used regularly on a
large
(15000+ ) public contact folder - which in turn maybe slowing the system.

Does anyone have any comments on rules of thumb for using items.restrict
so
as not to 'bring a server to its knees' (in Dmitri's words)
--
Business Solutions using Microsoft Outlook
www.davton.com





David Tongeman August 24th 07 12:52 PM

Speed issues using items.restrict on exchange
 
Thanks Guys - especially for the link to the support article. I'd looked and
looked but not found this.

The restrict filter would be used as part of a search routine to search for
different names. So for example items.restrict("[FullName] = " &
FullNameVariable ) or whatever the correct syntax is - you get the point.

So different restrictions would indeed be run by several users maybe 50 or
100 times a day to find information associated with different contacts. From
what you are saying this could slow down the server.

I think I'll go ahead and recommend the fix in the support article and see
if that makes any impact. Your time and experience are much appreciated
--
Custom Business Solutions using Microsoft Outlook
www.davton.com


"Dmitry Streblechenko" wrote:

Yes, the problem is not using the restrictions too much (that is exactly why
Exchange caches restrictions), but applying *different* restrictions.

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"Ken Slovak - [MVP - Outlook]" wrote in message
...
Dmitry can correct me if I'm wrong but I've never run into a problem with
either Items.Restrict or Items.Find with cached restrictions on the
server. Where I have run into problems is when I've used a Restrict on a
MAPITable and the filter uses something like a date value that changes,
for example testing for something related to today's date. That changes
every day and the restriction would be cached for a default of 8 days
(changeable on the EX server).

I tested for that and ended up with over 10,000 restrictions cached on my
server and even with only 2 active mailboxes it was taking over 10 minutes
to even switch from one item to another in Outlook until I ran code on the
server to kill the cached restrictions.

Also see http://support.microsoft.com/kb/216076

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"David Tongeman" wrote in
message ...
I read on Dmitri's Redemption site that Exchange cache's items.restrict
calls, and that using this method too frequently can slow an exchange
server
significantly.

I can't find any reference to this anywhere else... or any advice on when
to
use restrict and when to use filter/find/find next.

I suspect that some code on a customers site (that I didn't write) is
using
items.restrict as part of a search process which is used regularly on a
large
(15000+ ) public contact folder - which in turn maybe slowing the system.

Does anyone have any comments on rules of thumb for using items.restrict
so
as not to 'bring a server to its knees' (in Dmitri's words)
--
Business Solutions using Microsoft Outlook
www.davton.com






Ken Slovak - [MVP - Outlook] August 24th 07 01:58 PM

Speed issues using items.restrict on exchange
 
Again, in my experience I've had no problems with Items.Restrict, only with
MAPITable.Restrict. I suppose you could set up a bunch of Items.Restrict's
and look on the server using the information in that article and see if
those are being cached on the server.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"David Tongeman" wrote in message
...
Thanks Guys - especially for the link to the support article. I'd looked
and
looked but not found this.

The restrict filter would be used as part of a search routine to search
for
different names. So for example items.restrict("[FullName] = " &
FullNameVariable ) or whatever the correct syntax is - you get the point.

So different restrictions would indeed be run by several users maybe 50 or
100 times a day to find information associated with different contacts.
From
what you are saying this could slow down the server.

I think I'll go ahead and recommend the fix in the support article and see
if that makes any impact. Your time and experience are much appreciated
--
Custom Business Solutions using Microsoft Outlook
www.davton.com



Dmitry Streblechenko August 24th 07 06:24 PM

Speed issues using items.restrict on exchange
 
Which Outlook version did you use for testing? I remember my experiements in
Outlook 2000 (didn't check with a later version) where Items.Restrict did
cause problems. I wonder if Items.Restrict implementation was changed to use
IMAPITable::FindRow in later versions of Outlook...

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool

"Ken Slovak - [MVP - Outlook]" wrote in message
...
Again, in my experience I've had no problems with Items.Restrict, only
with MAPITable.Restrict. I suppose you could set up a bunch of
Items.Restrict's and look on the server using the information in that
article and see if those are being cached on the server.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"David Tongeman" wrote in
message ...
Thanks Guys - especially for the link to the support article. I'd looked
and
looked but not found this.

The restrict filter would be used as part of a search routine to search
for
different names. So for example items.restrict("[FullName] = " &
FullNameVariable ) or whatever the correct syntax is - you get the point.

So different restrictions would indeed be run by several users maybe 50
or
100 times a day to find information associated with different contacts.
From
what you are saying this could slow down the server.

I think I'll go ahead and recommend the fix in the support article and
see
if that makes any impact. Your time and experience are much appreciated
--
Custom Business Solutions using Microsoft Outlook
www.davton.com





Ken Slovak - [MVP - Outlook] August 24th 07 06:25 PM

Speed issues using items.restrict on exchange
 
My tests were with Outlook 2003.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"Dmitry Streblechenko" wrote in message
...
Which Outlook version did you use for testing? I remember my experiements
in Outlook 2000 (didn't check with a later version) where Items.Restrict
did cause problems. I wonder if Items.Restrict implementation was changed
to use IMAPITable::FindRow in later versions of Outlook...

Dmitry Streblechenko (MVP)
http://www.dimastr.com/
OutlookSpy - Outlook, CDO
and MAPI Developer Tool




All times are GMT +1. The time now is 12:29 PM.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com