I have installed Static and dynamic compression for IIS8 and enabled it.
When My CPU performance 100%, My GZIP IIS didn't working, why??
I can clearly see that GZIP is not running in Live HTTP Header.
What am I missing here?
Does IIS stop performing gzip operation if CPU usage is high?
NotGzip
Set dynamicCompressionDisableCpuUsage and dynamicCompressionEnableCpuUsage in web.config
Details here: http://www.iis.net/configreference/system.webserver/httpcompression
Related
I am stuck on one issue and I need your help badly.
I have an ASP site configured to run on IIS 8. Now, due to server load, IIS is not responding after a while and i need to reset IIS to start the site again.
Basically, I am from an ASP.Net environment. So here in ASP, I am having a problem applying the proper configuration. One thing I would like to accomplish here is to increase the number of worker process for the site in IIS, but I am afraid that if I do that then there may be a session issue. As you know, ASP sites do not have sessionstates and its default will be of InProc.
However, I read on MSDN about the keepSessionIdSecure property. This indicates that the session is stored on the Client in cookies. Does this mean that i can safely increase the number of worker process?
Any help or suggestions would be much appreciated. This is the production server, and I would not like to take any chances here.
How to Calculate the maximum capacity of a Linux Apache web server, ie) To serve maximum request parallel.
Or
To perform "N" request parallely, what is the configuration required?
I need to optimize my Web server so that it needs to response 1500 users parallel.
The question is not answered so easily. It depends on the size of your RAM, your connection, CPU, the amount of memory each request consumes, the amount of memory the server side script (php/ruby whatever) consumes and the mode apache (mpm_worker, prefork, itk etc.) and the script execution (cgi, mod_php, fcgi, suphp etc.) run in. It also depends on the configuration of each of those modules, at least partly. Last but not least, a caching system like varnish can take of 90% or more of the load if used properly.
Basically try running a test from another (or 2, 3, 4) web server(s) and see if your system will serve the pages in an acceptable time.
The kernelmode static content cache is part of HTTP.SYS and is rather straightforward to configure. When debugging, you can always inspect the contents of the kernelmode cache with the command:
netsh http show cachestate
But the usermode cache in IIS is much harder to debug. There seems to be no inspection possibilities at all. Is there a simple way to see what files are in the usermode cache inside the web applications worker process?
In our project we have an ISAPI module that does introspection into the requested file before returning them to the browser. Because of this we cannot use the standard static content cache in IIS. We are having problems with caching, where IIS stops adding new items to the cache after a short warmup period. Items get flushed, but no new files seems to get cached. According to perfmon the number of items in the cache falls down to a handful. It would be very valuable for us to be able to see exactly what files are in the cache at any given time.
Does it make sense that IIS will become extremely slow and unresponsive when using IIS Advanced Logging to log all incoming requests?
I have some rules that divide the incoming requests into 5 files according to their prefix. I found out that a simple stress test of 100 users sending requests nonstop for half an hour. The IIS process memory goes all the way up to 4GB and won't recycle at 500MB limit.
Thanks!
It sounds like there are two separate issues here.
1) IIS does not seem to be respecting the Application Pool Recycling criteria when a process exceeds a specified working set
2) IIS Advanced Logging seems to be consuming large amounts of memory given this configuration.
Regarding #2 - one suggestion is to start by disabling filtering and writing to a single log to see if that alleviates the memory consumption issue. If you don't mind sharing the relevant snippets of the applicationHost.config and/or web.config files that contain your Advanced Logging settings and log definitions, that would be very helpful for repro'ing the issue.
Thanks,
Jack Freelander
IIS Media Services
Was the data written to the files correctly when not under load? Also, was the 500MB limit per log?
When people download files from my website, I don't want them to be able to download faster than 300KB/sec per file.
Is there anyway to do this? I'm running IIS 6.0 on Windows Server 2003.
You can't limit download speed but you can limit the overall traffic to a particular website:
Open IIS MMC
Select Website
Select Performance tab
Enable 'Bandwidth throttling'
Write a script that transfer the data in chunks. After 300KB you wait until 1 seconds is consumed.
I just found this but I haven't had time to try it out myself IIS Bit Rate Throttlling
I agree with Horcrux (cant vote it as dont have enough rep)
if the file is less than 300KB, then this wont work,
but for large files, then adverage over the course of the whole file download will be
300Kbps...
I'm assuming the idea is like a rapidshare idea, premium users will have full speed downloads?
Also, while one thread(user) is waiting for a second, another thread can be downloading.
Queue the downloads, and only let X amount run at the same time, and your away in a hack!
Within website properties in IIS 6.0 there is a Performance tab and the first setting is Bandwith throttling which allows you to set the maximum bandwidth value in kilobytes per second. It also has this note;
For bandwidth throttling to function, IIS needs to install Windows Packet Scheduler.
I'm guessing using this setting would mean having your downloads on a separate site so you can throttle that but maintain full bandwidth to your normal content.
For IIS 10, go to IIS Manager and you will find a your setting under the header
Media Services > Bit Rate Throttling
Reduce the speed of you Internet connection.