Performance Problems

bauernjoerg

New Member
We have some Performance problems with a Programm which is using Progress 9.1E on a Linux Server.

The Programm sometimes doesn`t respond for minutes.

On analysing this problem, I´ve found out, that in this moment half of the RAM is emptied. Same with SWAP. I don´t know, how this effect happens. It happens every Day @8 o´clock :biggrin: So i thought this would be a cronjob or something like this. But i found nothing.

Know I want to know if there`s maybe the DB Engine involved. Or things like that.

Thank you
 
If you know what program is causing the problem then you ought to be able to analyze that program to understand what it is doing that consumes so much memory.

One possibility is that you might find some clues in the .lg file -- look for messages about -l or -mmax being automatically increased.

You might also try using the application profiler:

investigating suspicious code
 
Thanks for your quick reply.

The -l parameter is permanently increasing until a limit is reached (5480).



But I don`t know, what this means. Maybe you can help me.

Understanding the Sofware is for one Person nearly impossible, because ist a erp software like SAP :biggrin:
 
The -l parameter is used to allocate memory to variables and work-files (old style temp-tables). The docs say that it is in 1k units but the reality is that each unit of -l takes 4k from the OS and provides 1k to the 4gl session (it's a long standing bug that SFAIK hasn't been fixed). So a -l of 5,000 or so is probably eating up 20MB. That's a lot but it probably doesn't account for the memory use that you describe.

Of course just using memory isn't a performance problem in and of itself. In fact using memory is usually a way to improve performance (by caching disk IO) so it might not even be a bad thing that you're using memory.

You do, however, apparently have a response time problem so you need to discover why that is.

A few more thoughts:

1) If users "freeze" at roughly the same time and then "unfreeze" at the same time then you might be experiencing buffer flushes at a checkpoint. Check PROMON (or better yet ProTop) to get a handle on that.

2) You may just have a very IO intense process. Are the disks busy during this long pause? Is the database crunching a lot of record reads? Again, check PROMON or ProTop to get some insight.
 
I dont`t think, that the used memory is my problem.

I think my Problem is, that 1,5 GB RAM is used and then the Server is something like cleaning the RAM and 2 minutes later only 500MB of RAM are used.

And this happens every morning. And in that time the Programms doesn`t respond.

In fact, that no job could be the culprit i thought it would be maybe the DB Engine.

What I know is, that if a User starts an 4GL programm it is loaded into the RAM, what sometimes needs some Minutes. The cleaning happens every morning, after alot of users are logged in. So I thought that the DB Enginge maybe wants to optimize the used RAM or something like that.
 
How are you measuring this behavior? What tools and metrics are you looking at to get these numbers about memory usage?

The db engine doesn't do anything like what you describe. The only time it returns memory is at shutdown.
 
I have a MRTG running. It draws a Graph depending on free -m .

im using the numbers @ -/+ buffers/cache

Ok, when the DB engine doesn`t do things like that i`ve got to search somewhere else.
 
Those numbers have to do with the size of the filesystem's cache. A big swing in memory usage for file buffers is probably telling you that some large IO operation took place. At 8am that might be something like a backup. If you are doing something like a probkup online then that could also cause users to freeze when it backs up the bi file.
 
Back
Top