Posts

VS 2015 Profiler may show different results with report generated from VS 2013

I just noticed that if I generate a profiler report using VS 2013, but open it in VS 2015, the report shows different results. Do not open the report in a different version of visual studio!

Unable to open huge profiler files in Visual Studio? (10GB 20GB)

Visual Studio would crash and burn on every system I tried. Finally got it working on a Windows 2012 R2 server with 98GB RAM. Still hangs, but can go through the different views. Found out the real reason - when it is opening the file, it is taking up disk space in the temp folder. If you do not have huge disk space then it runs out of space and dies. Observe the drive with temp folder having less and less space when the file is being opened. Also, you cannot predict how much it will consume. For a 10GB memory profile 50-60GB space was enough. For a 5GB sampling report, it is consuming more than 100GB.

Optimizing Windows Applications for Networking

This excel sheet is invaluable and shows all the settings I know of at every level (including the OS) to maximize the performance and scalability of network communications for any application running on windows. You will not be able to find all these settings in one place anywhere else. https://app.box.com/s/2rmmt0y09ybuu4747cpcae0adf7zfwkd

How to analyze a hang on a managed thread using windbg

The location of the crash dump file is: %LOCALAPPDATA%\Microsoft\Windows\WER - This is quite difficult to find online First download windbg using the latest windows SDK and select just the windows debugging components. Remember to use the right windbg for your process. If the process is x86, you need to use x86 windbg. This causes an error: “ Failed to load data access DLL, 0x80004005 ” Use this link to learn how to setup the environment properly : http://blogs.msdn.com/b/friis/archive/2010/09/02/managed-debugging-with-windbg-and-psscor2.aspx It mentions how to load the Psscor2 dll - Just note to copy the right dll (x86/ x64) after downloading it into the correct windbg.exe folder (x86/ x64). That is not mentioned clearly. http://www.microsoft.com/en-us/download/details.aspx?id=1073 Also, after setting the symbol path, please do .reload to reload the environment. srv*C:\Symbols\symserv*  http://msdl.microsoft.com/download/symbols .cordll -u -l...

Good explanation on thread safety of static methods.

http://stackoverflow.com/questions/17242732/c-sharp-are-parameters-thread-safe-in-a-static-method It is described very well in the answer.

Weird null reference error on role start after upgrade to Azure SDK 2.5

It was weird, got fixed after I commented the below code: //DiagnosticMonitorConfiguration config = DiagnosticMonitor.GetDefaultInitialConfiguration(); //config.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(5); //config.Logs.ScheduledTransferLogLevelFilter = Microsoft.WindowsAzure.Diagnostics.LogLevel.Warning; //DiagnosticMonitor.Start("Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString", config);

Hyper-V VM backup fails with VSS Error in Windows 2012 R2 Server

It would keep erroring out with some flush error saying that disk activity is too high and operation timed out. To fix this, set the registry settings as mentioned in the below article: https://social.technet.microsoft.com/Forums/windowsserver/en-US/e00123c7-44a3-4f53-a726-8abca7e4542b/vss-error-server-2012-datacenter-application-12289-12297-12340-8194-system-9?forum=windowsbackup At the registery (Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSer\Services\VSS\VssAccessControl there a 2 values like this: 1. REG_DWORD --> DOMAIN\USERFULLPERMISSIONS --> set to 3 (0x0000003) 2. REG_DWORD --> NT Authority\NetworkService --> set to 3 (0x0000003)