Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ISAPI application stop responds
#1
Hi,
when the number of users grows, my application no longer responds, no longer allows access, then by reset iis everything works, I use free and nil at every form closure;
why  the memory allocated by the IIS worker process grows continuously ? Has anyone had this problem and how was it fixed?
thank you
Reply
#2
You need to check your application for leaks. Many of our enterprise customers deploy their applications on ISAPI without any issues.

IntraWeb even has some leak detection built in that you can turn on.
Reply
#3
Thank for your answer,
in fact, the isapi application in stand-alone mode generates this report that I am attaching, can you give me some indications to solve this memory leak, thanks for your help.


Attached Files Thumbnail(s)
   
Reply
#4
Any chance that you are manually creating A form twice? Thus free'ing the last created one and the previous one just kind of floating out there?
Reply
#5
What's your IW and Delphi version?
Do you have any other 3rd party IW controls (TMS or CGDevTools) or even IWBootstrap?

Seems that you have tons of memory leaks in your application. Leaking that way it is a matter of time before the application runs out of resources. When this happens, there is nothing that IW can do to keep it running because the memory manager will fail to allocate more memory even for simple things like a new string.

I suggest you use FastMM in FullDebugMode to find out what is leaking and fix this first.
Reply
#6
(07-09-2021, 09:25 PM)cpstevenc Wrote: Any chance that you are manually creating A form twice? Thus free'ing the last created one and the previous one just kind of floating out there?

Thanks for the reply,
each form created manually is freed in memory (FreeAndNil method)

(07-10-2021, 01:55 AM)Alexandre Machado Wrote: What's your IW and Delphi version?
Do  you have any other 3rd party IW controls (TMS or CGDevTools) or even IWBootstrap?

Seems that you have tons of memory leaks in your application. Leaking that way it is a matter of time before the application runs out of resources. When this happens, there is nothing that IW can do to keep it running because the memory manager will fail to allocate more memory even for simple things like a new string.

I suggest you use FastMM in FullDebugMode to find out what is leaking and fix this first.

Thanks for the reply,
I use delphi XE2 and IW 15.1.10, I don't use any third party components, I only used IW components and every form created in run time is regularly released (freeAndNil method) .. moreover the list of memory leaks are also shown if I run only the main form of the program, without activating the other options. can you tell me where I can find the information to use FastMM?
Thank you
Reply
#7
I'll create a blog post showing how to fix memory leaks using FastMM 4. I'll keep you posted
Reply
#8
Here is it. It is a long blog post and took some time to put all this information together. Read it carefully and use it to find and fix the problems that you find in your application.

https://www.atozed.com/2021/07/detecting...-fastmm-4/

Fixing them will make a big difference when it comes to application reliability and stability, I'm positive
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)