ShadowIllusion Posted July 24, 2012 Report Share Posted July 24, 2012 OS I have tried: Windows 7 SP1 and Windows Server 2008 R2 (both is 64-bit OS)... Uniserver version I have tried: 8.5.8-Coral and 8.5.5-Coral How to reproduce this problem:1. Download Uniserver 8.5.5-Coral and extract it. Run apache and mysql as usual. 2. Download Process Explorer http://download.sysinternals.com/files/ProcessExplorer.zip and extract it. 3. Run Process Explorer as Administrator, then View > Select Columns. In "Process Performance" tab, tick "Handle Count" > OK. After this, click View > Lower Pane View > tick "Handle"... 4. Click on httpd1.exe child processes which have around 300 handle count at startup... The lower pane will show the handle list... 5. Open your favorite browser, and go to http://127.0.0.1 Everytime you press refresh (F5) on your browser (re-request the webserver), you will notice that httpd1.exe have 1 more handle count in Process Explorer window... In the lower pane view, you will notice that 1 new security token handle is created with the name format like this: YOURCOMPUTERNAME\YOURUSERNAME:RANDOMTOKEN This is where the problem happened. Everytime httpd1.exe server new web request, the handle is created, but NEVER closed, and will hogging system resources over time. It's okay on test server, but once you put it in production server with real websites running, the opened Handle Count of httpd1.exe will increase to a very high number... In my server, it goes from 300 (at startup) to 1 million opened handle only in 2 days! Other process only consumes around 10 ~ 2000 handles. httpd1.exe memory consumption still remains around 20mb, but because handle consumes kernel space, your ram usage will increase around +512mb mysteriously for every 1 million handle... In only two weeks, my server experience some slowdowns / freeze because too much handle for Windows to hold... I need to restart Uniserver Apache service every few days so the handle count reset back to around 300 after restart (and it will goes up quickly again everytime the world accessing my websites)... If you want to mimic the behaviour of production server, after accessing http://127.0.0.1 try to hold down F5 buttons for 1 minutes... See how is the handle count now... It only happened since I upgrade to 8.5.5-Coral (I'm sorry I forget the version before this which doesn't have this leak issues)... Maybe it's the problem on Apache or PHP compilation... Quote Link to comment Share on other sites More sharing options...
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.