BorlandTalk.com Forum Index BorlandTalk.com
Borland discussion newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Indy socket slow performance problem ?

 
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Internet Winsock
View previous topic :: View next topic  
Author Message
Stephane Grobety
Guest





PostPosted: Wed Jan 28, 2004 8:44 am    Post subject: Re: Indy socket slow performance problem ? Reply with quote



Well, I could see several issues here.

First and for-most, check the status of the naggle algorithm in both
your client and server socket. If you send very short messages, this
system will impair performances as the stack will try to wait for more
data in order to fill a full frame (about 15k on ethernet). This can
cause issues similar to yours so disable it if you just expect to send
short messages (as you seem to be doing).

Second, try to isolate the problem a bit better or, at least, describe
it a bit better: what is "slow": is it the connection time ? The data
transmission rate ? The time taken by the server to respond to a
request ? The whole process ? You see, all these could have very
different causes and it's nearly impossible to tell without more
details.

Could you also describe the condition you are testing under ? Are you
doing a single-client connection test or is that a production system ?

Heikki Wdhrn wrote:

Quote:
Hi,

I have a Delphi 5/BDE application that uses TServerSocket to
communicate with data collection terminals by sending and receiving
messages from/to terminals.
Everything works fine, the average response time being <1 second.

Now I have converted the application to Delphi 7 and it is also using
ADO for
db access. The problem is that this version is very slow at some
points, the response time being about 4-6 seconds. I have examined
this by measuring the the time receiving a message to the sending the
answer is always <1 sec in my app.
I think this is not an ADO problem, because my app is not accessing
db when response time is slow (It is fast when accessing db !). First
I used the old TServerSocket, but then converted my app using
TIdTCPServer. This had no effect to the response time.
Any idea why my response is delayed about 4-5 sec occasionally when
reaching the client socket (terminal)? Message length is about 100
chars

Thanks in advance ! Heikki


Back to top
Heikki Währn
Guest





PostPosted: Wed Jan 28, 2004 8:46 am    Post subject: Indy socket slow performance problem ? Reply with quote



Hi,

I have a Delphi 5/BDE application that uses TServerSocket to communicate
with data collection terminals by sending and receiving messages from/to
terminals.
Everything works fine, the average response time being <1 second.

Now I have converted the application to Delphi 7 and it is also using ADO
for
db access. The problem is that this version is very slow at some points, the
response time being about 4-6 seconds. I have examined this by measuring the
the time receiving a message to the sending the answer is always <1 sec in
my app.
I think this is not an ADO problem, because my app is not accessing db when
response time is slow (It is fast when accessing db !). First I used the old
TServerSocket, but then converted my app using TIdTCPServer. This had no
effect to the response time.
Any idea why my response is delayed about 4-5 sec occasionally when reaching
the client socket (terminal)? Message length is about 100 chars

Thanks in advance ! Heikki


Back to top
Heikki Währn
Guest





PostPosted: Wed Jan 28, 2004 12:30 pm    Post subject: Re: Indy socket slow performance problem ? Reply with quote



I am sending only short messages, so how to disable this naggle algorithm ?
(TIdTCPServer side )

I have run my app on D7/IDE with two silent breakpoints (receive and send
message). There I see my application always process the answer message in 1
second. I also use a simple "sockettester" application (to monitor traffic
between client and server). There I see 5-6 sec delay time. This all happens
on my test environment with 1 client only (where D5 server is fast). D7
server cannot be put in production before solving this problem.
"Stephane Grobety" <grobety (AT) fulgan (DOT) com> wrote

Quote:
Well, I could see several issues here.

First and for-most, check the status of the naggle algorithm in both
your client and server socket. If you send very short messages, this
system will impair performances as the stack will try to wait for more
data in order to fill a full frame (about 15k on ethernet). This can
cause issues similar to yours so disable it if you just expect to send
short messages (as you seem to be doing).

Second, try to isolate the problem a bit better or, at least, describe
it a bit better: what is "slow": is it the connection time ? The data
transmission rate ? The time taken by the server to respond to a
request ? The whole process ? You see, all these could have very
different causes and it's nearly impossible to tell without more
details.

Could you also describe the condition you are testing under ? Are you
doing a single-client connection test or is that a production system ?

Heikki Wdhrn wrote:

Hi,

I have a Delphi 5/BDE application that uses TServerSocket to
communicate with data collection terminals by sending and receiving
messages from/to terminals.
Everything works fine, the average response time being <1 second.

Now I have converted the application to Delphi 7 and it is also using
ADO for
db access. The problem is that this version is very slow at some
points, the response time being about 4-6 seconds. I have examined
this by measuring the the time receiving a message to the sending the
answer is always <1 sec in my app.
I think this is not an ADO problem, because my app is not accessing
db when response time is slow (It is fast when accessing db !). First
I used the old TServerSocket, but then converted my app using
TIdTCPServer. This had no effect to the response time.
Any idea why my response is delayed about 4-5 sec occasionally when
reaching the client socket (terminal)? Message length is about 100
chars

Thanks in advance ! Heikki




Back to top
Display posts from previous:   
Post new topic   Reply to topic    BorlandTalk.com Forum Index -> Delphi Internet Winsock All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.