Quantcast
Channel: Performance
Viewing all 447 articles
Browse latest View live

Stress Testing Issue When Adding A Second IIS Server

$
0
0

The diagram below describes our soon to be production environment, our user registration process, our async web API client, and our stress test application.  I have successfully stress tested our User Registration process going to each of our IIS Servers and I am able to run 110 concurrent User Registration tasks without receiving any errors.  I was able to run 50,000 user registrations in about 53 minutes.  The IIS Server's CPU Utilization averaged 78% and SQL Server's was 13%.  Increasing the number of concurrent tasks over 110 results in the following exceptions being thrown: "A task was canceled." or "The underlying connection was closed: A connection that was expected to be kept alive was closed by the server."  My assumption was that IIS was running out of resources.  I was OK with this result.

 

I was hoping to be able to get 220 concurrent user registration tasks (110 for each server) when stress testing both IIS Servers simultaneously.  I placed the stress test client on two separate development machines: 1 targeted the first IIS server and the second one targeted the second one.  I received the exceptions that I mentioned above right away.  I had to reduce the concurrent user registration tasks to 55 for each server in order to successfully run my tests with without exceptions.  My first thought was that SQL was restricting the number of connections, but max concurrent connections is set to 0 which means it unlimited (32767 concurrent connections).  From my research, I don't think there is a per database connection limit.  It doesn't make sense that the issue is on the IIS Servers because each one can separately run 110 tasks concurrently.  I did try increasing the SQL Connection Pool Max Pool Size to 150 (I didn't expect it to solve this problem, but wanted to see if this could allow me to run more than 110 concurrent tasks on a single server).  Any thoughts on where I can check next?

Stress Test Environment


iis worker process restart if memory exceeds threashold

$
0
0

is there a way to use the advanced settings of app pools to have them reset their respective w3wp process if it goes above a certain value, e.g.; 500,000KB

if so, what are the specific field selections/values that must be configured for this recycle to occur?

IIS is extremely slow after Windows Fall Creators Update (1709)

$
0
0

Hi everyone,

Recently my computer did an auto update to install Windows Fall Creators Update (1709). I tried updating another computer of mine to see if the update was actually the cause of the issue, and I have the same problem on my other work station. After the update, my ASP.NET Web Application which is configured to run on IIS has become extremely slow when I try to navigate between pages. It appears that the issue only occurs in pages in which the Session variable is in used. Have anyone encountered the same issue or any suggestion to debug the issue?

Thank you.

IIS Output Caching removes max-age and expires response headers

$
0
0

We run a relatively high-traffic site on IIS 10 and have recently been setting up output caching to improve performance on static and static dynamic (resized images for instance) resource files.

The default IIS settings don't appear to be very useful for large websites with footprints of tens of thousands of files, so we tweaked the configuration to reflect some lessons we learned elsewhere online. These may be useful to diagnose the problem, or just for someone else looking to optimise:

Updating the registry setting to define how long files are kept in the cache using HKLM\System\CurrentControlSet\services\InetInfo\Parameters\ObjectCacheTTL updated to 21600 (6 hours)

Likewise, increasing the MaxCachedFileSize to 6291456 (6 MB in bytes)


Updating httpCompression maxDiskSpaceUsage="2048" (mb) in applicationhost.config

Setting the app pool timeout to 0, and start mode to always running


Setting <serverRuntime frequentHitTimePeriod="12:00:00" frequentHitThreshold="2" /> in applicationhost.config so that output caching kicks in on the second request for any file in a 12 hour period


Adding extension profiles in web.config for .jpg, .png, .gif, .mp4, .css, .js, .woff, .ttf, etc. with policy="CacheUntilChange" kernelCachePolicy="CacheUntilChange" varyByQueryString="v" location="Any" (location=any to remove the cache-control: no-cache header


And in IIS, turning on keep-alive and setting expire web content to 28 days using http response headers > set common headers

In our MVC image resizer, we set:

    Response.Cache.SetSlidingExpiration(true);
    Response.Cache.SetCacheability(HttpCacheability.Public);
    Response.Cache.SetExpires(DateTime.Now.AddDays(28));
    Response.Cache.SetMaxAge(new TimeSpan(672, 0, 0));

    Response.Cache.SetLastModified(lastModified);

    Having recycled the app pool to clear the cache, the first hit on a file returns all of the correct headers. But after the second hit, when IIS output caching has kicked in, the expires, last modified and max-age headers all disappear.

    Does anyone have any ideas about why this is the case?

    How to diagnose "Thread::intermediateThreadProc issue"

    $
    0
    0

    Hi,

    I have web application running on IIS, my application sometime have CPU percentage above 90%. When i collect the dump file then i found there are few threads which are taking more time. Please find one of the thread diagnose report. 

    I am not able to understand how to solve this problem and where to start. Could you please help me to understand what this issue is and why this is happening.

    Thread 33 - System ID 10552
    
    
    
    Entry point   clr!Thread::intermediateThreadProc
    Create time   2/7/2018 7:30:32 AM
    Time spent in user mode   0 Days 00:06:17.437
    Time spent in kernel mode   0 Days 00:00:07.203
    
    
    
    Call Stack
    
    
    
    
    ntdll!NtWaitForSingleObject+14
    KERNELBASE!WaitForSingleObjectEx+8f
    clr!CLRSemaphore::Wait+8a
    clr!ThreadpoolMgr::UnfairSemaphore::Wait+f1
    clr!ThreadpoolMgr::WorkerThreadStart+2d1
    clr!Thread::intermediateThreadProc+86
    kernel32!BaseThreadInitThunk+14
    ntdll!RtlUserThreadStart+21
    Thread 34 - System ID 12348
    
    
    
    Entry point   clr!Thread::intermediateThreadProc
    Create time   2/7/2018 8:53:47 AM
    Time spent in user mode   0 Days 00:06:16.171
    Time spent in kernel mode   0 Days 00:00:04.750
    
    
    
    Call Stack
    
    
    
    
    ntdll!NtWaitForSingleObject+14
    KERNELBASE!WaitForSingleObjectEx+8f
    clr!CLRSemaphore::Wait+8a
    clr!ThreadpoolMgr::UnfairSemaphore::Wait+f1
    clr!ThreadpoolMgr::WorkerThreadStart+2d1
    clr!Thread::intermediateThreadProc+86
    kernel32!BaseThreadInitThunk+14
    ntdll!RtlUserThreadStart+21
    
    
    
    Thread 35 - System ID 11236
    
    
    
    Entry point   clr!Thread::intermediateThreadProc
    Create time   2/7/2018 9:34:20 AM
    Time spent in user mode   0 Days 00:03:33.187
    Time spent in kernel mode   0 Days 00:00:07.375
    
    
    
    Call Stack
    
    
    
    
    ntdll!NtDelayExecution+14
    KERNELBASE!SleepEx+a7
    clr!EESleepEx+33
    clr!ThreadpoolMgr::UnfairSemaphore::Wait+b1
    clr!ThreadpoolMgr::WorkerThreadStart+2d1
    clr!Thread::intermediateThreadProc+86
    kernel32!BaseThreadInitThunk+14
    ntdll!RtlUserThreadStart+21



     

    Intermittent Site Hang (ASP Request Execution Time)

    $
    0
    0

    Background

    We have a third party application running which has its own 2012 R2 IIS server (2x 2.29Ghz, 8Gb, VM within VMWare environment) and also uses our 2014 SQL Server.   The issue started on 22 January and prior to that the site has worked fine for 4 years.

    For the last 3 weeks, seemingly intermittently the web application has become unresponsive for anything from 20 seconds to 20 minutes, however CPU/Memory/Disk access is fine.  Performance Monitor shows a big spike in Active Server Pages "Requests Queued" and "Requests Executing" over the same time period.  Other counters (Drive, Network, plus the SQL server access) all look normal and do not spike.

    The web server has been migrated to different hosts, and even to a different data center altogether.  In addition we have also spun up another 2012 R2 server and migrated the site and the problem follows.

    We have 2 other instances of this product, each with a dedicated web server and neither have this issue.

    Using performance monitor we can see the request queue spike by 5x and in turn drive up executing time.  Is there anything in IIS we can use (knowing the start and finish time of the issue) to potentially see the trigger of this spike?

    Any help, advice and pointers appreciated!

    Performance difference between IIS 7.5 (Windows server 2008 R2) and IIS 8.5 (Windows Server 2012 R2)

    $
    0
    0

    Dear all,

    we have implemented an ASP.NET MVC site that read some data from cache and return json.

    The site installed in an WS 2008 R2 machine responds quickly: 165 concurrent requests in about 6 seconds.

    But the same site in an WS 2012 R2 machine responds slowly: 165 concurrent requestes in about 20 seconds.

    The site is installed in the same manner with the same configuration; we don't have change the default settings of application pools and sites; both the servers are virtual (VMWare).

    We try to use Performance Monitor to understand more about the problem: in fact we see that in the first server the Req/s are more than the second server.

    What can we do to diagnose the problem?

    Thanks in advance.

    Slow Rendering of Default Page (IIS 10)

    $
    0
    0

    In each of several directories I have default.aspx pages.

    I've set the default documents in IIS configured such that default.aspx is at the top of the list.

    The default pages still take about 2-3 minutes to load.

    So if I navigate to www.domainname.com/accounting/default.aspx the page loads quickly; however, if I navigate towww.domainname.com/accounting/ the page takes ~two minutes to load.   The pagedoes load, it is found but it takes a very long time only when relying on the default behavior.

    Any help appreciated.


    Bizarre Performance Issues

    $
    0
    0

    So, I have two clustered virtual web servers using NLB to merge to a single IP.  NLB is currently configured to use one server at a time.  This was setup so I could apply updates and reboot without interrupting service.  The servers also use FastCGI-PHP as the page language.

    The server has ran fine for several years, then recently, in the past few days, I have noticed a tremendous slowdown on page requests on all of our sites.  The least used ones seems to be the most affected.  At first I thought it was our Max Instances setting, I then set it to 40 instances (10 / per core x 4 cores), but it didn't seem to help.

    Then I noticed something odd.  So long as NLB was using my backup server, the requests were snappy and near-instant.  The moment I go back to our main server, it slowed way down, sometimes taking up to 10+ minutes to get a reply back.  The logs also were reflecting these poor request times on the main server.

    The problem?  These two servers use a shared configuration, any change made to one, is made to the other.  So they are exactly the same.  This means there's got to be something with the virtual server itself, and I have no idea where to start.

    Any help is greatly appreciated.

    *edit*

    I just did a diff-level comparison of php.ini files on both servers, and they are identical as well.

    What "Connection_Dropped_List_Full" in IIS Httperr log refers to?

    $
    0
    0

    I can see from official description on (https://support.microsoft.com/en-us/help/820729/error-logging-in-http-apis) that it refers to The list of dropped connections between clients and the server is full. Specific to Windows Vista and later versions and to Windows Server 2008 and later versions. This explanation does not really make sense since there is no information what exactly that list is and how do you monitor it or configure it. This is not related to application queue being full since that one is presented as separate error message in the same error log as QueueFull error. Anybody has any insider details what that error specifically means and how it can be configured or monitored

    How do you performance test JavaScript code?

    $
    0
    0

    Is there a quantitative way of testing performance in JavaScript besides just perception of how fast the code runs?

    IIS 8 Worker Processes Overload Certain Application Pool With Requests…PHP Issue?

    $
    0
    0

    I've been trying to solve this problem for some time now and have only been able to put band-aid style fixes on it, not really fixing the underlying problem. I'm hoping someone here might be able to help.

    I work at a college and we use IIS 8 to manage our web server, on which we host over 80 websites, all of them WordPress based. Every other day when we get to the office it seems any one of our sites is down due to a massive amount of worker processes overloading IIS, and to fix this we go into IIS 8 and stop and restart the web server. Initially we thought this was a recycling issue and so we set the server to recycle requests periodically but eventually that became ineffective and didn't really address the underlying problem. We believe it may have something to do with our PHP configuration, but again, we cannot seem to narrow it down. We've searched and tried different things, yet nothing seems to solve the problem.

    One potential solution I came across was a tutorial explaining how to limit CPU usage after a certain threshold is met but the weird problem here is that on our web server we have sixteen separate application pools and the CPU is never overloaded, even when the application pool in question is stuck. In other words, the other application pools continue working as they should, so I don't think this is the correct solution.

    Does anyone have any idea why this happens or has anyone experienced and solved this before?

    ARR performance

    $
    0
    0

    Hi

    i am pretty new to IIS and ARR. i have 3 iis servers.

    server 1 is running ARR and loadbalancing to the other two, with roundrobin, the loadbalancing works.

    server 2-3 is running just ISS and the website

    the website is a warehouse application so the application service on server 1 is contacting the ERP system to get data about I.E. articles. 

    When they just browse the website everything works, but when they want to get data from the ERP system it takes a long time. 

    But if I access server 1 locally it works perfekt, it´s only when i access server 1 via the DNS-record for ARR, throu the loadbalancing, it takes a long time to get data from the ERP system.

    ML ARR

    //MM

    Performance issue and errors when more then 170 request each minute

    $
    0
    0

    Hi,

    We have a Windows Server 2012 and IIS 8

    I've serious problem with a a webservice that is printing labels for European warehouses.

    Sometimes we have to print more then 170 labels each minute.  But it becomes extremely slow and i find the following messages in the log

    200 0 0 3140

    200 0 64 74829

    200 0 64 86641

    200 0 64 114204

    200 0 64 60063

    200 0 0 3546

    200 0 64 108704

    200 0 64 144189

    200 0 0 3500

    200 0 64 98267

    200 0 64 65188

    200 0 0 4562

    200 0 64 98485

    200 0 64 89141

    200 0 64 139017

    200 0 0 5484

    200 0 0 5187

    200 0 64 80001

    200 0 64 100142

    200 0 64 142564

    200 0 0 3890

    200 0 64 126501

    200 0 0 4000

    200 0 64 122126

    200 0 64 62829

    I've no experience to fine tune the webserver but still have to do it. What should I do?

    First asp.net core app. fast localy, 30s loadtime on internet

    $
    0
    0

    Hi. I started with asp.net applications and iis like a month or two ago so bear with me here. This is a initial problem after finally getting internetaccess to the page. The problem is that everything works fine localy, the application is very fast and responsive. But when I access it  through the dns beta.dayzintenz.com its superslow and sometimes it even times out. Its a updated ASP.NET core application. Im using a TP-link router, and settings should be mostly default.

    What could be wrong here? I have 200 down and 40 up in the tests I do on my server, and the computer has almost no workload when dealing with the requests. Is there any debugging tools? I am using windows server 2012 r2. Basically any kind of help with debugging these kind of problems would be appreciated. Even basic cmd commands.

    Thank you in advance.


    Option "Throttle" AppPool not limit CPU usage

    $
    0
    0

    Good Morning.

    We have a Windows 2012 Server (IIS 8) server with multiple ASP hosted on the websites.

    We find that more and more often some of the w3wp.exe processes each AppPool remain consuming 100% of the server, and leave syucked other websites, and the server in general. So far we have not yet discovered the cause of the problem.

    We have tried to activate the Throttle option for each w3wp.exe process will only consume a maximum of 20% of the CPU, but this option is not working for me, and the App pools that are hung still consume 100% CPU and leaving the server not responding.

    I've been looking information, and in most articles explain how to configure it, and only indicates that you must set the AppPool settings and you're done.

    According to the documentation, the values ​​we have set are:

    Action Limit: Throottle

    Limit (% 1/1000): 20,000

    I would appreciate any comment about it to help me run this option throotling for AppPool CPU.

    Thank you very much.

    Greetings.

    Need Guidelines For Setting Compression Strategy on WCF services at IIS 8.5

    $
    0
    0

    HI,

    I am currently working on project with a WCF service hosted on IIS 8.5. Some of the WCF service methods returning large amount of XML Data (Dynamic content) to the client with the SOAP Protocol .

    Hence, to save the bandwidth for each packet of data (which is dynamic) over the network.We came over a solution of implementing the feature of HTTPCompression provided by IIS.

    So, we are stuck up in deciding the compression level for dynamic content..

    Anyone, can help me deciding what could be the idealistic compression level that should be set for dynamic content ?

    Or, can you suggest me any other solution for this.

    Thanks in Advance !!

    Regards, 

    Hemant

    Am using IIS 8.5 hosted one application getting poor performance

    $
    0
    0

    Dear team,

    Am using solarwinds monitoring tools and hosted website in IIS 8.5 server have 64GB RAM and 32 Cores CPU and memory utilization will be normal 50% always. At same time more then 80 web pages will open for this application remotely.

    We are facing website very slow idle timout is 1443 min and worker process 1 and action terminate start mode alwayrunn

    Please suggest how to improve the website performance.

    Thanks & Regards 

    Rajasekar.M

    +918220335123

    IIS Express Slow aspx start trace shows - VIRTUAL_MODULE_UNRESOLVED

    $
    0
    0

    Starting the app from VS 2017 using IIS express the page sits for 50 secs waiting on local host.

    IIS Express trace shows - VIRTUAL_MODULE_UNRESOLVED

    Name FormsAuthentication
    Type System.Web.Security.FormsAuthenticationModule

    This takes 35 secs to process. Can anyone give me a clue on what would cause this and how to resolve?

    Trace log

    Cache control with IIS and Cloudflare

    $
    0
    0

    Hi all,

    I'm developing a MVC Rest API which will be deployed on IIS 10.

    We will use Cloudflare as reverse proxy.

    I want to use cache-control directives in Response Message Headers, but I have some doubts.

    Directives will be used by both IIS and Cloudflare? (Example: static resources will be stored on both?)

    If I implement ETag in my cache, how it will work?

    Thank you

    Nazza

    Viewing all 447 articles
    Browse latest View live


    <script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>