fva
asked on
ISAPI and BDE over DBF
Hi all, here it is:
There's a NT4 SP6a, IIS4 machine, dual P3. On that, some legacy DBF tables are presented via Web interface using ISAPI DLL's written in D3 and running over BDE 4.51. The ISAPI DLL's are using CachedConnections=true currently with a pool of 50 connections.
It used to work, but lately we had to increase the pool size due to higher requests volume and increased query response time (prev pool size was around 10).
Now after some time (about 2 hours after full restart), the whole thing locks. After restarting IIS, the static pages are OK, the dynamic ones are failing and other BDE apps are failing, too, meaning that BDE got sick. The only way to restore operation is full server restart.
Any suggestions? Anyone saw that before?
There's a NT4 SP6a, IIS4 machine, dual P3. On that, some legacy DBF tables are presented via Web interface using ISAPI DLL's written in D3 and running over BDE 4.51. The ISAPI DLL's are using CachedConnections=true currently with a pool of 50 connections.
It used to work, but lately we had to increase the pool size due to higher requests volume and increased query response time (prev pool size was around 10).
Now after some time (about 2 hours after full restart), the whole thing locks. After restarting IIS, the static pages are OK, the dynamic ones are failing and other BDE apps are failing, too, meaning that BDE got sick. The only way to restore operation is full server restart.
Any suggestions? Anyone saw that before?
ASKER
Hi, BuD, welcome to ExEx.
Sorry, I have to reject your proposed answer. We DO use TSessions and closing the tables is not an option because that's why we are using CachedConnections in the first place: to reduce latency on new requests. Closing the tables would nullify that.
Thank you for trying, but your opinion would have fit better as a comment, not as an answer. Seeing that you are new around, I do not take it hard and neither should you my rejection. Usually, answers are posted _only_ where you are pretty sure that the proposed answer _will_ solve the problem. Unless that holds, you'd be better off posting comments. It's a custom around here.
Yours,
F.
Sorry, I have to reject your proposed answer. We DO use TSessions and closing the tables is not an option because that's why we are using CachedConnections in the first place: to reduce latency on new requests. Closing the tables would nullify that.
Thank you for trying, but your opinion would have fit better as a comment, not as an answer. Seeing that you are new around, I do not take it hard and neither should you my rejection. Usually, answers are posted _only_ where you are pretty sure that the proposed answer _will_ solve the problem. Unless that holds, you'd be better off posting comments. It's a custom around here.
Yours,
F.
Hi fva,
I'm sorry for my stupid question but anyway:
What pool do you have in mind? Is it MaxConnections property or something else? Where in the code are you setting this value?
Regards, Geo
I'm sorry for my stupid question but anyway:
What pool do you have in mind? Is it MaxConnections property or something else? Where in the code are you setting this value?
Regards, Geo
ASKER
Yes, it's MaxConnections and it's set in the main project file, right at the top (almost before anything else or right before anything else).
F.
F.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks, I'll try that and I'll get back to you. (hope it won't break the server; in that case it'll take a litle longer to hear about me :) )
F.
F.
ASKER
Well, it seems that no-one is adding any comment to this (normal, due to my comment above), so I'll have to close it, even if I'm no smarter after this Q.
MaxSCZ, we did upgrade BDE, but at the same time we made extensive changes in the inner workings of the DLL, making it to respond faster. Now it works somehow (not great, only somehow :) ). Therefore I cannot say if the upgrade really helped (in the first place it broke the whole thing) or if the rewrite itself was helpful.
I'm going to give you the points anyway; thank you.
In the long run, we are going to dump BDE and choose another way to access data (together with a data platform migration to a better DBMS).
Thanks,
F.
MaxSCZ, we did upgrade BDE, but at the same time we made extensive changes in the inner workings of the DLL, making it to respond faster. Now it works somehow (not great, only somehow :) ). Therefore I cannot say if the upgrade really helped (in the first place it broke the whole thing) or if the rewrite itself was helpful.
I'm going to give you the points anyway; thank you.
In the long run, we are going to dump BDE and choose another way to access data (together with a data platform migration to a better DBMS).
Thanks,
F.
Verify that all tables are closed correctly.