SharePoint 2013 page loads takes a very long time
-
Short version: Stopping the Distributed cache service gave me great performance! From 6.10 s to 79 ms
Something is just a liiitle bit off…?
Long story: This is a bit of reality right here…
I was about to give up on one of my labb SharePoint 2013 Environments because it was so extremely slow all the time.
Warmup scripts, reloads, more memory, more CPU, stopping services, stopping search…nothing helped.
I had a constant loadtime of all aspx pages of 6+ seconds, 6.10-6.20 something. Even when the page was just loaded and I pressed F5 to reload, it still took 6.10 seconds.
This was an environment that gave you sensitive nerves…
So, after looking for any solution or more like looking for the little issue that caused this all day, I gave up more or less.
- CPU was at a maximum 40% on SQL, SharePoint cranked it up to 18%…
- Memory consumtion was at 25% of the 12GB SharePoint had…
- SQL was Lightning fast to all other SharePoint farms…
- Network utilization showed about 100Kbps at the most…
I scavenged the internet as usual and found nothing but the standard: add more memeory, add more CPU, stop services, stop search…
None of that helped and I had tried it all…
Then…when all hope was lost, I got on a call with my excellent SharePoint buddy Mattias Gutke, we talked about the issue, his server on a laptop with SSD disks showed 50-100ms loadtime of all pages, reload did nopt even produce a flicker…
Then as often happens, we came to discuss the Distributed cache service, what it did and why it was there and so on…I had already had a look at it but could not find any reason why a default cache would give me this lousy performance. Then, I had a look at the timestamp in the F12 Developer dashbord – Network tab – Start capturing. I saw the home.aspx load and it took the usual 6.10 seconds.
The timestamp could be found in the detailed view and on the response header.
I memorized the timestamp (that was in GMT timezone) and opened up my ULS log. In the log at the exact time of the response header, I saw errors from the distributed cache.
I decided that t-shooting the distributed cache would have to wait, it was getting late…but, before disconnecting the Lync call with Mattias, we decided to try and see just what would happen if I stopped the distributed cache service and loaded the page.
Said and done:
Now, loaded the same site:
Whit the Distributed cache service running:
Notice any difference? Now my SharePoint farm is Lightning fast!!! From 6.10 seconds down to 79 ms!
Why is this so then you ask? No idea, something misconfigured or perhaps this is standard when using a single SharePoint server…anyway, today I don’t care.
Stop the service and the performance is great!
Hope this may help you as it did me!
Thanks to:
Mattias Gutke at CAG. Again, my SharePoint sparring partner no 1…
![]()
___________________________________________________________________________________________________
Enjoy!
Regards
Configure automatic password change in SharePoint 2013 using PowerShell
SharePoint fellas!
I have a new tip for you.
My very best SharePoint buddy asked me today how to configure the Automatic password change using PowerShell, he could not find an answer anywhere…it was a good question…seems like the answer was missing and that was when I started to do some research.
I found nothing! Could be that I missed something, but Technet, Blogs, Forums, none had the answer…
The impressive Engine of a Boeing 787 – Dreamliner
After a lot of testing and failing, I managed to produce this working script:
| *Must be executed in a PowerShell prompt running as administrator. *If used in a .ps1 script file, you have to set the execution policy first. *Replace the domain\accountname with an existing managed account. *Change the values to valid values that you want to use. |
# Set Automatic password change schedule
$SPManagedAccount = Get-SPManagedAccount -Identity “domain\accountname”
#Create a SPMonthlySchedule object and set default properties (as in the gui)
$SPSchedule = new-object Microsoft.SharePoint.SPMonthlySchedule
$SPSchedule.BeginDay = 7
$SPSchedule.EndDay = 7
$SPSchedule.BeginHour = 2
$SPSchedule.EndHour = 3
$SPSchedule.BeginMinute = 0
$SPSchedule.EndMinute = 0
$SPSchedule.beginsecond = 0
$SPSchedule.endsecond = 0
# Set the change schedule on the account
$SPManagedAccount.ChangeSchedule = $SPSchedule
$SPManagedAccount.DaysBeforeExpiryToChange = 2
# Properties not enabled in a default scenario in the GUI
$SPManagedAccount.EnableEmailBeforePasswordChange = $False
$SPManagedAccount.DaysBeforeChangeToEmail = 2
# Enable and make the change
$SPManagedAccount.AutomaticChange = $True
$SPManagedAccount.Update()
Done!
In my environment, it looks like this:
After successfulle updating the Managed Account with the automatic update Schedule, I just typed in
$SPManagedAccount
and hit enter, that gives you the most common properties
If you want to see the entire Schedule with details, type in:
$SPManagedAccount | ft ChangeSchedule
Then you get this:
Thats it, a Schedule has been set!
| If you want to use the GUI in central administration to find out what values to set, enable the Automatic Password change on any managed account, than set the values you want in the graphical user interface. Save them by clicking OK. Next you run the following in your PowerShell prompt: $SPTemplateManagedAccount = Get-SPManagedAccount “corp\sp10search” $SPTemplateSchedule = $SPTemplateManagedAccount.ChangeSchedule $SPTemplateSchedule This will produce a list looking like this: BeginDay : 7 EndDay : 7 Description : Monthly BeginHour : 2 EndHour : 3 BeginMinute : 0 EndMinute : 0 BeginSecond : 0 EndSecond : 0 Use the values in the list in your script and you will have identical values set. |
Note: If you want to have a Daily Schedule instead of Monthly like in my example, you will have to modify the script to create a Microsoft.SharePoint.SPDailySchedule object instead.
If you do that, you will also have to remove the lines setting the BeginDay and EndDay values, they are not used in a Daily Schedule object.
Good luck!
References:
Configure automatic password change in SharePoint 2013 (GUI version only)
http://technet.microsoft.com/en-us/library/ff724280.aspx
Plan automatic password change in SharePoint 2013
http://technet.microsoft.com/en-us/library/ff724278.aspx
Thanks to:
Mattias Gutke at CAG. He asked the question…
![]()
___________________________________________________________________________________________________
Enjoy!
Regards
A quick guide to configuring the Loopback check
Hi dear friends!
401.1 Access denied…
If you try to access your newly created web application with a real nice FQDN or NetBIOS name and you end up getting a 401.1 Access denied…
Even after adding the site to the local intranet zone in IE…
Even after beeing prompted 3 times and filling in the correct credentials…
After setting up your Search to crawl you sites in a small farm whith crawl and web services on the same server…
You check and doublecheck your credentials, you add yourself as the farm admin, you try logging on with the farm account, but nothing…still 401.1…
I know this has been written about many times Before, but some things seem to still be missing…
Now everyone seems comfortable with the sparse description on how to ‘add hosts to the list’ which is pretty much what you do when configuring the loopback check the ‘secure way’. You can also disable the loopbackcheck completely, but why if there is no real reason. Read Spencer Harbars excellent post on the topic if you need explaining why this is so. It is a few years but it is still the truth!
The KB article 896861 for this is an old one and the title does not really tell you that this is the one you are looking for, ‘type the host name or the host names for the sites that are on the local computer, and then click OK.’ is not crystal…
| Jump to: |
| Configure Loopback check using the GUI |
| Configure Loopback check using Powershell |
| Credits and References |
What you need to do is this step by step:
In ‘Metro’ mode, type regedit
Regedit will most likely be the only result, hit enter
In regedit, find the following registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0
First…
then…
Now, create a Multi-String Value under the MSV1_0 key.
Type in the name of the new Multi-String value: ‘BackConnectionHostNames’, Hit Enter.
Right click on the value BackConnectionHostNames and coose Modify.
Add the URL you want to be able to access from a local browser on the server.
Don’t know why, but I seem to Always get this. Click Ok.
Viola!
Adding multiple URL’s to the list of ‘trusted’ URL’s, simply make a new line between them.
That will look like this.
To be extra sure that nothing else will sabotage functionality, check so that the URL’s are added to DNS.
(Or local hosts file)
Check so that the URL’s are added as bindings in IIS.
Verify that the URL’s are correct and are added to AAM.
Make sure that the URL is added to the Local Intranet Zone in Internet Explorer (if you need to browse the site from the server, NOT RECOMMENDED!).
Try to access the URL in a browser.
And the other URL.
Doing the same using PowerShell
Using PowerShell to configure the Loopback check, requires two steps:
1. Add the multistring value to the registry
Get-Item -path “HKLM:\System\CurrentControlSet\Control\Lsa\MSV1_0″ | new-Itemproperty -Name “BackConnectionHostNames” -Value (“coolsite.corp.balkestahl.se”, “alias.corp.balkestahl.se”) -PropertyType “MultiString”
2. Restart the IISADMIN service
Restart-Service IISADMIN
1. Add the multistring value to the registry
Given that you have Everything setup correctly, your AAM’s, your DNS entrys, (URL added to local intranetsites zone in IE), and so forth…you can use this single PowerShell command to exclude the URL’s for your sites from the loopbackcheck, this way, you don’t have to disable the loopbackcheck at all (Way better security).
The following command will add my two URL’s to the exclusion list, edit the values to add your own URL’s.
| Run this in a PowerShell prompt running in elevaled mode/as Administrator |
Get-Item -path “HKLM:\System\CurrentControlSet\Control\Lsa\MSV1_0″ | new-Itemproperty -Name “BackConnectionHostNames” -Value (“coolsite.corp.balkestahl.se”, “alias.corp.balkestahl.se”) -PropertyType “MultiString”
Running this will if Everything is done right, show this
This is how it will look if it succeeds!
If you get ‘The property already exists.’, then you already have the ‘BackConnectionHostNames’ value added to the registry, check using registry editor to see if you can delete it or if it has other values that need to be there.
After a successful execution, check the registry to verify

2. Restart the IISADMIN service
Now you have to restart the IISADMIN service in order for it to ‘reread’ the registry values and implement our Changes.
This is easy, in a PowerShell prompt running in elevaled mode/as Administrator
Restart-Service IISADMIN
| Note the typo/bug in the text, it says stopping twice but what it does it stopping and starting |
Done!
The command line in step 1 will add two (2) entries to the list, coolsite.corp.balkestahl.se and alias.corp.balkestahl.se. If you need to add more URL’s, add them to the Values, like: -Value (“coolsite.corp.balkestahl.se”, “alias.corp.balkestahl.se”, “mycoolnetbiosname”, “extraname.corp.balkestahl.se”).
| Make sure that the doublequotes are formated in the proper way if you copy from this post! |
That would make the command
Get-Item -path “HKLM:\System\CurrentControlSet\Control\Lsa\MSV1_0″ | new-Itemproperty -Name “BackConnectionHostNames” -Value (“coolsite.corp.balkestahl.se”, “alias.corp.balkestahl.se”, “mycoolnetbiosname”, “extraname.corp.balkestahl.se”) -PropertyType “MultiString”
and
Restart-Service IISADMIN -force
-
-
References:
You receive error 401.1 when you browse a Web site that uses Integrated Authentication and is hosted on IIS 5.1 or a later version
http://support.microsoft.com/kb/896861
DisableLoopbackCheck & SharePoint: What every admin and developer should know. (Spencer Harbar folks)
http://www.harbar.net/archive/2009/07/02/disableloopbackcheck-amp-sharepoint-what-every-admin-and-developer-should-know.aspx
Can’t crawl web apps you KNOW you should be able to crawl (Todd Klindt’s oldie but goodie)
http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?ID=107
Thanks to:
As Always, Mattias Gutke! Now at CAG. Always a great help and second opinion!
![]()
___________________________________________________________________________________________________
Enjoy!
Regards
100K Views of BLKSTHL
100.000 views of
!
…a small step for the SharePoint Community, but a huge step for a simple SharePoint enthusiast…
-
Today, on April 16th 2013 I got my 100.000′nd view on http://blog.blksthl.com. It’s an amazing feeling. I never suspected that when I first started blogging about a year and a half ago. As you can see in my very first post ever: http://blog.blksthl.com/2011/06/23/first-post/
the content has improved somewhat since then…
I’m honoured and humbled be this great number, if it were unique visitors then it would be a lot of people…all of these visits from people all over the World, all in all, I have had people coming in from 174 different countries to visit, that’s really Amazing!
All I can do now is try to keep it up, I’ll try to keep writing the guides that nobody else does, try to add the information that is not avalible in any decent form anywhere else. If you have a topic that you want me to do a post on or a guide on how to do, let me know and I’ll think about it.
I also have to say
THANK YOU as well to all of you who have visited my blog
THANK YOU who have commented
THANK YOU who have contributed
Thanks a lot everyone for reading what I write.
I also have to say a special thanks to my friends and coworkers over time who have in different ways helped me and supported me during my SharePoint efforts, without these guys, I would never have managed:
Mattias Gutke, Björn Rosen, Anders Grönlund, Niklas Goude, Andrija Marcic, Mattias Karlsson.
Thanks guys!
With that, onward towards 200.000, or maybe 1.000.000 is the next official milestone?
![]()
___________________________________________________________________________________________________
Keep enjoying!
Regards
SharePoint Server 2013 Language Packs
Hi dear friends!
Language support in SharePoint 2013 onprem…
(Lacking better info, I assume that the same list applies to SharePoint online)
Remember this anyone?
If you are like me you have not seen anything official on the topic of Language Packs and release dates and availability yet (written April 16, 2013).
I don’t know if anyone has put this info out there yet, but I have not found it and then I figure it won’t hurt to do it here I guess…
In my case, I was looking for Swedish, but others need to find their special local language, now I have some info for all of you:
| Jump to: |
| SharePoint Server 2013 LP’s |
| SharePoint Foundation 2013 LP’s |
| Office Web Apps 2013 LP’s |
| Credits and References |
-
| SharePoint in the languages listed under Server Language packs are also available in a localized server version, these are also available at MSDN |
SharePoint Server 2013
On MSDN (and TechNet) you will find these packs available for download (link):
(nn_office_server_2013_language_pack_x64_dvd_nnnnnnn.iso)
List last updated April 16, 2013
| Language | Release date |
| English | November 7, 2012 |
| German | November 7, 2012 |
| French | November 7, 2012 |
| Hebrew | November 7, 2012 |
| Italian | November 7, 2012 |
| Japanese | November 7, 2012 |
| Spanish | November 7, 2012 |
| Portuguese-Brazil | November 7, 2012 |
| Chinese – Simplified | November 7, 2012 |
| Chinese – Traditional | November 7, 2012 |
| Dutch | November 7, 2012 |
| Korean | November 7, 2012 |
| Russian | November 7, 2012 |
| Czech | January 23, 2013 |
| Greek | January 23, 2013 |
| Hungarian | January 23, 2013 |
| Romanian | January 23, 2013 |
| Thai | January 23, 2013 |
| Turkish | January 23, 2013 |
| Ukrainian | January 23, 2013 |
| Serbian | February 27, 2013 |
| Slovak | February 27, 2013 |
| Slovenian | February 27, 2013 |
| Bulgarian | February 27, 2013 |
| Croatian | February 27, 2013 |
| Estonian | February 27, 2013 |
| Kazakh | February 27, 2013 |
| Latvian | February 27, 2013 |
| Lithuanian | February 27, 2013 |
| Danish | March 7, 2013 |
| Finnish | March 7, 2013 |
| Norwegian | March 7, 2013 |
| Swedish | March 7, 2013 |
| Arabic | March 14, 2013 |
| Hindi | March 14, 2013 |
| Polish | March 14, 2013 |
| Portuguese-Portugal | March 14, 2013 |
| Malay | March 14, 2013 |
| Indonesian | March 14, 2013 |
| Vietnamese | March 14, 2013 |
SharePoint Foundation 2013
Language Packs for SharePoint Foundation 2013 is a free download (link)
(sharepointlanguagepack.exe) I recommend renaming the files when downloaded since all LP’s have the ame name, add for example the two letter code for your country after the filename: sharepointlanguagepack_se.exe (Swedish SPF LP)
Size: Aproximately 29 MB
List last updated April 16, 2013
| Language | Release date |
| Arabic | October 30, 2012 |
| Chinese (Simplified) | October 30, 2012 |
| Chinese (Traditional) | October 30, 2012 |
| Dutch | October 30, 2012 |
| English | October 30, 2012 |
| French | October 30, 2012 |
| German | October 30, 2012 |
| Hebrew | October 30, 2012 |
| Italian | October 30, 2012 |
| Japanese | October 30, 2012 |
| Korean | October 30, 2012 |
| Portuguese (Brazil) | October 30, 2012 |
| Russian | October 30, 2012 |
| Spanish | October 30, 2012 |
Office Web Apps 2013
Language Packs for Office Web Apps 2013 is a free download (link)
(wacserverlanguagepack.exe) I recommend renaming the files when downloaded since all LP’s have the ame name, add for example the two letter code for your country after the filename: wacserverlanguagepack_se.exe (Swedish LP)
Size: Aproximately 25.5 MB
List last updated April 16, 2013
| Language | Release date |
| Arabic | October 30, 2012 |
| Chinese (Simplified) | October 30, 2012 |
| Chinese (Traditional) | October 30, 2012 |
| Dutch | October 30, 2012 |
| English | October 30, 2012 |
| French | October 30, 2012 |
| German | October 30, 2012 |
| Hebrew | October 30, 2012 |
| Italian | October 30, 2012 |
| Japanese | October 30, 2012 |
| Korean | October 30, 2012 |
| Portuguese (Brazil) | October 30, 2012 |
| Russian | October 30, 2012 |
| Spanish | October 30, 2012 |
I hope that this will help you find what you need. Thuis was the kind of info I was looking for and could not find so hopwefully it will help you save time.
References:
Language Packs for Microsoft Office Web Apps Server
http://www.microsoft.com/en-us/download/details.aspx?id=35490
Language Packs for SharePoint Foundation 2013
http://www.microsoft.com/en-us/download/details.aspx?id=35492
Office Server 2013 Language Pack on MSDN Subscriber Downloads
https://msdn.microsoft.com/en-us/subscriptions/securedownloads/hh442898.aspx#FileId=50889
Install or uninstall language packs for SharePoint 2013 (Foundation and Server)
http://technet.microsoft.com/en-us/library/cc262108.aspx
Thanks to:
Wictor Wilén who pointed out the simple fact to me that the Server LP’s were available on MSDN…a fact I had somehow managed to miss.
![]()
___________________________________________________________________________________________________
Enjoy!
Regards
Awarded MVP status
Email in on April 1st 16:55 local time(UTC+1):
Dear
Thomas Balkestahl,
Congratulations! We are pleased to present you with the 2013 Microsoft® MVP Award!
…
On April 1st 2013 I was awarded the title MVP by Microsoft, first time and all, it is hard to grasp what this will mean for me. First off I feel like it is simply an elaborate thank you from Microsoft for the work I have done in the SharePoint community, but in a way it is so much more. Some doors that were previously closed will now be open, I also suspect that the title will bring with it some respect that will help me achieve things and a respect that I will have to live up to, this will be a challenge that I gladly accept!
For those of you who don’t know me or perhaps don’t know me that well (yet?), I can say that a lot of hard work is behind this title, a lot of work! I will not go into detail on what I have done and what I haven’t, but I invite you all to browse around this blog, new and old posts and perhaps you will get a feel of what I have been up to during the last year and a half.
Every award has to be followed up by a thank you speech right? Ok, ok, calm down, I will not break the tradition…Since this blog is my forum for public speech, I will also give the thank you speech here. Ok, here it goes (quiet down everyone):
*** Overly ambitious speech starts here ***
First off I have to thank my family and my parents, my father who is greatly responsible for me being in this trade in the first place. At a computer fair in the late seventies/early eighties he taught me the very essence of programming:
10 PRINT “Thomas”
20 GOTO 10
Those simple lines made me realize that the sky was the limit, anything was possible on a computer and from that fair, I left an enlightened child. Soon after that he provided me with my first personal computer, the Sinclair ZX81, a wonder of modern technology, basic was built-in and all touch keys had its predetermined basic command, like PRINT, GOTO, LIST and so on…so, Dad, Thanks a lot for putting me on a career path that I love! My mother has been equally supporting but less involved in the technology, Thanks Mom!
I also have to thank my two wonderful kids, they always put up with a dad glued to the computer late at night and they are always my no 1 inspiration! I love you both and I would do anything for you!
Thanks to my brother, you are the best brother I could ever want!
My dear friends, all of you, you also know who you are, Thanks! Without my friends I would not endure for long.
To my customers, honestly, some of you have been and are really great and some of you have been the inspiration of some of the more popular posts on this blog!
Thanks to my employers over the years, for putting up with me…especially Microsoft, Enfo Zipper and TrueSec!
Of course, a big THANK YOU to my colleagues at TrueSec, LabCenter and AddLevel. You all inspire me!
In case I unintentionally missed someone, I’ll simply add a big THANK YOU to all the rest, thanks for all the good that you have done.
*** Too long and boring speech ends here ***
Thats it, now I’ll simply keep going and see where that leads me…
Sinclair ZX81
http://en.wikipedia.org/wiki/ZX81
TrueSec
http://www.truesec.se/
Enfo Zipper
http://www.zipper.se
MVP Home
http://mvp.support.microsoft.com/
My MVP Profile
https://mvp.support.microsoft.com/profile/Balkestahl

___________________________________________________________________________________________________
Moving on to the next chapter!
Regards


















































