Forum Discussion

ramann_75062's avatar
ramann_75062
Icon for Nimbostratus rankNimbostratus
Jun 12, 2008

Deliver unfinished HTML pages

Hi together,

 

 

is there a way to configure a GTM (BIG-IP 9.1.1 Build 54.6) to start deliver HTML to a client without the web server has completely finished the generation the requested page?

 

 

 

thanks

 

bjoern

9 Replies

  • Hi Bjoern,

     

     

    A GTM WIP only provides answers to DNS queries. An LTM VIP can send an HTTP response to a client using an iRule.

     

     

    What exactly are you trying to do?

     

     

    Aaron
  • a user requests a html side over the f5 to the web server. the web server begin to generate the html page and begin the delivering the page (over the F5). The problem is, that the f5 only begin with the delivering when the web server has the complete page has generated. the page the the web server deliver is a kind of waiting room
  • I assume you have a VIP defined within the local traffic section of the configuration. Can you post an anonymized version of the output from 'b virtual VIP_NAME list'? Do you have an HTTP profile added to the VIP? If so, can you also post the output from 'b profile HTTP_PROFILE_NAME list'?

     

     

    Is the server using chunked encoding in responses? If so, SOL5379 (Click here) might be relevant to this issue.

     

     

    Aaron
  • here is the data:

     

    ----------------snip-------------

     

    [root@lb1:Active] config b virtual vs_23_test_http list

     

    virtual vs_23_test_http {

     

    destination 1.1.1.1:http

     

    ip protocol tcp

     

    profile http tcp

     

    pool pool_test_23_http

     

    }

     

    ----------------snip------------------

     

     

    [root@lb1:Active] config b profile http list

     

    profile http http {

     

    basic auth realm none

     

    oneconnect transformations enable

     

    compress disable

     

    compress uri include none

     

    compress uri exclude none

     

    compress content type include "text/" "application/(xml|x-javascript)"

     

    compress content type exclude none

     

    compress min size 1024

     

    compress buffer size 4096

     

    compress vary header enable

     

    compress http 1.0 disable

     

    compress gzip memory level 8k

     

    compress gzip window size 16k

     

    compress gzip level 1

     

    compress keep accept encoding disable

     

    compress browser workarounds disable

     

    compress cpu saver enable

     

    lws width 80

     

    max header size 32768

     

    pipelining enable

     

    adaptive parsing disable

     

    ramcache disable

     

    ramcache size 100mb

     

    ramcache max entries 10000

     

    ramcache max age 3600

     

    ramcache min object size 500

     

    ramcache max object size 50000

     

    ramcache uri exclude none

     

    ramcache uri include none

     

    ramcache uri pinned none

     

    ramcache ignore client cache control all

     

    ramcache aging rate 9

     

    ramcache insert age header enable

     

    }

     

    profile http http_fansale {

     

    defaults from http

     

    oneconnect transformations disable

     

    }

     

  • So it looks like a standard HTTP VIP configuration. What are the symptoms of the problem? How did you determine that the BIG-IP is buffering the full response before sending it?

     

     

    Is the server sending chunked responses? Is chunking set to preserve on the HTTP profile? I believe that's the default setting.

     

     

    Aaron
  • from client side, the first seconds happened nothing, then he will get the whole page in a very short time. The chunked setting in the http profile is a idea - will check it

     

     

  • It would help to capture a tcpdump of the client connecting directly to the server and compare that with a tcpdump on the BIG-IP through the VIP. For the BIG-IP, you can use syntax like this to capture traffic on all interfaces involving the client or server IP's:

     

     

    tcpdump -i 0.0 -s0 -w/var/tmp/trace.dmp host CLIENT_IP or host SERVER_IP

     

     

    Replace CLIENT_IP and SERVER_IP with the actual addresses. The output is written to /var/tmp/trace.dmp or whatever you name the output file. You can use Wireshark to view the trace. If you get stuck, F5 Support can help you review the tcpdumps.

     

     

    Aaron
  • Hamish's avatar
    Hamish
    Icon for Cirrocumulus rankCirrocumulus
    Do you have iRules on this VS? What happens if you disable HTTP profile processing (Either remove it, or put in an iRule to run last that disables it at the end of the request, before the response). (Assuming you don't have any iRules that use the HTTP_RESPONSE that is).

     

     

    H
  • sorry, i´m today total bussy to follow your hints - i´ll be back :-)

     

    (on monday)