Solved

Indy TIdHTTP POSTs getting slow responses

Posted on 2013-06-19
6
1,001 Views
Last Modified: 2013-07-04
I am having a problem with a Delphi 5 app, utilising first Indy 9, and then Indy 10.

Components in use (Indy 9):
TIdHTTP, TIdConnectionIntercept & TIdSSLIOHandlerSocket.
Components in use (Indy 10):
TIdHTTP, TIdConnectionIntercept & TIdSSLIOHanlderSocketOpenSSL.
(SSL is in use, with no TIdAntiFreeze in use)

The problem the app is presently experiencing is slow responses (between 3 and 25 seconds) to TIdHTTP POSTs.

Based on assorted links, I have tried:
- setting ConnectTimeout to zero
- setting the HTTPOptions flag hoKeepOriginalProtocol
- upgraded from 9 to 10 (10.5.8 XE2)

As a test, I also tried using a test executable written in C# (HttpWebRequest), which gets split-second response times.

Is there anything else I can try with Indy 9/10 config?
0
Comment
Question by:brenlex
  • 3
  • 3
6 Comments
 
LVL 8

Expert Comment

by:lomo74
Comment Utility
off the top of my head, it could be a certificate verification issue.
try disabling SSL, just to test if it makes any difference.
0
 

Author Comment

by:brenlex
Comment Utility
Not possible. Customer won't allow it.
0
 
LVL 8

Expert Comment

by:lomo74
Comment Utility
I didn't mean to disable SSL permanently or in the final product.
I meant to disable it temporarily, only to test if something changes.
If nothing changes, you have to look elsewhere.
If something changes, you'll know what to focus on.

Alternatively, you can use Wireshark to track the connection and see where's the bottleneck.
0
What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 

Author Comment

by:brenlex
Comment Utility
I understand -- it would be easier to diagnose. Unfortunately the equipment to which I am attaching is only accessible via HTTPS -- out of my control.

I don't think Wireshark would work with SSL in place.
0
 
LVL 8

Accepted Solution

by:
lomo74 earned 500 total points
Comment Utility
What about stunnel + wireshark.
0
 

Author Closing Comment

by:brenlex
Comment Utility
In the end I just rewrote the app in C# - now no issues with speed. Have some points for the heads-up on stunnel -- handy one for next time.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now