Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » DBISAM Technical Support » Support Forums » DBISAM Client/Server » View Thread |
Messages 1 to 10 of 26 total |
CS Performance Problem from Remote Site |
Mon, Apr 21 2008 2:04 PM | Permanent Link |
Gordon Turner | I have a customer who is using DBISAM v4.25b7. The server runs on a
Win2003 server. For some of the client connections the time to open the session is terrible. (I have a Eureka log entry pointing to the Session.Activate statement for a time out after 120 seconds.) For example, he reports "I just tried from home and after 11 minutes it finally launched. We have fat WAN connections to our other sites (43Mbps) and I have high speed extreme at home (10 Mbps)". The app is using ports 12005 and 12006 (the standard ports) to connect to the server. The client app is written in D7 and is being launched from a shared folder on their network. This is my first CS customer installation, and although the local clients connect fine, it appears there is a big problem with remote (off site) clients. I'm not sure where to begin resolving this problem. Any help would be appreciated. -- Gordon Turner Mycroft Computing http://www.mycroftcomputing.com |
Mon, Apr 21 2008 7:04 PM | Permanent Link |
"Adam H." | Good Morning Gordon,
>I have a customer who is using DBISAM v4.25b7. The server runs on a >Win2003 server. For some of the client connections the time to open the >session is terrible. (I have a Eureka log entry pointing to the >Session.Activate statement for a time out after 120 seconds.) As a thought - have you tried connecting to the server externally from your own application (ie, via DBSYS for instance)? This could help diagnose whether the problem is related to something within your application, or if it's external to your application. Cheers Adam. |
Tue, Apr 22 2008 5:46 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Gordon,
<< This is my first CS customer installation, and although the local clients connect fine, it appears there is a big problem with remote (off site) clients. I'm not sure where to begin resolving this problem. Any help would be appreciated. >> What you should do is this: 1) Have your customer grab a copy of DBSYS here: http://www.elevatesoft.com/download?action=downinfo&producttype=dbisamadd&version=4 and install it. 2) Have them launch DBSYS, and then select File..Options..Remote and input the proper server information in terms of IP address, etc. 3) Have them try to open a table on the remote database server using File..Open Table. 4) If it doesn't take that long, then the issue is most likely one with your application. The next step is to turn on remote tracing in your application and use it to log all remote requests/responses to a file. You can see how to do this in the DBSYS source code: main.pas uses dbisamlb, dbisamut; <<< Important procedure TMainForm.OpenLogFile; begin ForceDirectories(ExtractFilePath(GetLogFileName(AppVersionInformation))); System.AssignFile(TraceLogFile,GetLogFileName(AppVersionInformation)); if FileExists(GetLogFileName(AppVersionInformation)) then System.Append(TraceLogFile) else System.Rewrite(TraceLogFile); end; procedure TMainForm.CloseLogFile; begin System.CloseFile(TraceLogFile); end; procedure TMainForm.RemoveLogFile; begin SysUtils.DeleteFile(GetLogFileName(AppVersionInformation)); end; procedure TMainForm.RemoteSessionRemoteTrace(Sender: TObject; TraceRecord: TTraceRecord); var TempString: string; begin with TraceRecord do begin TempString:=PadRight(DateTimeToStr(DateTime),24,' '); case EventType of teConnect: TempString:=TempString+' '+PadRight('Connect',10,' ')+ ' '+PadRight(IntToStr(ElapsedTime)+' msecs',16,' '); teReconnect: TempString:=TempString+' '+PadRight('Re-connect',10,' ')+ ' '+PadRight(IntToStr(ElapsedTime)+' msecs',16,' '); teDisconnect: TempString:=TempString+' '+PadRight('Disconnect',10,' ')+ ' '+PadRight(IntToStr(ElapsedTime)+' msecs',16,' '); teRequest: TempString:=TempString+' '+PadRight('Request',10,' ')+ ' '+PadRight(IntToStr(ElapsedTime)+' msecs',16,' ')+ ' '+PadRight(RemoteRequestName,30,' ')+ ' '+PadRight(IntToStr(RemoteRequestSize)+' bytes',16,' '); teReply: TempString:=TempString+' '+PadRight('Reply',10,' ')+ ' '+PadRight(IntToStr(ElapsedTime)+' msecs',16,' ')+ ' '+PadRight(RemoteReplyResultName,30,' ')+ ' '+PadRight(IntToStr(RemoteReplySize)+' bytes',16,' '); end; end; WriteLn(TraceLogFile,TempString); end; The dbisamut.pas unit is in the same directory as the DBSYS source code - \utils\dbsys\source under the main installation directory. Be sure to enable the TDBISAMSession.RemoteTrace property for the remote session in your application, and then hook up the above event handler to the TDBISAMSession.OnRemoteTrace event. Once you've done this, this new "traceable" version of the application should create a text file on their local disk that they can send you. This text file is what I need to see what is going on, so if you could email it to me, I can tell you what is happening that is responsible for such a slowdown. Usually the issues is one revolving around lookups or calculated fields. -- Tim Young Elevate Software www.elevatesoft.com |
Tue, Apr 22 2008 11:12 AM | Permanent Link |
Gordon Turner | Tim Young [Elevate Software] wrote:
> > What you should do is this: > > 1) Have your customer grab a copy of DBSYS here: > > http://www.elevatesoft.com/download?action=downinfo&producttype=dbisamadd&version=4 > > and install it. > > 2) Have them launch DBSYS, and then select File..Options..Remote and input > the proper server information in terms of IP address, etc. > > 3) Have them try to open a table on the remote database server using > File..Open Table. Thanks Tim. A quick question - I know the application and DB Server need to be using the same DBISAM version. Is this also true of the DBSYS utility? I have the install module for DBSYS for version 4.25b7 (which the customer is using), and for the current version 4.26b2. -- Gordon Turner Mycroft Computing http://www.mycroftcomputing.com |
Thu, Apr 24 2008 11:37 AM | Permanent Link |
"David Farrell-Garcia" | Gordon Turner wrote:
> I have a customer who is using DBISAM v4.25b7. The server runs on a > Win2003 server. For some of the client connections the time to open > the session is terrible. (I have a Eureka log entry pointing to the > Session.Activate statement for a time out after 120 seconds.) > > For example, he reports "I just tried from home and after 11 minutes > it finally launched. We have fat WAN connections to our other sites > (43Mbps) and I have high speed extreme at home (10 Mbps)". The app > is using ports 12005 and 12006 (the standard ports) to connect to the > server. The client app is written in D7 and is being launched from a > shared folder on their network. > > This is my first CS customer installation, and although the local > clients connect fine, it appears there is a big problem with remote > (off site) clients. I'm not sure where to begin resolving this > problem. Any help would be appreciated. -- David Farrell-Garcia Whidbey Island Software, LLC if they are launching the app remotely from a shared folder on the server, that willl likely be your problem rather then a bottleneck at the database server. It can take a long time to open an application remotely over the Internet. If you must do it that way, try Terminal Server. That will be very fast. Believe it or not, I still have an old Delphi 1 app with a Dbase backend that is still in service with many remote clients accessing via Terminal Server. The other solution, other then going to a web interface is to install the client app on the remote machine. |
Thu, Apr 24 2008 3:31 PM | Permanent Link |
Gordon Turner | Tim Young [Elevate Software] wrote:
> > 4) If it doesn't take that long, then the issue is most likely one with your > application. The next step is to turn on remote tracing in your application > and use it to log all remote requests/responses to a file. You can see how > to do this in the DBSYS source code: I've posted the log file in Binaries. Please let me know if you find anything. -- Gordon Turner Mycroft Computing http://www.mycroftcomputing.com |
Thu, Apr 24 2008 3:53 PM | Permanent Link |
"Jose Eduardo Helminsky" | David
I am using Terminal Server since december 2005 and now we have two servers each one holding around 25 users and another 40 LAN users. The remote sites are connected by a frame relay with just 128Kb and accessing the application via Terminal Server client. The speed is the same as lan users. Eduardo |
Thu, Apr 24 2008 11:38 PM | Permanent Link |
Gordon Turner | Unfortunately, this is the CS version of a standard product I sell, so I
have no say about the customer's environment. But if they are connecting at 10MB, I would not expect the application to take minutes to load. It's not that big or complex - just the exe and one DLL, and the exe is only a couple MB. -- Gordon Turner Mycroft Computing http://www.mycroftcomputing.com |
Fri, Apr 25 2008 7:38 AM | Permanent Link |
Tim Young [Elevate Software] Elevate Software, Inc. timyoung@elevatesoft.com | Gordon,
< I've posted the log file in Binaries. Please let me know if you find anything. >> Is that entire log just the startup calls until the application is done loading ? -- Tim Young Elevate Software www.elevatesoft.com |
Sat, Apr 26 2008 3:40 PM | Permanent Link |
Gordon Turner | Tim Young [Elevate Software] wrote:
> Gordon, > > < I've posted the log file in Binaries. Please let me know if you find > anything. >> > > Is that entire log just the startup calls until the application is done > loading ? > No. The customer decided to perform some additional functions while recording the log. I assumed that if there was a problem, it would jump out as a long delay in the log itself. I can have him generate it again with just the startup and shut down, or is there a way to programatically stop the log once the application as completed the startup process. -- Gordon Turner Mycroft Computing http://www.mycroftcomputing.com |
Page 1 of 3 | Next Page » | |
Jump to Page: 1 2 3 |
This web page was last updated on Tuesday, April 30, 2024 at 03:55 PM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |