We need an IIS expert who can optimize our web server for high-load scenarios.
Currently, we are using IIS 10 on Windows Server 2022 in conjunction with PHP 8.4 via FastCGI and MySQL 9.3.
When the server is under heavy load, we occasionally see HTTP errors with the code 500 in our IIS logs.
We can rule out that our PHP code is causing the errors; the PHP error log is completely clean. Furthermore, MySQL remains perfectly accessible during periods when the errors occur. Apparently, there are settings within IIS that cause IIS to respond with the code 500 once a certain number of parallel requests are received.
Our server hardware is very powerful and is only utilized to a limited extent by IIS; the total CPU load on the server is only around 10%, even during peak times.
In IIS, the Max Instances value under the FastCGI settings is set to 0, allowing IIS to dynamically size the php‑cgi process pool.
The Instance MaxRequests parameter and the PHP_FCGI_MAX_REQUESTS environment variable are currently set to 1,000. In our research for tips on optimizing IIS for high load, we often see recommendations to increase these two values. We're happy to do that, but according to the Microsoft documentation, this only affects the "maximum number of requests that a FastCGI application is allowed to handle before the process is recycled." Therefore, we wonder if increasing this value could actually prevent the 500 errors.
The Queue Length parameter is set to 1,000 in both the FastCGI settings and the Application Pool. We've read several recommendations to increase this value. However, to our understanding, triggering this threshold results in 503 errors that we don't see. Therefore, we're wondering if increasing this value would have an effect in our case.
The limits for Activity Timeout and Idle Timeout are set high enough so that they don't cause any problems.
Dynamic and static compression are both enabled in IIS.
Our next step would be to enable FREB for 500 errors to potentially gain further insight into what causes the errors.
Of course, we can provide you with all the information you need for analysis. Please note that we cannot grant you access to our server.
Attached you will find our my.ini and php.ini.
We would be very grateful if you could help us optimize IIS to ensure optimal hardware utilization and eliminate 500 errors under high load conditions when a large number of parallel PHP requests must be processed via FastCGI.
Interactive Task Tracker Development Category: Android, Frontend Development, IPhone, JavaScript, Mobile App Development, PHP, React.js, UI / User Interface, UX / User Experience, Web Development Budget: $30 - $250 USD
02-Oct-2025 22:03 GMT
Seven-Day Charity Promotion Category: Content Creation, Content Strategy, Digital Marketing, Facebook Marketing, Fundraising, Instagram Marketing, Research Writing, Social Media Management, Social Media Marketing, Social Networking Budget: $10 - $30 CAD
Quick Webinar Highlight Reels Editor Category: Adobe Premiere Pro, After Effects, Comedy Writing, DaVinci Resolve, Final Cut Pro, Video Editing, Video Post Editing, Video Services Budget: $30 - $100 AUD
Comprehensive Social Media Management & Content Creation Category: Content Creation, Digital Marketing, Facebook Marketing, Graphic Design, Internet Marketing, SEO, Social Media Management, Social Media Marketing Budget: $250 - $750 USD
Fun Vlog Video Editing for my brand Category: Adobe Premiere Pro, After Effects, Animation, Audio Editing, DaVinci Resolve, Final Cut Pro, Sound Design, Video Editing, Video Post Editing, Video Production Budget: ₹600 - ₹1500 INR