![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
![]()
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 |
#2
|
|||
|
|||
![]()
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 |
#3
|
|||
|
|||
![]()
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 |
#4
|
|||
|
|||
![]()
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 |
#5
|
|||
|
|||
![]()
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 |
#6
|
|||
|
|||
![]()
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 |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
2 issues with outlook (language of folders and items remain in outbox) | Freaky | Outlook - General Queries | 1 | July 30th 07 01:27 PM |
Problem with MAPIFolder.Items.Restrict(), C#, Outlook 2003 and ear | OctopusThu | Add-ins for Outlook | 1 | January 26th 07 07:36 AM |
Speed up moving items | Kemal | Outlook and VBA | 3 | May 27th 06 11:31 AM |
Accessing OWA/Exchange through URL issues | Larry W | Outlook - General Queries | 3 | April 11th 06 04:08 AM |
Inbox, Sent Items & Outbox in Deleted Items in Outlook 2003 & OWA with Exchange | splounx | Outlook - General Queries | 1 | February 17th 06 02:22 AM |