![]() |
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 |
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 |
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 |
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 |
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 |
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 |
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