Tag Info

Hot answers tagged

31

Be sure your hardware meets the recommended requirements (not minimum). Then you may want to run some of the administration reports to identify slowly loading pages. Some things to consider: Are you running 64 bit or 32? Do you have auditing turned on for all lists? Are you displaying a relatively small number of items (100) per page on your list views, or ...


10

There's a couple of things I'd add to that: Database maintenance - best practice is to set up a SQL maintenance plan to do a DBCC CHECKDB, reorganize indexes etc. The authorative info is in the Database Maintenance whitepaper by Bill Baer On a similar note, make sure your DB backup strategy is appropriate to ensure transaction logs get truncated On a more ...


9

Depending on your content, that could be a very normal amount of RAM being used so I wouldnt worry about that. The very first thing to find out is what is using that much CPU, so pull up Task Manager on the server, go to Processes then check the button/box at the bottom to show all processes from all users. Click on the CPU column and look for the big ...


7

This is almost certainly due to the lack of caching on the content coming from the external site. How long does a request to the site normally take? Consider adding some caching, or displaying the content on your page asynchronously. And indeed, are you sure that you've not got a hidden list somewhere being used as a cache? i've seen that done. I presume ...


7

You're within the limitations of SharePoint (http://technet.microsoft.com/en-us/library/cc262787.aspx) in either scenario, which is good. Some of my thoughts As far as performance, I don't think you'll see much in way of improvement going from one DB to multiple DBs, unless you can move the DB files to different disk arrays. 100GB is a reasonable size for ...


6

Is it possible to do a similar trace on the external web page you are getting your data from? If this page is suffering from the performance inconsistency you may have found your culprit. If not, can you replace the external page with a mocked up static page that you control? If you can control the datasource it will help you ensure that anything you are ...


6

there are several good ways of retreiving data. Each has its pros and cons. Typically Search would be used when you want to list some, but not all, data (not all can be exposed) and when you want to retrieve data across site collectons. SPQuery, SPSiteDataQuery and PortalSitemapProvider are good candidates if you are on the same site collection. See some ...


6

Have you tried Fiddler? I think it would serve your purposes really well. http://www.getfiddler.com You could also enable the SharePoint Developer Dashboard to see loadtimes etc on a page. To enable it see use: $service = [Microsoft.SharePoint.Administration.SPWebService]::ContentService $addsetting =$service.DeveloperDashboardSettings ...


6

Leading on from @tylerrrr07's answer, there's another overload of GetItemsWithUniquePermissions which may be of use to you: MSDN: SPList.GetItemsWithUniquePermissions Method (int maxItemToReturn, bool folderOnly) You could then avoid the potentially huge result set from running the method by using the following: SPList.GetItemsWithUniquePermissions(1, ...


6

The various property bags are backed by Hashtable objects, except for SPWeb.Properties which is a StringDictionary (essentially a strongly-typed, non-generic Hashtable). SPWeb.AllProperties is a Hashtable and is prefered to AllProperties (it also does not force lowercase key values). The performance of all these containers is excellent (see for example ...


6

Problem solved and it was a very strange one (or maybe not). There is custom IHttpModule deployed that handles auditing view on list items. Client wanted to log everything so custom module was developed and deployed. Something like this: Sharepoint (WSS/MOSS) Auditing VIEW On List Items But if you read my question again you will see that there was problem ...


6

A few things in addition to the tips in Mike's link: If this is a publishing site, you might look into enabling output caching For all sites, enabling BLOB Caching can help performance Change the full and incremental crawls of your search to only run off hours. I've seen places that re-indexed all content every 10 minutes and then wondered why the site ...


6

I'd guess the culprit would be: SPFile file = web.Files[0]; This will load the entire collection into memory, even though you are only after a specific file. Use SPWeb.GetFile() instead. Edit Additionally, SharePoint 2007 and WSS 3.0 Dispose Patterns by Example provides an example of using the SPLimitedWebPartManager, that requires an explicit ...


5

SharePoint can indeed be a bit of a dog sometimes, but there is no reason it should be as bad as you make it out to be. Perhaps the problem is not really with the hardware, but rather a simple network related issue such as the one outlined here.


5

You might try enabling the blob cache on the web servers. This will allow files used by the pages; i.e. .js,.css and images, to be cached on the web server instead of being pulled from sql each time. About the blob cache - http://technet.microsoft.com/en-us/library/cc261797.aspx#section3 Configuration - ...


5

I ran into something similar (though might not be the same as you're experiencing). The solution made no sense to me at all, but resolved the EXTREME slowness and the client was happy leaving things as-is. I posted about it here on Server Fault: http://serverfault.com/questions/149320/further-performance-tuning-on-medium-sharepoint-farm And here is the ...


5

Are you surprised to see that it takes 7 seconds, or are you surprised to see that there seems to be some caching going on somewhere, even though you have not implemented any? I think the problem is more likely to be related to the actual datasource than your web part implementation. Does retrieval of the data involve an HTTP web request (like screen ...


5

There are so many better ways to improve the performance and scalability of SharePoint than trying to partition site collections across web applications. If you highly optiimize your logical and physical disk IO for SQL Server, partitioning the site collections across multiple content databases on a single web application may provide less contention and ...


5

Best practice is to use SPQuery on the list to return list items that match your criteria. See the software performance boundaries documentation here has some details (pertaining to 2007): http://technet.microsoft.com/en-us/library/cc287790%28office.12%29.aspx 2010 info is here: http://technet.microsoft.com/en-us/library/cc262787.aspx There was another ...


5

There's no magic way to speed up a crammed memory pool filled with maxed out working sets. The only way you're going to see performance improvements is to turn off the stuff you wont' be demonstrating. If you insist of showing off everything, do multiple sessions where you only show one feature/component at a time.


5

There is absolutely no performanve improvement by using the lists.asmx web service over using CAML directly. lists.asmx is just receiving your CAML passing it on to the SharePoint object model, format the result as XML. Sending request/response over the network (even internal on the server) and formatting SOAP messages isn't going to speed up things when ...


4

There should be almost no difference. In any case the extra time required for interprocess communication is very small compared with getting data from the database. There are two main reasons to use a sandboxed solution: You plan to deploy it to the cloud (SharePoint Online Services) To improve managability and security There are many situtations where ...


4

I asked that question at the SharePoint Conference and they said there shouldn't be any performance difference. I agree with you though, I would think that unpackaging the wsp, opening a new process, and returning the result would means slower page loads on whatever is using that functionality.


4

No official statement AFAIK, but the client object model will always be "slower". The Client Object Model calls a web service (client.svc) which uses the SP2010 object model to return the result. It is most likely faster than the old web services, since it only transfers the requested data instead of XLOBs (XML Large OBjects :-). JSON is used over the ...


4

Solving performance issues in SharePoint by second guessing what the problem could be could be a very long and tedious process. What you should do is give the site a thorough check-up for issues that could affect performance (and yes closed web parts is one on a probably very long list). Other candidates: large site collections(>100gb), large lists ...


4

It sounds like your query, probably on a list, is returning too many records or is inefficient. SharePoint could be caching the objects it returns internally, or it could be optimizing the query on requests after the first. This would lead the behavior you are seeing. I have seen that myself. Adding a RowLimit to your query, or limiting the view row count, ...


4

One start is to use the DeveloperDashboard (if you are using SP2010). THis is a dashboard which shows processing time of the page, split by control/webpart. It also shows all called stored procs, and much more. Click for an image: Developer Dashboard and most important: it's standard SharePoint 2010 functionality!


4

That is because the operations you mentioned are all performed the exact same way as with smaller lists. My take is: Always use SPQuery (single list query) or SPSiteDataQuery (along with CrossListQueryCache) for cross-list query (in the same site collection) or CoreSearchResults (or KeywordQuery for direct call) to get across Site Collections. Use the same ...



Only top voted, non community-wiki answers of a minimum length are eligible