Loading ...
Sorry, an error occurred while loading the content.

Re: R: R: [Easy400Group] CGI Post delay for larger stream (CGI as Rest webserver)

Expand Messages
  • fzenasni400
    Nothing shoking in my conf file, pretty standard, just added an alias and directory for our programs. Here is the httpd.conf, no secrets :
    Message 1 of 11 , Apr 18 12:43 AM
    • 0 Attachment

      Nothing shoking in my conf file, pretty standard, just added an alias and directory for our programs.

      Here is the httpd.conf, no secrets :

      #=========================================================================

      # APACHE directives to run CGIDEV2

      #

      # To complete the installation of these directives,

      # execute the following command:

      # CPYF FROMFILE(CGIDEV2/QATMHINSTC) TOFILE(QUSRSYS/QATMHINSTC)

      # FROMMBR(CGIDEV2xxx) TOMBR(CGIDEV2xxx) MBROPT(*REPLACE) CRTFILE(*YES)

      #

      # To start the HTTP instance for CGIDEV2,

      # execute the following command:

      # STRTCPSVR SERVER(*HTTP) HTTPSVR(CGIDEV2xxx)

      # Then, run command WRKACTJOB SBS(QHTTPSVR) and make sure that more than

      # one CGIDEV2xxx job is running.

      # If not, the CGIDEV2xxx HTTP instance failed being started.

      # You should then look in the joblogs for CGIDEV2xxx jobs and find out

      # what the error was.

      #

      # To run CGIDEV2, type the following in the location line of your browser:

      # http://yourAS400IpAddr:8014/cgidev2/start

      #

      #=========================================================================

      # PART 1

      #=========================================================================

      ServerRoot /cgidev/conf

      DocumentRoot /cgidev/conf/hotdocs

      Listen 8014

      DefaultType text/html

      # CGI

      CGIConvMode %%EBCDIC/EBCDIC%%

      ThreadsPerChild 53

      MaxCGIJobs 100

      StartCGI 2 QTMHHTP1

      Timeout 1800

      # PERSISTENT CGI

      MaxPersistentCGI 5

      PersistentCGITimeout 30

      # PERFORMANCE

      DynamicCache on

      CacheLocalSizeLimit 25000

      FRCAEnableFileCache On

      FRCACacheLocalFileRunTime /cgidev/*.gif

      #=========================================================================

      # PART 2

      #=========================================================================

      Options +ExecCGI -FollowSymLinks -SymLinksIfOwnerMatch +Includes -Indexes -MultiViews

      AlwaysDirectoryIndex off

      DirectoryIndex index.html welcome.html

      # The following directives regard the HTTP instance logs

      LogFormat "%h %l %u %t %D %T \"%r\" %>s %b %I %O \"%{Referer}i\" \"%{User-agent}i\" %D" common

      CustomLog /cgidev/conf/logs/access_log Common

      ErrorLog /cgidev/conf/logs/basic_error_log

      # Log cleanup, 7 Days, no size limit on individual file

      LogMaint /cgidev/conf/logs/basic_error_log 7 0

      LogMaint /cgidev/conf/logs/access_log 7 0

      LogLength 512000000

      #

      SetEnvIf User-Agent "Mozilla/2" nokeepalive

      SetEnvIf User-Agent "JDK/1\.0" force-response-1.0

      SetEnvIf User-Agent "Java/1\.0" force-response-1.0

      SetEnvIf User-Agent "RealPlayer 4\.0" force-response-1.0

      SetEnvIf User-Agent "MSIE 4\.0b2;" nokeepalive

      SetEnvIf User-Agent "MSIE 4\.0b2;" downgrade-1.0

      SetEnvIf User-Agent "MSIE 4\.0b2;" force-response-1.0

      AddOutputFilter INCLUDES .shtml

      <Directory /cgidev/conf/htdocs>

      Order Allow,Deny

      Allow From all

      </Directory>

      #=========================================================================

      # PART 3 - APPLICATIONS DIRECTIVES

      #=========================================================================

      #---- CGIDEV2 directives

      AliasMatch /cgidev2h/(.*)\.htm /QSYS.LIB/CGIDEV2.LIB/HTMLSRC.FILE/$1.mbr

      AliasMatch /cgidev2o/(.*)\.htm /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/$1.mbr

      AliasMatch /cgidev2o/(.*)\.mbr /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/$1.mbr

      AliasMatch /cgidev2oit/(.*)\.htm /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/$1.mbr

      AliasMatch /cgidev2oit/(.*)\.mbr /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/$1.mbr

      Alias /cgidev2/start /qsys.lib/cgidev2.lib/demohtml.file/demoframe.mbr

      Alias /cgidev/ /cgidev/

      Alias /cgidevf/ /cgidev/

      Alias /cgidevexthtml/ /cgidevexthtml/

      Alias /cgidev2/ /qsys.lib/cgidev2.lib/

      Alias /cgidev2h/ /QSYS.LIB/CGIDEV2.LIB/HTMLSRC.FILE/

      Alias /cgidev2o/ /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/

      Alias /cgidev2oit/ /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/

      Alias /tmp/ /tmp/

      Alias /asqimalots/ /qsys.lib/asqimalots.lib/

      ScriptAliasMatch /cgidev2p/(.*).cgi /qsys.lib/cgidev2.lib/$1.pgm

      ScriptAliasMatch /cgidev2p/(.*) /qsys.lib/cgidev2.lib/$1

      <Directory /cgidev>

      Options None

      order allow,deny

      allow from all

      </Directory>

      <Directory /cgidevexthtml>

      Options None

      order allow,deny

      allow from all

      </Directory>

      <Directory /QSYS.LIB/CGIDEV2.LIB>

      Options None

      order allow,deny

      allow from all

      </Directory>

      <Directory /tmp>

      Options None

      order allow,deny

      allow from all

      </Directory>

      ScriptAliasMatch /asqimalotsp/(.*) /qsys.lib/asqimalots.lib/$1.pgm

      <Directory /QSYS.LIB/ASQIMALOTS.LIB>

      Options None

      order allow,deny

      allow from all

      SetEnv QIBM_CGI_LIBRARY_LIST "EXTEURT_IM;ASQIMALOTS;ASQIMALFTS;ASQIMALOPR;ASQIMADFTS;ASQIMADOPR;EXTASY_IM;QGPL"

      # Voor als authenticatie vanuit de client nodig is

      #Require valid-user

      #AuthType Basic

      #AuthName "Imes BackOffice Testomgeving"

      #PasswdFile %%SYSTEM%%

      #UserID WPRG

      # Deze verwerkingen draaien onder user :

      ServerUserID WPRG

      </Directory>


      --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
      >
      > You must have something "odd" in your http directives, especially if you
      > created your HTTP instance via *ADMIN.
      >
      > Check them carefully, and for each of them check page
      > http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/rzaie/rzaiedirectivel
      > ist.htm .
      >
      >
      >
      > I remember a case similar to yours. They unhappily used directive
      > IdentityCheck. Maybe you are using some harmful directive like that, or like
      > LimitRequest… .
      >
      >
      >
      > Giovanni
      >
      >
      >
      > Da: Easy400Group@yahoogroups.com [mailto:Easy400Group@yahoogroups.com] Per
      > conto di fzenasni400
      > Inviato: giovedì 18 aprile 2013 08:55
      > A: Easy400Group@yahoogroups.com
      > Oggetto: Re: R: [Easy400Group] CGI Post delay for larger stream (CGI as Rest
      > webserver)
      >
      >
      >
      >
      >
      > Giovanni
      >
      > Inlr and named activation group were already ok.
      > I don't have a problems sending large requests but receiving 'large'
      > requests (seems larger than 5 or 6 kb).
      >
      > Also, the delay takes exactly 60 seconds.
      > If i reduce the size of the request by a litlle, it suddenly processes
      > within a second.
      >
      >
      > --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
      > >
      > > In your RPGLE program do not raise *LR indicator before returning. Create
      > > the program with a named activity group.
      > >
      > > Giovanni B. Perotti
      > >
      > >
      > >
      > > Da: Easy400Group@yahoogroups.com [mailto:Easy400Group@yahoogroups.com] Per
      > > conto di fzenasni400
      > > Inviato: mercoledì 17 aprile 2013 17:29
      > > A: Easy400Group@yahoogroups.com
      > > Oggetto: [Easy400Group] CGI Post delay for larger stream (CGI as Rest
      > > webserver)
      > >
      > >
      > >
      > >
      > >
      > > We are running our CGIDEV as a rest webservice host. All requests we send
      > to
      > > it are very fast, within half a second, and less.
      > >
      > > However : a few bigger requests 8kb take up to 60 seconds to respond.
      > > The logging in my RPGLE program shows the RPG processing takes a few
      > > milliseconds, and debugging told me de delay occurs before the RPG program
      > > is called.
      > >
      > > Strange enough : executing the request via SoapUi from my pc takes under a
      > > second, when called from a tomcat client within the same network, takes 60
      > > seconds. It almost looks like it is waiting for a delay before passing the
      > > stream to my RPG program.
      > >
      > > Advise is appreciated.
      > >
      > > Access log shows the varying response times from varying clients :
      > >
      > > 172.31.101.36 - - [17/Apr/2013:11:58:18 +0200] 250096 0 "POST
      > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 4303 300 "-" "Apache CXF 2.6.0"
      > > 250104
      > > 172.31.101.36 - - [17/Apr/2013:11:58:32 +0200] 61019696 61 "POST
      > > /asqimalotsp/tr162bcgi HTTP/1.1" 400 106 5514 271 "-" "Apache CXF 2.6.0"
      > > 61019704
      > > 172.31.90.73 - - [17/Apr/2013:12:00:32 +0200] 721040 0 "POST
      > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 100 8826 295 "-"
      > > "Apache-HttpClient/4.1.1 (java 1.5)" 721048
      > > 172.31.90.73 - - [17/Apr/2013:12:00:41 +0200] 933368 0 "POST
      > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 8826 300 "-"
      > > "Apache-HttpClient/4.1.1 (java 1.5)" 933384
      > > 172.31.101.36 - - [17/Apr/2013:12:01:06 +0200] 149616 0 "POST
      > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 739 301 "-" "Apache CXF 2.6.0"
      > > 149624
      > > 172.31.101.36 - - [17/Apr/2013:12:01:16 +0200] 60428784 60 "POST
      > > /asqimalotsp/tr162bcgi HTTP/1.1" 400 106 5514 271 "-" "Apache CXF 2.6.0"
      > > 60428792
      > > 172.31.101.36 - - [17/Apr/2013:12:07:52 +0200] 398992 0 "POST
      > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 4303 301 "-" "Apache CXF 2.6.0"
      > > 399000
      > >
      >

    • Giovanni B. Perotti
      Try to temporarily remove directive ServerUserId . Did you look at the HTTP instance error log? Giovanni Da: Easy400Group@yahoogroups.com
      Message 2 of 11 , Apr 18 12:53 AM
      • 0 Attachment

        Try to temporarily remove directive ServerUserId .

        Did you look at the HTTP instance error log?

         

        Giovanni

         

        Da: Easy400Group@yahoogroups.com [mailto:Easy400Group@yahoogroups.com] Per conto di fzenasni400
        Inviato: giovedì 18 aprile 2013 09:44
        A: Easy400Group@yahoogroups.com
        Oggetto: Re: R: R: [Easy400Group] CGI Post delay for larger stream (CGI as Rest webserver)

         

         

        Nothing shoking in my conf file, pretty standard, just added an alias and directory for our programs.

        Here is the httpd.conf, no secrets :

        #=========================================================================

        # APACHE directives to run CGIDEV2

        #

        # To complete the installation of these directives,

        # execute the following command:

        # CPYF FROMFILE(CGIDEV2/QATMHINSTC) TOFILE(QUSRSYS/QATMHINSTC)

        # FROMMBR(CGIDEV2xxx) TOMBR(CGIDEV2xxx) MBROPT(*REPLACE) CRTFILE(*YES)

        #

        # To start the HTTP instance for CGIDEV2,

        # execute the following command:

        # STRTCPSVR SERVER(*HTTP) HTTPSVR(CGIDEV2xxx)

        # Then, run command WRKACTJOB SBS(QHTTPSVR) and make sure that more than

        # one CGIDEV2xxx job is running.

        # If not, the CGIDEV2xxx HTTP instance failed being started.

        # You should then look in the joblogs for CGIDEV2xxx jobs and find out

        # what the error was.

        #

        # To run CGIDEV2, type the following in the location line of your browser:

        # http://yourAS400IpAddr:8014/cgidev2/start

        #

        #=========================================================================

        # PART 1

        #=========================================================================

        ServerRoot /cgidev/conf

        DocumentRoot /cgidev/conf/hotdocs

        Listen 8014

        DefaultType text/html

        # CGI

        CGIConvMode %%EBCDIC/EBCDIC%%

        ThreadsPerChild 53

        MaxCGIJobs 100

        StartCGI 2 QTMHHTP1

        Timeout 1800

        # PERSISTENT CGI

        MaxPersistentCGI 5

        PersistentCGITimeout 30

        # PERFORMANCE

        DynamicCache on

        CacheLocalSizeLimit 25000

        FRCAEnableFileCache On

        FRCACacheLocalFileRunTime /cgidev/*.gif

        #=========================================================================

        # PART 2

        #=========================================================================

        Options +ExecCGI -FollowSymLinks -SymLinksIfOwnerMatch +Includes -Indexes -MultiViews

        AlwaysDirectoryIndex off

        DirectoryIndex index.html welcome.html

        # The following directives regard the HTTP instance logs

        LogFormat "%h %l %u %t %D %T \"%r\" %>s %b %I %O \"%{Referer}i\" \"%{User-agent}i\" %D" common

        CustomLog /cgidev/conf/logs/access_log Common

        ErrorLog /cgidev/conf/logs/basic_error_log

        # Log cleanup, 7 Days, no size limit on individual file

        LogMaint /cgidev/conf/logs/basic_error_log 7 0

        LogMaint /cgidev/conf/logs/access_log 7 0

        LogLength 512000000

        #

        SetEnvIf User-Agent "Mozilla/2" nokeepalive

        SetEnvIf User-Agent "JDK/1\.0" force-response-1.0

        SetEnvIf User-Agent "Java/1\.0" force-response-1.0

        SetEnvIf User-Agent "RealPlayer 4\.0" force-response-1.0

        SetEnvIf User-Agent "MSIE 4\.0b2;" nokeepalive

        SetEnvIf User-Agent "MSIE 4\.0b2;" downgrade-1.0

        SetEnvIf User-Agent "MSIE 4\.0b2;" force-response-1.0

        AddOutputFilter INCLUDES .shtml

        <Directory /cgidev/conf/htdocs>

        Order Allow,Deny

        Allow From all

        </Directory>

        #=========================================================================

        # PART 3 - APPLICATIONS DIRECTIVES

        #=========================================================================

        #---- CGIDEV2 directives

        AliasMatch /cgidev2h/(.*)\.htm /QSYS.LIB/CGIDEV2.LIB/HTMLSRC.FILE/$1.mbr

        AliasMatch /cgidev2o/(.*)\.htm /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/$1.mbr

        AliasMatch /cgidev2o/(.*)\.mbr /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/$1.mbr

        AliasMatch /cgidev2oit/(.*)\.htm /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/$1.mbr

        AliasMatch /cgidev2oit/(.*)\.mbr /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/$1.mbr

        Alias /cgidev2/start /qsys.lib/cgidev2.lib/demohtml.file/demoframe.mbr

        Alias /cgidev/ /cgidev/

        Alias /cgidevf/ /cgidev/

        Alias /cgidevexthtml/ /cgidevexthtml/

        Alias /cgidev2/ /qsys.lib/cgidev2.lib/

        Alias /cgidev2h/ /QSYS.LIB/CGIDEV2.LIB/HTMLSRC.FILE/

        Alias /cgidev2o/ /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/

        Alias /cgidev2oit/ /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/

        Alias /tmp/ /tmp/

        Alias /asqimalots/ /qsys.lib/asqimalots.lib/

        ScriptAliasMatch /cgidev2p/(.*).cgi /qsys.lib/cgidev2.lib/$1.pgm

        ScriptAliasMatch /cgidev2p/(.*) /qsys.lib/cgidev2.lib/$1

        <Directory /cgidev>

        Options None

        order allow,deny

        allow from all

        </Directory>

        <Directory /cgidevexthtml>

        Options None

        order allow,deny

        allow from all

        </Directory>

        <Directory /QSYS.LIB/CGIDEV2.LIB>

        Options None

        order allow,deny

        allow from all

        </Directory>

        <Directory /tmp>

        Options None

        order allow,deny

        allow from all

        </Directory>

        ScriptAliasMatch /asqimalotsp/(.*) /qsys.lib/asqimalots.lib/$1.pgm

        <Directory /QSYS.LIB/ASQIMALOTS.LIB>

        Options None

        order allow,deny

        allow from all

        SetEnv QIBM_CGI_LIBRARY_LIST "EXTEURT_IM;ASQIMALOTS;ASQIMALFTS;ASQIMALOPR;ASQIMADFTS;ASQIMADOPR;EXTASY_IM;QGPL"

        # Voor als authenticatie vanuit de client nodig is

        #Require valid-user

        #AuthType Basic

        #AuthName "Imes BackOffice Testomgeving"

        #PasswdFile %%SYSTEM%%

        #UserID WPRG

        # Deze verwerkingen draaien onder user :

        ServerUserID WPRG

        </Directory>

         

        --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:

        >
        > You must have something "odd" in your http directives, especially if you
        > created your HTTP instance via *ADMIN.
        >
        > Check them carefully, and for each of them check page
        > http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/rzaie/rzaiedirectivel
        > ist.htm .
        >
        >
        >
        > I remember a case similar to yours. They unhappily used directive
        > IdentityCheck. Maybe you are using some harmful directive like that, or like
        > LimitRequest… .
        >
        >
        >
        > Giovanni
        >
        >
        >
        > Da: Easy400Group@yahoogroups.com [mailto:Easy400Group@yahoogroups.com] Per
        > conto di fzenasni400
        > Inviato: giovedì 18 aprile 2013 08:55
        > A: Easy400Group@yahoogroups.com
        > Oggetto: Re: R: [Easy400Group] CGI Post delay for larger stream (CGI as Rest
        > webserver)
        >
        >
        >
        >
        >
        > Giovanni
        >
        > Inlr and named activation group were already ok.
        > I don't have a problems sending large requests but receiving 'large'
        > requests (seems larger than 5 or 6 kb).
        >
        > Also, the delay takes exactly 60 seconds.
        > If i reduce the size of the request by a litlle, it suddenly processes
        > within a second.
        >
        >
        > --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
        > >
        > > In your RPGLE program do not raise *LR indicator before returning. Create
        > > the program with a named activity group.
        > >
        > > Giovanni B. Perotti
        > >
        > >
        > >
        > > Da: Easy400Group@yahoogroups.com [mailto:Easy400Group@yahoogroups.com] Per
        > > conto di fzenasni400
        > > Inviato: mercoledì 17 aprile 2013 17:29
        > > A: Easy400Group@yahoogroups.com
        > > Oggetto: [Easy400Group] CGI Post delay for larger stream (CGI as Rest
        > > webserver)
        > >
        > >
        > >
        > >
        > >
        > > We are running our CGIDEV as a rest webservice host. All requests we send
        > to
        > > it are very fast, within half a second, and less.
        > >
        > > However : a few bigger requests 8kb take up to 60 seconds to respond.
        > > The logging in my RPGLE program shows the RPG processing takes a few
        > > milliseconds, and debugging told me de delay occurs before the RPG program
        > > is called.
        > >
        > > Strange enough : executing the request via SoapUi from my pc takes under a
        > > second, when called from a tomcat client within the same network, takes 60
        > > seconds. It almost looks like it is waiting for a delay before passing the
        > > stream to my RPG program.
        > >
        > > Advise is appreciated.
        > >
        > > Access log shows the varying response times from varying clients :
        > >
        > > 172.31.101.36 - - [17/Apr/2013:11:58:18 +0200] 250096 0 "POST
        > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 4303 300 "-" "Apache CXF 2.6.0"
        > > 250104
        > > 172.31.101.36 - - [17/Apr/2013:11:58:32 +0200] 61019696 61 "POST
        > > /asqimalotsp/tr162bcgi HTTP/1.1" 400 106 5514 271 "-" "Apache CXF 2.6.0"
        > > 61019704
        > > 172.31.90.73 - - [17/Apr/2013:12:00:32 +0200] 721040 0 "POST
        > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 100 8826 295 "-"
        > > "Apache-HttpClient/4.1.1 (java 1.5)" 721048
        > > 172.31.90.73 - - [17/Apr/2013:12:00:41 +0200] 933368 0 "POST
        > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 8826 300 "-"
        > > "Apache-HttpClient/4.1.1 (java 1.5)" 933384
        > > 172.31.101.36 - - [17/Apr/2013:12:01:06 +0200] 149616 0 "POST
        > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 739 301 "-" "Apache CXF 2.6.0"
        > > 149624
        > > 172.31.101.36 - - [17/Apr/2013:12:01:16 +0200] 60428784 60 "POST
        > > /asqimalotsp/tr162bcgi HTTP/1.1" 400 106 5514 271 "-" "Apache CXF 2.6.0"
        > > 60428792
        > > 172.31.101.36 - - [17/Apr/2013:12:07:52 +0200] 398992 0 "POST
        > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 4303 301 "-" "Apache CXF 2.6.0"
        > > 399000
        > >
        >

      • fzenasni400
        Nope, no change removing the serveruserid and no errors in the error_log. Starting to think the client is the problem. ... Per ... (CGI as ... and ...
        Message 3 of 11 , Apr 18 1:09 AM
        • 0 Attachment
          Nope, no change removing the serveruserid and no errors in the
          error_log.

          Starting to think the client is the problem.


          --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
          >
          > Try to temporarily remove directive ServerUserId .
          >
          > Did you look at the HTTP instance error log?
          >
          >
          >
          > Giovanni
          >
          >
          >
          > Da: Easy400Group@yahoogroups.com [mailto:Easy400Group@yahoogroups.com]
          Per
          > conto di fzenasni400
          > Inviato: giovedì 18 aprile 2013 09:44
          > A: Easy400Group@yahoogroups.com
          > Oggetto: Re: R: R: [Easy400Group] CGI Post delay for larger stream
          (CGI as
          > Rest webserver)
          >
          >
          >
          >
          >
          > Nothing shoking in my conf file, pretty standard, just added an alias
          and
          > directory for our programs.
          >
          > Here is the httpd.conf, no secrets :
          >
          >
          #=======================================================================\
          ==
          >
          > # APACHE directives to run CGIDEV2
          >
          > #
          >
          > # To complete the installation of these directives,
          >
          > # execute the following command:
          >
          > # CPYF FROMFILE(CGIDEV2/QATMHINSTC) TOFILE(QUSRSYS/QATMHINSTC)
          >
          > # FROMMBR(CGIDEV2xxx) TOMBR(CGIDEV2xxx) MBROPT(*REPLACE) CRTFILE(*YES)
          >
          > #
          >
          > # To start the HTTP instance for CGIDEV2,
          >
          > # execute the following command:
          >
          > # STRTCPSVR SERVER(*HTTP) HTTPSVR(CGIDEV2xxx)
          >
          > # Then, run command WRKACTJOB SBS(QHTTPSVR) and make sure that more
          than
          >
          > # one CGIDEV2xxx job is running.
          >
          > # If not, the CGIDEV2xxx HTTP instance failed being started.
          >
          > # You should then look in the joblogs for CGIDEV2xxx jobs and find out
          >
          > # what the error was.
          >
          > #
          >
          > # To run CGIDEV2, type the following in the location line of your
          browser:
          >
          > # http://yourAS400IpAddr:8014/cgidev2/start
          >
          > #
          >
          >
          #=======================================================================\
          ==
          >
          > # PART 1
          >
          >
          #=======================================================================\
          ==
          >
          > ServerRoot /cgidev/conf
          >
          > DocumentRoot /cgidev/conf/hotdocs
          >
          > Listen 8014
          >
          > DefaultType text/html
          >
          > # CGI
          >
          > CGIConvMode %%EBCDIC/EBCDIC%%
          >
          > ThreadsPerChild 53
          >
          > MaxCGIJobs 100
          >
          > StartCGI 2 QTMHHTP1
          >
          > Timeout 1800
          >
          > # PERSISTENT CGI
          >
          > MaxPersistentCGI 5
          >
          > PersistentCGITimeout 30
          >
          > # PERFORMANCE
          >
          > DynamicCache on
          >
          > CacheLocalSizeLimit 25000
          >
          > FRCAEnableFileCache On
          >
          > FRCACacheLocalFileRunTime /cgidev/*.gif
          >
          >
          #=======================================================================\
          ==
          >
          > # PART 2
          >
          >
          #=======================================================================\
          ==
          >
          > Options +ExecCGI -FollowSymLinks -SymLinksIfOwnerMatch +Includes
          -Indexes
          > -MultiViews
          >
          > AlwaysDirectoryIndex off
          >
          > DirectoryIndex index.html welcome.html
          >
          > # The following directives regard the HTTP instance logs
          >
          > LogFormat "%h %l %u %t %D %T \"%r\" %>s %b %I %O \"%{Referer}i\"
          > \"%{User-agent}i\" %D" common
          >
          > CustomLog /cgidev/conf/logs/access_log Common
          >
          > ErrorLog /cgidev/conf/logs/basic_error_log
          >
          > # Log cleanup, 7 Days, no size limit on individual file
          >
          > LogMaint /cgidev/conf/logs/basic_error_log 7 0
          >
          > LogMaint /cgidev/conf/logs/access_log 7 0
          >
          > LogLength 512000000
          >
          > #
          >
          > SetEnvIf User-Agent "Mozilla/2" nokeepalive
          >
          > SetEnvIf User-Agent "JDK/1\.0" force-response-1.0
          >
          > SetEnvIf User-Agent "Java/1\.0" force-response-1.0
          >
          > SetEnvIf User-Agent "RealPlayer 4\.0" force-response-1.0
          >
          > SetEnvIf User-Agent "MSIE 4\.0b2;" nokeepalive
          >
          > SetEnvIf User-Agent "MSIE 4\.0b2;" downgrade-1.0
          >
          > SetEnvIf User-Agent "MSIE 4\.0b2;" force-response-1.0
          >
          > AddOutputFilter INCLUDES .shtml
          >
          >
          >
          > Order Allow,Deny
          >
          > Allow From all
          >
          >
          >
          >
          #=======================================================================\
          ==
          >
          > # PART 3 - APPLICATIONS DIRECTIVES
          >
          >
          #=======================================================================\
          ==
          >
          > #---- CGIDEV2 directives
          >
          > AliasMatch /cgidev2h/(.*)\.htm
          /QSYS.LIB/CGIDEV2.LIB/HTMLSRC.FILE/$1.mbr
          >
          > AliasMatch /cgidev2o/(.*)\.htm
          /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/$1.mbr
          >
          > AliasMatch /cgidev2o/(.*)\.mbr
          /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/$1.mbr
          >
          > AliasMatch /cgidev2oit/(.*)\.htm
          > /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/$1.mbr
          >
          > AliasMatch /cgidev2oit/(.*)\.mbr
          > /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/$1.mbr
          >
          > Alias /cgidev2/start /qsys.lib/cgidev2.lib/demohtml.file/demoframe.mbr
          >
          > Alias /cgidev/ /cgidev/
          >
          > Alias /cgidevf/ /cgidev/
          >
          > Alias /cgidevexthtml/ /cgidevexthtml/
          >
          > Alias /cgidev2/ /qsys.lib/cgidev2.lib/
          >
          > Alias /cgidev2h/ /QSYS.LIB/CGIDEV2.LIB/HTMLSRC.FILE/
          >
          > Alias /cgidev2o/ /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/
          >
          > Alias /cgidev2oit/ /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/
          >
          > Alias /tmp/ /tmp/
          >
          > Alias /asqimalots/ /qsys.lib/asqimalots.lib/
          >
          > ScriptAliasMatch /cgidev2p/(.*).cgi /qsys.lib/cgidev2.lib/$1.pgm
          >
          > ScriptAliasMatch /cgidev2p/(.*) /qsys.lib/cgidev2.lib/$1
          >
          >
          >
          > Options None
          >
          > order allow,deny
          >
          > allow from all
          >
          >
          >
          >
          >
          > Options None
          >
          > order allow,deny
          >
          > allow from all
          >
          >
          >
          >
          >
          > Options None
          >
          > order allow,deny
          >
          > allow from all
          >
          >
          >
          >
          >
          > Options None
          >
          > order allow,deny
          >
          > allow from all
          >
          >
          >
          > ScriptAliasMatch /asqimalotsp/(.*) /qsys.lib/asqimalots.lib/$1.pgm
          >
          >
          >
          > Options None
          >
          > order allow,deny
          >
          > allow from all
          >
          > SetEnv QIBM_CGI_LIBRARY_LIST
          >
          "EXTEURT_IM;ASQIMALOTS;ASQIMALFTS;ASQIMALOPR;ASQIMADFTS;ASQIMADOPR;EXTAS\
          Y_IM
          > ;QGPL"
          >
          > # Voor als authenticatie vanuit de client nodig is
          >
          > #Require valid-user
          >
          > #AuthType Basic
          >
          > #AuthName "Imes BackOffice Testomgeving"
          >
          > #PasswdFile %%SYSTEM%%
          >
          > #UserID WPRG
          >
          > # Deze verwerkingen draaien onder user :
          >
          > ServerUserID WPRG
          >
          >
          >
          >
          >
          > --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
          > >
          > > You must have something "odd" in your http directives, especially if
          you
          > > created your HTTP instance via *ADMIN.
          > >
          > > Check them carefully, and for each of them check page
          > >
          >
          http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/rzaie/rzaiedirect\
          ivel
          > > ist.htm .
          > >
          > >
          > >
          > > I remember a case similar to yours. They unhappily used directive
          > > IdentityCheck. Maybe you are using some harmful directive like that,
          or
          > like
          > > LimitRequest… .
          > >
          > >
          > >
          > > Giovanni
          > >
          > >
          > >
          > > Da: Easy400Group@yahoogroups.com
          [mailto:Easy400Group@yahoogroups.com] Per
          > > conto di fzenasni400
          > > Inviato: giovedì 18 aprile 2013 08:55
          > > A: Easy400Group@yahoogroups.com
          > > Oggetto: Re: R: [Easy400Group] CGI Post delay for larger stream (CGI
          as
          > Rest
          > > webserver)
          > >
          > >
          > >
          > >
          > >
          > > Giovanni
          > >
          > > Inlr and named activation group were already ok.
          > > I don't have a problems sending large requests but receiving 'large'
          > > requests (seems larger than 5 or 6 kb).
          > >
          > > Also, the delay takes exactly 60 seconds.
          > > If i reduce the size of the request by a litlle, it suddenly
          processes
          > > within a second.
          > >
          > >
          > > --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
          > > >
          > > > In your RPGLE program do not raise *LR indicator before returning.
          > Create
          > > > the program with a named activity group.
          > > >
          > > > Giovanni B. Perotti
          > > >
          > > >
          > > >
          > > > Da: Easy400Group@yahoogroups.com
          [mailto:Easy400Group@yahoogroups.com]
          > Per
          > > > conto di fzenasni400
          > > > Inviato: mercoledì 17 aprile 2013 17:29
          > > > A: Easy400Group@yahoogroups.com
          > > > Oggetto: [Easy400Group] CGI Post delay for larger stream (CGI as
          Rest
          > > > webserver)
          > > >
          > > >
          > > >
          > > >
          > > >
          > > > We are running our CGIDEV as a rest webservice host. All requests
          we
          > send
          > > to
          > > > it are very fast, within half a second, and less.
          > > >
          > > > However : a few bigger requests 8kb take up to 60 seconds to
          respond.
          > > > The logging in my RPGLE program shows the RPG processing takes a
          few
          > > > milliseconds, and debugging told me de delay occurs before the RPG
          > program
          > > > is called.
          > > >
          > > > Strange enough : executing the request via SoapUi from my pc takes
          under
          > a
          > > > second, when called from a tomcat client within the same network,
          takes
          > 60
          > > > seconds. It almost looks like it is waiting for a delay before
          passing
          > the
          > > > stream to my RPG program.
          > > >
          > > > Advise is appreciated.
          > > >
          > > > Access log shows the varying response times from varying clients :
          > > >
          > > > 172.31.101.36 - - [17/Apr/2013:11:58:18 +0200] 250096 0 "POST
          > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 4303 300 "-" "Apache CXF
          2.6.0"
          > > > 250104
          > > > 172.31.101.36 - - [17/Apr/2013:11:58:32 +0200] 61019696 61 "POST
          > > > /asqimalotsp/tr162bcgi HTTP/1.1" 400 106 5514 271 "-" "Apache CXF
          2.6.0"
          > > > 61019704
          > > > 172.31.90.73 - - [17/Apr/2013:12:00:32 +0200] 721040 0 "POST
          > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 100 8826 295 "-"
          > > > "Apache-HttpClient/4.1.1 (java 1.5)" 721048
          > > > 172.31.90.73 - - [17/Apr/2013:12:00:41 +0200] 933368 0 "POST
          > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 8826 300 "-"
          > > > "Apache-HttpClient/4.1.1 (java 1.5)" 933384
          > > > 172.31.101.36 - - [17/Apr/2013:12:01:06 +0200] 149616 0 "POST
          > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 739 301 "-" "Apache CXF
          2.6.0"
          > > > 149624
          > > > 172.31.101.36 - - [17/Apr/2013:12:01:16 +0200] 60428784 60 "POST
          > > > /asqimalotsp/tr162bcgi HTTP/1.1" 400 106 5514 271 "-" "Apache CXF
          2.6.0"
          > > > 60428792
          > > > 172.31.101.36 - - [17/Apr/2013:12:07:52 +0200] 398992 0 "POST
          > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 4303 301 "-" "Apache CXF
          2.6.0"
          > > > 399000
          > > >
          > >
          >
        • fzenasni400
          Maybe this could give someone a clue, I captured the call stack of my CGI job, during the delay, when my program is called, and after the program termination.
          Message 4 of 11 , Apr 18 1:50 AM
          • 0 Attachment

            Maybe this could give someone a clue, I captured the call stack of my CGI job, during the delay, when my program is called, and after the program termination.

            The delay occurs in the first call stack capture, hanging on recvmsg procedure during 60 seconds !

            Program                  Statement         Procedure                    

            QP0ZPCP2   QSYS                            _CXX_PEP__Fv                 

            QP0ZPCPN   QSYS          264               Qp0zNewProcess               

            QP0ZPCPN   QSYS          206               InvokeTargetPgm__FP11qp0z_p >

            QZSRCGI    QHTTPSVR                        _C_pep                       

            QZSRCGI    QHTTPSVR      149               main                         

            QZSRCGI    QHTTPSVR      143               handlereq                    

            QZSRCGI    QHTTPSVR      484               CGICall                      

            QZSRCGI    QHTTPSVR      4                 receiveData                  

            QZSRCGI    QHTTPSVR      50                fillBuffer                    

            QSOSRV1    QSYS          16                recvmsg                      

             

            Program                  Statement         Procedure                   

            QP0ZPCP2   QSYS                            _CXX_PEP__Fv                

            QP0ZPCPN   QSYS          264               Qp0zNewProcess              

            QP0ZPCPN   QSYS          206               InvokeTargetPgm__FP11qp0z_p >

            QZSRCGI    QHTTPSVR                        _C_pep                      

            QZSRCGI    QHTTPSVR      149               main                        

            QZSRCGI    QHTTPSVR      143               handlereq                   

            QZSRCGI    QHTTPSVR      649               CGICall                     

            QZSRCGI    QHTTPSVR      3                 BigSwitch                   

            TR162BCGI  ASQIMALOTS                      _QRNP_PEP_TR162BCGI         

            TR162BCGI  ASQIMALOTS    2100000001        TR162BCGI                    

            QTEVSIRF   QSYS                     /022F                              

             

            Program                  Statement         Procedure                   

            QP0ZPCP2   QSYS                            _CXX_PEP__Fv                

            QP0ZPCPN   QSYS          264               Qp0zNewProcess              

            QP0ZPCPN   QSYS          206               InvokeTargetPgm__FP11qp0z_p >

            QZSRCGI    QHTTPSVR                        _C_pep                      

            QZSRCGI    QHTTPSVR      98                main                         

            QZSRCGI    QHTTPSVR      4                 receiveData                 

            QZSRCGI    QHTTPSVR      50                fillBuffer                  

            QSOSRV1    QSYS          16                recvmsg                     

             

             


            --- In Easy400Group@yahoogroups.com, "fzenasni400" wrote:
            >
            >
            > Nope, no change removing the serveruserid and no errors in the
            > error_log.
            >
            > Starting to think the client is the problem.
            >
            >
            > --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
            > >
            > > Try to temporarily remove directive ServerUserId .
            > >
            > > Did you look at the HTTP instance error log?
            > >
            > >
            > >
            > > Giovanni
            > >
            > >
            > >
            > > Da: Easy400Group@yahoogroups.com [mailto:Easy400Group@yahoogroups.com]
            > Per
            > > conto di fzenasni400
            > > Inviato: giovedì 18 aprile 2013 09:44
            > > A: Easy400Group@yahoogroups.com
            > > Oggetto: Re: R: R: [Easy400Group] CGI Post delay for larger stream
            > (CGI as
            > > Rest webserver)
            > >
            > >
            > >
            > >
            > >
            > > Nothing shoking in my conf file, pretty standard, just added an alias
            > and
            > > directory for our programs.
            > >
            > > Here is the httpd.conf, no secrets :
            > >
            > >
            > #=======================================================================\
            > ==
            > >
            > > # APACHE directives to run CGIDEV2
            > >
            > > #
            > >
            > > # To complete the installation of these directives,
            > >
            > > # execute the following command:
            > >
            > > # CPYF FROMFILE(CGIDEV2/QATMHINSTC) TOFILE(QUSRSYS/QATMHINSTC)
            > >
            > > # FROMMBR(CGIDEV2xxx) TOMBR(CGIDEV2xxx) MBROPT(*REPLACE) CRTFILE(*YES)
            > >
            > > #
            > >
            > > # To start the HTTP instance for CGIDEV2,
            > >
            > > # execute the following command:
            > >
            > > # STRTCPSVR SERVER(*HTTP) HTTPSVR(CGIDEV2xxx)
            > >
            > > # Then, run command WRKACTJOB SBS(QHTTPSVR) and make sure that more
            > than
            > >
            > > # one CGIDEV2xxx job is running.
            > >
            > > # If not, the CGIDEV2xxx HTTP instance failed being started.
            > >
            > > # You should then look in the joblogs for CGIDEV2xxx jobs and find out
            > >
            > > # what the error was.
            > >
            > > #
            > >
            > > # To run CGIDEV2, type the following in the location line of your
            > browser:
            > >
            > > # http://yourAS400IpAddr:8014/cgidev2/start
            > >
            > > #
            > >
            > >
            > #=======================================================================\
            > ==
            > >
            > > # PART 1
            > >
            > >
            > #=======================================================================\
            > ==
            > >
            > > ServerRoot /cgidev/conf
            > >
            > > DocumentRoot /cgidev/conf/hotdocs
            > >
            > > Listen 8014
            > >
            > > DefaultType text/html
            > >
            > > # CGI
            > >
            > > CGIConvMode %%EBCDIC/EBCDIC%%
            > >
            > > ThreadsPerChild 53
            > >
            > > MaxCGIJobs 100
            > >
            > > StartCGI 2 QTMHHTP1
            > >
            > > Timeout 1800
            > >
            > > # PERSISTENT CGI
            > >
            > > MaxPersistentCGI 5
            > >
            > > PersistentCGITimeout 30
            > >
            > > # PERFORMANCE
            > >
            > > DynamicCache on
            > >
            > > CacheLocalSizeLimit 25000
            > >
            > > FRCAEnableFileCache On
            > >
            > > FRCACacheLocalFileRunTime /cgidev/*.gif
            > >
            > >
            > #=======================================================================\
            > ==
            > >
            > > # PART 2
            > >
            > >
            > #=======================================================================\
            > ==
            > >
            > > Options +ExecCGI -FollowSymLinks -SymLinksIfOwnerMatch +Includes
            > -Indexes
            > > -MultiViews
            > >
            > > AlwaysDirectoryIndex off
            > >
            > > DirectoryIndex index.html welcome.html
            > >
            > > # The following directives regard the HTTP instance logs
            > >
            > > LogFormat "%h %l %u %t %D %T \"%r\" %>s %b %I %O \"%{Referer}i\"
            > > \"%{User-agent}i\" %D" common
            > >
            > > CustomLog /cgidev/conf/logs/access_log Common
            > >
            > > ErrorLog /cgidev/conf/logs/basic_error_log
            > >
            > > # Log cleanup, 7 Days, no size limit on individual file
            > >
            > > LogMaint /cgidev/conf/logs/basic_error_log 7 0
            > >
            > > LogMaint /cgidev/conf/logs/access_log 7 0
            > >
            > > LogLength 512000000
            > >
            > > #
            > >
            > > SetEnvIf User-Agent "Mozilla/2" nokeepalive
            > >
            > > SetEnvIf User-Agent "JDK/1\.0" force-response-1.0
            > >
            > > SetEnvIf User-Agent "Java/1\.0" force-response-1.0
            > >
            > > SetEnvIf User-Agent "RealPlayer 4\.0" force-response-1.0
            > >
            > > SetEnvIf User-Agent "MSIE 4\.0b2;" nokeepalive
            > >
            > > SetEnvIf User-Agent "MSIE 4\.0b2;" downgrade-1.0
            > >
            > > SetEnvIf User-Agent "MSIE 4\.0b2;" force-response-1.0
            > >
            > > AddOutputFilter INCLUDES .shtml
            > >
            > >
            > >
            > > Order Allow,Deny
            > >
            > > Allow From all
            > >
            > >
            > >
            > >
            > #=======================================================================\
            > ==
            > >
            > > # PART 3 - APPLICATIONS DIRECTIVES
            > >
            > >
            > #=======================================================================\
            > ==
            > >
            > > #---- CGIDEV2 directives
            > >
            > > AliasMatch /cgidev2h/(.*)\.htm
            > /QSYS.LIB/CGIDEV2.LIB/HTMLSRC.FILE/$1.mbr
            > >
            > > AliasMatch /cgidev2o/(.*)\.htm
            > /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/$1.mbr
            > >
            > > AliasMatch /cgidev2o/(.*)\.mbr
            > /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/$1.mbr
            > >
            > > AliasMatch /cgidev2oit/(.*)\.htm
            > > /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/$1.mbr
            > >
            > > AliasMatch /cgidev2oit/(.*)\.mbr
            > > /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/$1.mbr
            > >
            > > Alias /cgidev2/start /qsys.lib/cgidev2.lib/demohtml.file/demoframe.mbr
            > >
            > > Alias /cgidev/ /cgidev/
            > >
            > > Alias /cgidevf/ /cgidev/
            > >
            > > Alias /cgidevexthtml/ /cgidevexthtml/
            > >
            > > Alias /cgidev2/ /qsys.lib/cgidev2.lib/
            > >
            > > Alias /cgidev2h/ /QSYS.LIB/CGIDEV2.LIB/HTMLSRC.FILE/
            > >
            > > Alias /cgidev2o/ /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/
            > >
            > > Alias /cgidev2oit/ /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/
            > >
            > > Alias /tmp/ /tmp/
            > >
            > > Alias /asqimalots/ /qsys.lib/asqimalots.lib/
            > >
            > > ScriptAliasMatch /cgidev2p/(.*).cgi /qsys.lib/cgidev2.lib/$1.pgm
            > >
            > > ScriptAliasMatch /cgidev2p/(.*) /qsys.lib/cgidev2.lib/$1
            > >
            > >
            > >
            > > Options None
            > >
            > > order allow,deny
            > >
            > > allow from all
            > >
            > >
            > >
            > >
            > >
            > > Options None
            > >
            > > order allow,deny
            > >
            > > allow from all
            > >
            > >
            > >
            > >
            > >
            > > Options None
            > >
            > > order allow,deny
            > >
            > > allow from all
            > >
            > >
            > >
            > >
            > >
            > > Options None
            > >
            > > order allow,deny
            > >
            > > allow from all
            > >
            > >
            > >
            > > ScriptAliasMatch /asqimalotsp/(.*) /qsys.lib/asqimalots.lib/$1.pgm
            > >
            > >
            > >
            > > Options None
            > >
            > > order allow,deny
            > >
            > > allow from all
            > >
            > > SetEnv QIBM_CGI_LIBRARY_LIST
            > >
            > "EXTEURT_IM;ASQIMALOTS;ASQIMALFTS;ASQIMALOPR;ASQIMADFTS;ASQIMADOPR;EXTAS\
            > Y_IM
            > > ;QGPL"
            > >
            > > # Voor als authenticatie vanuit de client nodig is
            > >
            > > #Require valid-user
            > >
            > > #AuthType Basic
            > >
            > > #AuthName "Imes BackOffice Testomgeving"
            > >
            > > #PasswdFile %%SYSTEM%%
            > >
            > > #UserID WPRG
            > >
            > > # Deze verwerkingen draaien onder user :
            > >
            > > ServerUserID WPRG
            > >
            > >
            > >
            > >
            > >
            > > --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
            > > >
            > > > You must have something "odd" in your http directives, especially if
            > you
            > > > created your HTTP instance via *ADMIN.
            > > >
            > > > Check them carefully, and for each of them check page
            > > >
            > >
            > http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/rzaie/rzaiedirect\
            > ivel
            > > > ist.htm .
            > > >
            > > >
            > > >
            > > > I remember a case similar to yours. They unhappily used directive
            > > > IdentityCheck. Maybe you are using some harmful directive like that,
            > or
            > > like
            > > > LimitRequest… .
            > > >
            > > >
            > > >
            > > > Giovanni
            > > >
            > > >
            > > >
            > > > Da: Easy400Group@yahoogroups.com
            > [mailto:Easy400Group@yahoogroups.com] Per
            > > > conto di fzenasni400
            > > > Inviato: giovedì 18 aprile 2013 08:55
            > > > A: Easy400Group@yahoogroups.com
            > > > Oggetto: Re: R: [Easy400Group] CGI Post delay for larger stream (CGI
            > as
            > > Rest
            > > > webserver)
            > > >
            > > >
            > > >
            > > >
            > > >
            > > > Giovanni
            > > >
            > > > Inlr and named activation group were already ok.
            > > > I don't have a problems sending large requests but receiving 'large'
            > > > requests (seems larger than 5 or 6 kb).
            > > >
            > > > Also, the delay takes exactly 60 seconds.
            > > > If i reduce the size of the request by a litlle, it suddenly
            > processes
            > > > within a second.
            > > >
            > > >
            > > > --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
            > > > >
            > > > > In your RPGLE program do not raise *LR indicator before returning.
            > > Create
            > > > > the program with a named activity group.
            > > > >
            > > > > Giovanni B. Perotti
            > > > >
            > > > >
            > > > >
            > > > > Da: Easy400Group@yahoogroups.com
            > [mailto:Easy400Group@yahoogroups.com]
            > > Per
            > > > > conto di fzenasni400
            > > > > Inviato: mercoledì 17 aprile 2013 17:29
            > > > > A: Easy400Group@yahoogroups.com
            > > > > Oggetto: [Easy400Group] CGI Post delay for larger stream (CGI as
            > Rest
            > > > > webserver)
            > > > >
            > > > >
            > > > >
            > > > >
            > > > >
            > > > > We are running our CGIDEV as a rest webservice host. All requests
            > we
            > > send
            > > > to
            > > > > it are very fast, within half a second, and less.
            > > > >
            > > > > However : a few bigger requests 8kb take up to 60 seconds to
            > respond.
            > > > > The logging in my RPGLE program shows the RPG processing takes a
            > few
            > > > > milliseconds, and debugging told me de delay occurs before the RPG
            > > program
            > > > > is called.
            > > > >
            > > > > Strange enough : executing the request via SoapUi from my pc takes
            > under
            > > a
            > > > > second, when called from a tomcat client within the same network,
            > takes
            > > 60
            > > > > seconds. It almost looks like it is waiting for a delay before
            > passing
            > > the
            > > > > stream to my RPG program.
            > > > >
            > > > > Advise is appreciated.
            > > > >
            > > > > Access log shows the varying response times from varying clients :
            > > > >
            > > > > 172.31.101.36 - - [17/Apr/2013:11:58:18 +0200] 250096 0 "POST
            > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 4303 300 "-" "Apache CXF
            > 2.6.0"
            > > > > 250104
            > > > > 172.31.101.36 - - [17/Apr/2013:11:58:32 +0200] 61019696 61 "POST
            > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 400 106 5514 271 "-" "Apache CXF
            > 2.6.0"
            > > > > 61019704
            > > > > 172.31.90.73 - - [17/Apr/2013:12:00:32 +0200] 721040 0 "POST
            > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 100 8826 295 "-"
            > > > > "Apache-HttpClient/4.1.1 (java 1.5)" 721048
            > > > > 172.31.90.73 - - [17/Apr/2013:12:00:41 +0200] 933368 0 "POST
            > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 8826 300 "-"
            > > > > "Apache-HttpClient/4.1.1 (java 1.5)" 933384
            > > > > 172.31.101.36 - - [17/Apr/2013:12:01:06 +0200] 149616 0 "POST
            > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 739 301 "-" "Apache CXF
            > 2.6.0"
            > > > > 149624
            > > > > 172.31.101.36 - - [17/Apr/2013:12:01:16 +0200] 60428784 60 "POST
            > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 400 106 5514 271 "-" "Apache CXF
            > 2.6.0"
            > > > > 60428792
            > > > > 172.31.101.36 - - [17/Apr/2013:12:07:52 +0200] 398992 0 "POST
            > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 4303 301 "-" "Apache CXF
            > 2.6.0"
            > > > > 399000
            > > > >
            > > >
            > >
            >

          • Jean-Marc Gigandet
            Hi, 60 seconds, that makes me think about waiting for a lock or an allocation. Is there any CPU usage for this job during the 60 seconds, or not ? Regards,
            Message 5 of 11 , Apr 18 1:58 AM
            • 0 Attachment
              Hi,

              60 seconds, that makes me think about waiting for a lock or an allocation.
              Is there any CPU usage for this job during the 60 seconds, or not ?

              Regards,
              Jean-Marc


              Le 18/04/2013 10:50, fzenasni400 a écrit :
               

              Maybe this could give someone a clue, I captured the call stack of my CGI job, during the delay, when my program is called, and after the program termination.

              The delay occurs in the first call stack capture, hanging on recvmsg procedure during 60 seconds !

              Program                  Statement         Procedure                    

              QP0ZPCP2   QSYS                            _CXX_PEP__Fv                 

              QP0ZPCPN   QSYS          264               Qp0zNewProcess               

              QP0ZPCPN   QSYS          206               InvokeTargetPgm__FP11qp0z_p >

              QZSRCGI    QHTTPSVR                        _C_pep                       

              QZSRCGI    QHTTPSVR      149               main                         

              QZSRCGI    QHTTPSVR      143               handlereq                    

              QZSRCGI    QHTTPSVR      484               CGICall                      

              QZSRCGI    QHTTPSVR      4                 receiveData                  

              QZSRCGI    QHTTPSVR      50                fillBuffer                    

              QSOSRV1    QSYS          16                recvmsg                      

               

              Program                  Statement         Procedure                   

              QP0ZPCP2   QSYS                            _CXX_PEP__Fv                

              QP0ZPCPN   QSYS          264               Qp0zNewProcess              

              QP0ZPCPN   QSYS          206               InvokeTargetPgm__FP11qp0z_p >

              QZSRCGI    QHTTPSVR                        _C_pep                      

              QZSRCGI    QHTTPSVR      149               main                        

              QZSRCGI    QHTTPSVR      143               handlereq                   

              QZSRCGI    QHTTPSVR      649               CGICall                     

              QZSRCGI    QHTTPSVR      3                 BigSwitch                   

              TR162BCGI  ASQIMALOTS                      _QRNP_PEP_TR162BCGI         

              TR162BCGI  ASQIMALOTS    2100000001        TR162BCGI                    

              QTEVSIRF   QSYS                     /022F                              

               

              Program                  Statement         Procedure                   

              QP0ZPCP2   QSYS                            _CXX_PEP__Fv                

              QP0ZPCPN   QSYS          264               Qp0zNewProcess              

              QP0ZPCPN   QSYS          206               InvokeTargetPgm__FP11qp0z_p >

              QZSRCGI    QHTTPSVR                        _C_pep                      

              QZSRCGI    QHTTPSVR      98                main                         

              QZSRCGI    QHTTPSVR      4                 receiveData                 

              QZSRCGI    QHTTPSVR      50                fillBuffer                  

              QSOSRV1    QSYS          16                recvmsg                     

               

               


              --- In Easy400Group@yahoogroups.com, "fzenasni400" wrote:
              >
              >
              > Nope, no change removing the serveruserid and no errors in the
              > error_log.
              >
              > Starting to think the client is the problem.
              >
              >
              > --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
              > >
              > > Try to temporarily remove directive ServerUserId .
              > >
              > > Did you look at the HTTP instance error log?
              > >
              > >
              > >
              > > Giovanni
              > >
              > >
              > >
              > > Da: Easy400Group@yahoogroups.com [mailto:Easy400Group@yahoogroups.com]
              > Per
              > > conto di fzenasni400
              > > Inviato: giovedì 18 aprile 2013 09:44
              > > A: Easy400Group@yahoogroups.com
              > > Oggetto: Re: R: R: [Easy400Group] CGI Post delay for larger stream
              > (CGI as
              > > Rest webserver)
              > >
              > >
              > >
              > >
              > >
              > > Nothing shoking in my conf file, pretty standard, just added an alias
              > and
              > > directory for our programs.
              > >
              > > Here is the httpd.conf, no secrets :
              > >
              > >
              > #=======================================================================\
              > ==
              > >
              > > # APACHE directives to run CGIDEV2
              > >
              > > #
              > >
              > > # To complete the installation of these directives,
              > >
              > > # execute the following command:
              > >
              > > # CPYF FROMFILE(CGIDEV2/QATMHINSTC) TOFILE(QUSRSYS/QATMHINSTC)
              > >
              > > # FROMMBR(CGIDEV2xxx) TOMBR(CGIDEV2xxx) MBROPT(*REPLACE) CRTFILE(*YES)
              > >
              > > #
              > >
              > > # To start the HTTP instance for CGIDEV2,
              > >
              > > # execute the following command:
              > >
              > > # STRTCPSVR SERVER(*HTTP) HTTPSVR(CGIDEV2xxx)
              > >
              > > # Then, run command WRKACTJOB SBS(QHTTPSVR) and make sure that more
              > than
              > >
              > > # one CGIDEV2xxx job is running.
              > >
              > > # If not, the CGIDEV2xxx HTTP instance failed being started.
              > >
              > > # You should then look in the joblogs for CGIDEV2xxx jobs and find out
              > >
              > > # what the error was.
              > >
              > > #
              > >
              > > # To run CGIDEV2, type the following in the location line of your
              > browser:
              > >
              > > # http://yourAS400IpAddr:8014/cgidev2/start
              > >
              > > #
              > >
              > >
              > #=======================================================================\
              > ==
              > >
              > > # PART 1
              > >
              > >
              > #=======================================================================\
              > ==
              > >
              > > ServerRoot /cgidev/conf
              > >
              > > DocumentRoot /cgidev/conf/hotdocs
              > >
              > > Listen 8014
              > >
              > > DefaultType text/html
              > >
              > > # CGI
              > >
              > > CGIConvMode %%EBCDIC/EBCDIC%%
              > >
              > > ThreadsPerChild 53
              > >
              > > MaxCGIJobs 100
              > >
              > > StartCGI 2 QTMHHTP1
              > >
              > > Timeout 1800
              > >
              > > # PERSISTENT CGI
              > >
              > > MaxPersistentCGI 5
              > >
              > > PersistentCGITimeout 30
              > >
              > > # PERFORMANCE
              > >
              > > DynamicCache on
              > >
              > > CacheLocalSizeLimit 25000
              > >
              > > FRCAEnableFileCache On
              > >
              > > FRCACacheLocalFileRunTime /cgidev/*.gif
              > >
              > >
              > #=======================================================================\
              > ==
              > >
              > > # PART 2
              > >
              > >
              > #=======================================================================\
              > ==
              > >
              > > Options +ExecCGI -FollowSymLinks -SymLinksIfOwnerMatch +Includes
              > -Indexes
              > > -MultiViews
              > >
              > > AlwaysDirectoryIndex off
              > >
              > > DirectoryIndex index.html welcome.html
              > >
              > > # The following directives regard the HTTP instance logs
              > >
              > > LogFormat "%h %l %u %t %D %T \"%r\" %>s %b %I %O \"%{Referer}i\"
              > > \"%{User-agent}i\" %D" common
              > >
              > > CustomLog /cgidev/conf/logs/access_log Common
              > >
              > > ErrorLog /cgidev/conf/logs/basic_error_log
              > >
              > > # Log cleanup, 7 Days, no size limit on individual file
              > >
              > > LogMaint /cgidev/conf/logs/basic_error_log 7 0
              > >
              > > LogMaint /cgidev/conf/logs/access_log 7 0
              > >
              > > LogLength 512000000
              > >
              > > #
              > >
              > > SetEnvIf User-Agent "Mozilla/2" nokeepalive
              > >
              > > SetEnvIf User-Agent "JDK/1\.0" force-response-1.0
              > >
              > > SetEnvIf User-Agent "Java/1\.0" force-response-1.0
              > >
              > > SetEnvIf User-Agent "RealPlayer 4\.0" force-response-1.0
              > >
              > > SetEnvIf User-Agent "MSIE 4\.0b2;" nokeepalive
              > >
              > > SetEnvIf User-Agent "MSIE 4\.0b2;" downgrade-1.0
              > >
              > > SetEnvIf User-Agent "MSIE 4\.0b2;" force-response-1.0
              > >
              > > AddOutputFilter INCLUDES .shtml
              > >
              > >
              > >
              > > Order Allow,Deny
              > >
              > > Allow From all
              > >
              > >
              > >
              > >
              > #=======================================================================\
              > ==
              > >
              > > # PART 3 - APPLICATIONS DIRECTIVES
              > >
              > >
              > #=======================================================================\
              > ==
              > >
              > > #---- CGIDEV2 directives
              > >
              > > AliasMatch /cgidev2h/(.*)\.htm
              > /QSYS.LIB/CGIDEV2.LIB/HTMLSRC.FILE/$1.mbr
              > >
              > > AliasMatch /cgidev2o/(.*)\.htm
              > /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/$1.mbr
              > >
              > > AliasMatch /cgidev2o/(.*)\.mbr
              > /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/$1.mbr
              > >
              > > AliasMatch /cgidev2oit/(.*)\.htm
              > > /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/$1.mbr
              > >
              > > AliasMatch /cgidev2oit/(.*)\.mbr
              > > /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/$1.mbr
              > >
              > > Alias /cgidev2/start /qsys.lib/cgidev2.lib/demohtml.file/demoframe.mbr
              > >
              > > Alias /cgidev/ /cgidev/
              > >
              > > Alias /cgidevf/ /cgidev/
              > >
              > > Alias /cgidevexthtml/ /cgidevexthtml/
              > >
              > > Alias /cgidev2/ /qsys.lib/cgidev2.lib/
              > >
              > > Alias /cgidev2h/ /QSYS.LIB/CGIDEV2.LIB/HTMLSRC.FILE/
              > >
              > > Alias /cgidev2o/ /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/
              > >
              > > Alias /cgidev2oit/ /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/
              > >
              > > Alias /tmp/ /tmp/
              > >
              > > Alias /asqimalots/ /qsys.lib/asqimalots.lib/
              > >
              > > ScriptAliasMatch /cgidev2p/(.*).cgi /qsys.lib/cgidev2.lib/$1.pgm
              > >
              > > ScriptAliasMatch /cgidev2p/(.*) /qsys.lib/cgidev2.lib/$1
              > >
              > >
              > >
              > > Options None
              > >
              > > order allow,deny
              > >
              > > allow from all
              > >
              > >
              > >
              > >
              > >
              > > Options None
              > >
              > > order allow,deny
              > >
              > > allow from all
              > >
              > >
              > >
              > >
              > >
              > > Options None
              > >
              > > order allow,deny
              > >
              > > allow from all
              > >
              > >
              > >
              > >
              > >
              > > Options None
              > >
              > > order allow,deny
              > >
              > > allow from all
              > >
              > >
              > >
              > > ScriptAliasMatch /asqimalotsp/(.*) /qsys.lib/asqimalots.lib/$1.pgm
              > >
              > >
              > >
              > > Options None
              > >
              > > order allow,deny
              > >
              > > allow from all
              > >
              > > SetEnv QIBM_CGI_LIBRARY_LIST
              > >
              > "EXTEURT_IM;ASQIMALOTS;ASQIMALFTS;ASQIMALOPR;ASQIMADFTS;ASQIMADOPR;EXTAS\
              > Y_IM
              > > ;QGPL"
              > >
              > > # Voor als authenticatie vanuit de client nodig is
              > >
              > > #Require valid-user
              > >
              > > #AuthType Basic
              > >
              > > #AuthName "Imes BackOffice Testomgeving"
              > >
              > > #PasswdFile %%SYSTEM%%
              > >
              > > #UserID WPRG
              > >
              > > # Deze verwerkingen draaien onder user :
              > >
              > > ServerUserID WPRG
              > >
              > >
              > >
              > >
              > >
              > > --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
              > > >
              > > > You must have something "odd" in your http directives, especially if
              > you
              > > > created your HTTP instance via *ADMIN.
              > > >
              > > > Check them carefully, and for each of them check page
              > > >
              > >
              > http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/rzaie/rzaiedirect\
              > ivel
              > > > ist.htm .
              > > >
              > > >
              > > >
              > > > I remember a case similar to yours. They unhappily used directive
              > > > IdentityCheck. Maybe you are using some harmful directive like that,
              > or
              > > like
              > > > LimitRequest… .
              > > >
              > > >
              > > >
              > > > Giovanni
              > > >
              > > >
              > > >
              > > > Da: Easy400Group@yahoogroups.com
              > [mailto:Easy400Group@yahoogroups.com] Per
              > > > conto di fzenasni400
              > > > Inviato: giovedì 18 aprile 2013 08:55
              > > > A: Easy400Group@yahoogroups.com
              > > > Oggetto: Re: R: [Easy400Group] CGI Post delay for larger stream (CGI
              > as
              > > Rest
              > > > webserver)
              > > >
              > > >
              > > >
              > > >
              > > >
              > > > Giovanni
              > > >
              > > > Inlr and named activation group were already ok.
              > > > I don't have a problems sending large requests but receiving 'large'
              > > > requests (seems larger than 5 or 6 kb).
              > > >
              > > > Also, the delay takes exactly 60 seconds.
              > > > If i reduce the size of the request by a litlle, it suddenly
              > processes
              > > > within a second.
              > > >
              > > >
              > > > --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
              > > > >
              > > > > In your RPGLE program do not raise *LR indicator before returning.
              > > Create
              > > > > the program with a named activity group.
              > > > >
              > > > > Giovanni B. Perotti
              > > > >
              > > > >
              > > > >
              > > > > Da: Easy400Group@yahoogroups.com
              > [mailto:Easy400Group@yahoogroups.com]
              > > Per
              > > > > conto di fzenasni400
              > > > > Inviato: mercoledì 17 aprile 2013 17:29
              > > > > A: Easy400Group@yahoogroups.com
              > > > > Oggetto: [Easy400Group] CGI Post delay for larger stream (CGI as
              > Rest
              > > > > webserver)
              > > > >
              > > > >
              > > > >
              > > > >
              > > > >
              > > > > We are running our CGIDEV as a rest webservice host. All requests
              > we
              > > send
              > > > to
              > > > > it are very fast, within half a second, and less.
              > > > >
              > > > > However : a few bigger requests 8kb take up to 60 seconds to
              > respond.
              > > > > The logging in my RPGLE program shows the RPG processing takes a
              > few
              > > > > milliseconds, and debugging told me de delay occurs before the RPG
              > > program
              > > > > is called.
              > > > >
              > > > > Strange enough : executing the request via SoapUi from my pc takes
              > under
              > > a
              > > > > second, when called from a tomcat client within the same network,
              > takes
              > > 60
              > > > > seconds. It almost looks like it is waiting for a delay before
              > passing
              > > the
              > > > > stream to my RPG program.
              > > > >
              > > > > Advise is appreciated.
              > > > >
              > > > > Access log shows the varying response times from varying clients :
              > > > >
              > > > > 172.31.101.36 - - [17/Apr/2013:11:58:18 +0200] 250096 0 "POST
              > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 4303 300 "-" "Apache CXF
              > 2.6.0"
              > > > > 250104
              > > > > 172.31.101.36 - - [17/Apr/2013:11:58:32 +0200] 61019696 61 "POST
              > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 400 106 5514 271 "-" "Apache CXF
              > 2.6.0"
              > > > > 61019704
              > > > > 172.31.90.73 - - [17/Apr/2013:12:00:32 +0200] 721040 0 "POST
              > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 100 8826 295 "-"
              > > > > "Apache-HttpClient/4.1.1 (java 1.5)" 721048
              > > > > 172.31.90.73 - - [17/Apr/2013:12:00:41 +0200] 933368 0 "POST
              > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 8826 300 "-"
              > > > > "Apache-HttpClient/4.1.1 (java 1.5)" 933384
              > > > > 172.31.101.36 - - [17/Apr/2013:12:01:06 +0200] 149616 0 "POST
              > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 739 301 "-" "Apache CXF
              > 2.6.0"
              > > > > 149624
              > > > > 172.31.101.36 - - [17/Apr/2013:12:01:16 +0200] 60428784 60 "POST
              > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 400 106 5514 271 "-" "Apache CXF
              > 2.6.0"
              > > > > 60428792
              > > > > 172.31.101.36 - - [17/Apr/2013:12:07:52 +0200] 398992 0 "POST
              > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 4303 301 "-" "Apache CXF
              > 2.6.0"
              > > > > 399000
              > > > >
              > > >
              > >
              >


            • fzenasni400
              No CPU usage, job stay s in TIMW
              Message 6 of 11 , Apr 18 3:11 AM
              • 0 Attachment
                No CPU usage, job stay's in TIMW

                --- In Easy400Group@yahoogroups.com, Jean-Marc Gigandet <jm.gigandet@...> wrote:
                >
                > Hi,
                >
                > 60 seconds, that makes me think about waiting for a lock or an allocation.
                > Is there any CPU usage for this job during the 60 seconds, or not ?
                >
                > Regards,
                > Jean-Marc
                >
                >
                > Le 18/04/2013 10:50, fzenasni400 a écrit :
                > >
                > > Maybe this could give someone a clue, I captured the call stack of my
                > > CGI job, during the delay, when my program is called, and after the
                > > program termination.
                > >
                > > The delay occurs in the first call stack capture, hanging on recvmsg
                > > procedure during 60 seconds !
                > >
                > > *_ProgramStatementProcedure_*
                > >
                > > QP0ZPCP2QSYS_CXX_PEP__Fv
                > >
                > > QP0ZPCPNQSYS264Qp0zNewProcess
                > >
                > > QP0ZPCPNQSYS206InvokeTargetPgm__FP11qp0z_p >
                > >
                > > QZSRCGIQHTTPSVR_C_pep
                > >
                > > QZSRCGIQHTTPSVR149main
                > >
                > > QZSRCGIQHTTPSVR143handlereq
                > >
                > > QZSRCGIQHTTPSVR484CGICall
                > >
                > > QZSRCGIQHTTPSVR4receiveData
                > >
                > > QZSRCGIQHTTPSVR50fillBuffer
                > >
                > > QSOSRV1QSYS16recvmsg
                > >
                > > *_ProgramStatementProcedure_*
                > >
                > > QP0ZPCP2QSYS_CXX_PEP__Fv
                > >
                > > QP0ZPCPNQSYS264Qp0zNewProcess
                > >
                > > QP0ZPCPNQSYS206InvokeTargetPgm__FP11qp0z_p >
                > >
                > > QZSRCGIQHTTPSVR_C_pep
                > >
                > > QZSRCGIQHTTPSVR149main
                > >
                > > QZSRCGIQHTTPSVR143handlereq
                > >
                > > QZSRCGIQHTTPSVR649CGICall
                > >
                > > QZSRCGIQHTTPSVR3BigSwitch
                > >
                > > TR162BCGIASQIMALOTS_QRNP_PEP_TR162BCGI
                > >
                > > TR162BCGIASQIMALOTS2100000001TR162BCGI
                > >
                > > QTEVSIRFQSYS/022F
                > >
                > > *_ProgramStatementProcedure_*
                > >
                > > QP0ZPCP2QSYS_CXX_PEP__Fv
                > >
                > > QP0ZPCPNQSYS264Qp0zNewProcess
                > >
                > > QP0ZPCPNQSYS206InvokeTargetPgm__FP11qp0z_p >
                > >
                > > QZSRCGIQHTTPSVR_C_pep
                > >
                > > QZSRCGIQHTTPSVR98main
                > >
                > > QZSRCGIQHTTPSVR4receiveData
                > >
                > > QZSRCGIQHTTPSVR50fillBuffer
                > >
                > > QSOSRV1QSYS16recvmsg
                > >
                > >
                > > --- In Easy400Group@yahoogroups.com, "fzenasni400" wrote:
                > > >
                > > >
                > > > Nope, no change removing the serveruserid and no errors in the
                > > > error_log.
                > > >
                > > > Starting to think the client is the problem.
                > > >
                > > >
                > > > --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
                > > > >
                > > > > Try to temporarily remove directive ServerUserId .
                > > > >
                > > > > Did you look at the HTTP instance error log?
                > > > >
                > > > >
                > > > >
                > > > > Giovanni
                > > > >
                > > > >
                > > > >
                > > > > Da: Easy400Group@yahoogroups.com [mailto:Easy400Group@yahoogroups.com]
                > > > Per
                > > > > conto di fzenasni400
                > > > > Inviato: giovedì 18 aprile 2013 09:44
                > > > > A: Easy400Group@yahoogroups.com
                > > > > Oggetto: Re: R: R: [Easy400Group] CGI Post delay for larger stream
                > > > (CGI as
                > > > > Rest webserver)
                > > > >
                > > > >
                > > > >
                > > > >
                > > > >
                > > > > Nothing shoking in my conf file, pretty standard, just added an alias
                > > > and
                > > > > directory for our programs.
                > > > >
                > > > > Here is the httpd.conf, no secrets :
                > > > >
                > > > >
                > > >
                > > #=======================================================================\
                > > > ==
                > > > >
                > > > > # APACHE directives to run CGIDEV2
                > > > >
                > > > > #
                > > > >
                > > > > # To complete the installation of these directives,
                > > > >
                > > > > # execute the following command:
                > > > >
                > > > > # CPYF FROMFILE(CGIDEV2/QATMHINSTC) TOFILE(QUSRSYS/QATMHINSTC)
                > > > >
                > > > > # FROMMBR(CGIDEV2xxx) TOMBR(CGIDEV2xxx) MBROPT(*REPLACE) CRTFILE(*YES)
                > > > >
                > > > > #
                > > > >
                > > > > # To start the HTTP instance for CGIDEV2,
                > > > >
                > > > > # execute the following command:
                > > > >
                > > > > # STRTCPSVR SERVER(*HTTP) HTTPSVR(CGIDEV2xxx)
                > > > >
                > > > > # Then, run command WRKACTJOB SBS(QHTTPSVR) and make sure that more
                > > > than
                > > > >
                > > > > # one CGIDEV2xxx job is running.
                > > > >
                > > > > # If not, the CGIDEV2xxx HTTP instance failed being started.
                > > > >
                > > > > # You should then look in the joblogs for CGIDEV2xxx jobs and find out
                > > > >
                > > > > # what the error was.
                > > > >
                > > > > #
                > > > >
                > > > > # To run CGIDEV2, type the following in the location line of your
                > > > browser:
                > > > >
                > > > > # http://yourAS400IpAddr:8014/cgidev2/start
                > > > >
                > > > > #
                > > > >
                > > > >
                > > >
                > > #=======================================================================\
                > > > ==
                > > > >
                > > > > # PART 1
                > > > >
                > > > >
                > > >
                > > #=======================================================================\
                > > > ==
                > > > >
                > > > > ServerRoot /cgidev/conf
                > > > >
                > > > > DocumentRoot /cgidev/conf/hotdocs
                > > > >
                > > > > Listen 8014
                > > > >
                > > > > DefaultType text/html
                > > > >
                > > > > # CGI
                > > > >
                > > > > CGIConvMode %%EBCDIC/EBCDIC%%
                > > > >
                > > > > ThreadsPerChild 53
                > > > >
                > > > > MaxCGIJobs 100
                > > > >
                > > > > StartCGI 2 QTMHHTP1
                > > > >
                > > > > Timeout 1800
                > > > >
                > > > > # PERSISTENT CGI
                > > > >
                > > > > MaxPersistentCGI 5
                > > > >
                > > > > PersistentCGITimeout 30
                > > > >
                > > > > # PERFORMANCE
                > > > >
                > > > > DynamicCache on
                > > > >
                > > > > CacheLocalSizeLimit 25000
                > > > >
                > > > > FRCAEnableFileCache On
                > > > >
                > > > > FRCACacheLocalFileRunTime /cgidev/*.gif
                > > > >
                > > > >
                > > >
                > > #=======================================================================\
                > > > ==
                > > > >
                > > > > # PART 2
                > > > >
                > > > >
                > > >
                > > #=======================================================================\
                > > > ==
                > > > >
                > > > > Options +ExecCGI -FollowSymLinks -SymLinksIfOwnerMatch +Includes
                > > > -Indexes
                > > > > -MultiViews
                > > > >
                > > > > AlwaysDirectoryIndex off
                > > > >
                > > > > DirectoryIndex index.html welcome.html
                > > > >
                > > > > # The following directives regard the HTTP instance logs
                > > > >
                > > > > LogFormat "%h %l %u %t %D %T \"%r\" %>s %b %I %O \"%{Referer}i\"
                > > > > \"%{User-agent}i\" %D" common
                > > > >
                > > > > CustomLog /cgidev/conf/logs/access_log Common
                > > > >
                > > > > ErrorLog /cgidev/conf/logs/basic_error_log
                > > > >
                > > > > # Log cleanup, 7 Days, no size limit on individual file
                > > > >
                > > > > LogMaint /cgidev/conf/logs/basic_error_log 7 0
                > > > >
                > > > > LogMaint /cgidev/conf/logs/access_log 7 0
                > > > >
                > > > > LogLength 512000000
                > > > >
                > > > > #
                > > > >
                > > > > SetEnvIf User-Agent "Mozilla/2" nokeepalive
                > > > >
                > > > > SetEnvIf User-Agent "JDK/1\.0" force-response-1.0
                > > > >
                > > > > SetEnvIf User-Agent "Java/1\.0" force-response-1.0
                > > > >
                > > > > SetEnvIf User-Agent "RealPlayer 4\.0" force-response-1.0
                > > > >
                > > > > SetEnvIf User-Agent "MSIE 4\.0b2;" nokeepalive
                > > > >
                > > > > SetEnvIf User-Agent "MSIE 4\.0b2;" downgrade-1.0
                > > > >
                > > > > SetEnvIf User-Agent "MSIE 4\.0b2;" force-response-1.0
                > > > >
                > > > > AddOutputFilter INCLUDES .shtml
                > > > >
                > > > >
                > > > >
                > > > > Order Allow,Deny
                > > > >
                > > > > Allow From all
                > > > >
                > > > >
                > > > >
                > > > >
                > > >
                > > #=======================================================================\
                > > > ==
                > > > >
                > > > > # PART 3 - APPLICATIONS DIRECTIVES
                > > > >
                > > > >
                > > >
                > > #=======================================================================\
                > > > ==
                > > > >
                > > > > #---- CGIDEV2 directives
                > > > >
                > > > > AliasMatch /cgidev2h/(.*)\.htm
                > > > /QSYS.LIB/CGIDEV2.LIB/HTMLSRC.FILE/$1.mbr
                > > > >
                > > > > AliasMatch /cgidev2o/(.*)\.htm
                > > > /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/$1.mbr
                > > > >
                > > > > AliasMatch /cgidev2o/(.*)\.mbr
                > > > /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/$1.mbr
                > > > >
                > > > > AliasMatch /cgidev2oit/(.*)\.htm
                > > > > /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/$1.mbr
                > > > >
                > > > > AliasMatch /cgidev2oit/(.*)\.mbr
                > > > > /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/$1.mbr
                > > > >
                > > > > Alias /cgidev2/start /qsys.lib/cgidev2.lib/demohtml.file/demoframe.mbr
                > > > >
                > > > > Alias /cgidev/ /cgidev/
                > > > >
                > > > > Alias /cgidevf/ /cgidev/
                > > > >
                > > > > Alias /cgidevexthtml/ /cgidevexthtml/
                > > > >
                > > > > Alias /cgidev2/ /qsys.lib/cgidev2.lib/
                > > > >
                > > > > Alias /cgidev2h/ /QSYS.LIB/CGIDEV2.LIB/HTMLSRC.FILE/
                > > > >
                > > > > Alias /cgidev2o/ /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/
                > > > >
                > > > > Alias /cgidev2oit/ /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/
                > > > >
                > > > > Alias /tmp/ /tmp/
                > > > >
                > > > > Alias /asqimalots/ /qsys.lib/asqimalots.lib/
                > > > >
                > > > > ScriptAliasMatch /cgidev2p/(.*).cgi /qsys.lib/cgidev2.lib/$1.pgm
                > > > >
                > > > > ScriptAliasMatch /cgidev2p/(.*) /qsys.lib/cgidev2.lib/$1
                > > > >
                > > > >
                > > > >
                > > > > Options None
                > > > >
                > > > > order allow,deny
                > > > >
                > > > > allow from all
                > > > >
                > > > >
                > > > >
                > > > >
                > > > >
                > > > > Options None
                > > > >
                > > > > order allow,deny
                > > > >
                > > > > allow from all
                > > > >
                > > > >
                > > > >
                > > > >
                > > > >
                > > > > Options None
                > > > >
                > > > > order allow,deny
                > > > >
                > > > > allow from all
                > > > >
                > > > >
                > > > >
                > > > >
                > > > >
                > > > > Options None
                > > > >
                > > > > order allow,deny
                > > > >
                > > > > allow from all
                > > > >
                > > > >
                > > > >
                > > > > ScriptAliasMatch /asqimalotsp/(.*) /qsys.lib/asqimalots.lib/$1.pgm
                > > > >
                > > > >
                > > > >
                > > > > Options None
                > > > >
                > > > > order allow,deny
                > > > >
                > > > > allow from all
                > > > >
                > > > > SetEnv QIBM_CGI_LIBRARY_LIST
                > > > >
                > > >
                > > "EXTEURT_IM;ASQIMALOTS;ASQIMALFTS;ASQIMALOPR;ASQIMADFTS;ASQIMADOPR;EXTAS\
                > > > Y_IM
                > > > > ;QGPL"
                > > > >
                > > > > # Voor als authenticatie vanuit de client nodig is
                > > > >
                > > > > #Require valid-user
                > > > >
                > > > > #AuthType Basic
                > > > >
                > > > > #AuthName "Imes BackOffice Testomgeving"
                > > > >
                > > > > #PasswdFile %%SYSTEM%%
                > > > >
                > > > > #UserID WPRG
                > > > >
                > > > > # Deze verwerkingen draaien onder user :
                > > > >
                > > > > ServerUserID WPRG
                > > > >
                > > > >
                > > > >
                > > > >
                > > > >
                > > > > --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
                > > > > >
                > > > > > You must have something "odd" in your http directives, especially if
                > > > you
                > > > > > created your HTTP instance via *ADMIN.
                > > > > >
                > > > > > Check them carefully, and for each of them check page
                > > > > >
                > > > >
                > > >
                > > http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/rzaie/rzaiedirect\
                > > > ivel
                > > > > > ist.htm .
                > > > > >
                > > > > >
                > > > > >
                > > > > > I remember a case similar to yours. They unhappily used directive
                > > > > > IdentityCheck. Maybe you are using some harmful directive like that,
                > > > or
                > > > > like
                > > > > > LimitRequest... .
                > > > > >
                > > > > >
                > > > > >
                > > > > > Giovanni
                > > > > >
                > > > > >
                > > > > >
                > > > > > Da: Easy400Group@yahoogroups.com
                > > > [mailto:Easy400Group@yahoogroups.com] Per
                > > > > > conto di fzenasni400
                > > > > > Inviato: giovedì 18 aprile 2013 08:55
                > > > > > A: Easy400Group@yahoogroups.com
                > > > > > Oggetto: Re: R: [Easy400Group] CGI Post delay for larger stream (CGI
                > > > as
                > > > > Rest
                > > > > > webserver)
                > > > > >
                > > > > >
                > > > > >
                > > > > >
                > > > > >
                > > > > > Giovanni
                > > > > >
                > > > > > Inlr and named activation group were already ok.
                > > > > > I don't have a problems sending large requests but receiving 'large'
                > > > > > requests (seems larger than 5 or 6 kb).
                > > > > >
                > > > > > Also, the delay takes exactly 60 seconds.
                > > > > > If i reduce the size of the request by a litlle, it suddenly
                > > > processes
                > > > > > within a second.
                > > > > >
                > > > > >
                > > > > > --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
                > > > > > >
                > > > > > > In your RPGLE program do not raise *LR indicator before returning.
                > > > > Create
                > > > > > > the program with a named activity group.
                > > > > > >
                > > > > > > Giovanni B. Perotti
                > > > > > >
                > > > > > >
                > > > > > >
                > > > > > > Da: Easy400Group@yahoogroups.com
                > > > [mailto:Easy400Group@yahoogroups.com]
                > > > > Per
                > > > > > > conto di fzenasni400
                > > > > > > Inviato: mercoledì 17 aprile 2013 17:29
                > > > > > > A: Easy400Group@yahoogroups.com
                > > > > > > Oggetto: [Easy400Group] CGI Post delay for larger stream (CGI as
                > > > Rest
                > > > > > > webserver)
                > > > > > >
                > > > > > >
                > > > > > >
                > > > > > >
                > > > > > >
                > > > > > > We are running our CGIDEV as a rest webservice host. All requests
                > > > we
                > > > > send
                > > > > > to
                > > > > > > it are very fast, within half a second, and less.
                > > > > > >
                > > > > > > However : a few bigger requests 8kb take up to 60 seconds to
                > > > respond.
                > > > > > > The logging in my RPGLE program shows the RPG processing takes a
                > > > few
                > > > > > > milliseconds, and debugging told me de delay occurs before the RPG
                > > > > program
                > > > > > > is called.
                > > > > > >
                > > > > > > Strange enough : executing the request via SoapUi from my pc takes
                > > > under
                > > > > a
                > > > > > > second, when called from a tomcat client within the same network,
                > > > takes
                > > > > 60
                > > > > > > seconds. It almost looks like it is waiting for a delay before
                > > > passing
                > > > > the
                > > > > > > stream to my RPG program.
                > > > > > >
                > > > > > > Advise is appreciated.
                > > > > > >
                > > > > > > Access log shows the varying response times from varying clients :
                > > > > > >
                > > > > > > 172.31.101.36 - - [17/Apr/2013:11:58:18 +0200] 250096 0 "POST
                > > > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 4303 300 "-" "Apache CXF
                > > > 2.6.0"
                > > > > > > 250104
                > > > > > > 172.31.101.36 - - [17/Apr/2013:11:58:32 +0200] 61019696 61 "POST
                > > > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 400 106 5514 271 "-" "Apache CXF
                > > > 2.6.0"
                > > > > > > 61019704
                > > > > > > 172.31.90.73 - - [17/Apr/2013:12:00:32 +0200] 721040 0 "POST
                > > > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 100 8826 295 "-"
                > > > > > > "Apache-HttpClient/4.1.1 (java 1.5)" 721048
                > > > > > > 172.31.90.73 - - [17/Apr/2013:12:00:41 +0200] 933368 0 "POST
                > > > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 8826 300 "-"
                > > > > > > "Apache-HttpClient/4.1.1 (java 1.5)" 933384
                > > > > > > 172.31.101.36 - - [17/Apr/2013:12:01:06 +0200] 149616 0 "POST
                > > > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 739 301 "-" "Apache CXF
                > > > 2.6.0"
                > > > > > > 149624
                > > > > > > 172.31.101.36 - - [17/Apr/2013:12:01:16 +0200] 60428784 60 "POST
                > > > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 400 106 5514 271 "-" "Apache CXF
                > > > 2.6.0"
                > > > > > > 60428792
                > > > > > > 172.31.101.36 - - [17/Apr/2013:12:07:52 +0200] 398992 0 "POST
                > > > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 4303 301 "-" "Apache CXF
                > > > 2.6.0"
                > > > > > > 399000
                > > > > > >
                > > > > >
                > > > >
                > > >
                > >
                > >
                >
              • Giovanni B. Perotti
                Ferid, I believe that there is nothing wrong. A CGI program gets control from the HTTP server as soon as all the inputs have been received. Now, the time spent
                Message 7 of 11 , Apr 18 6:57 AM
                • 0 Attachment

                  Ferid,

                   

                  I believe that there is nothing wrong.

                   

                  A CGI program gets control from the HTTP server as soon as all the inputs have been received.

                  Now, the time spent by the HTTP server in receiving the input depends on the size of it.

                  In other words, the time depends on the speed (in upload mode) of the full network (from the client, through Internet nodes, till your HTTP server).

                   

                  I had some measurements on different input sizes (my client is in Italy, my HTTP server is in Germany), measured in KB:

                     KB        sec k/sec

                      3        <1      ?

                  1205        11    110

                  5619        59     95

                  6836        85     80

                  12817       134     96

                  From the above, it is clear that – at the time of the day I had those measurement, the average network speed was about 90 k/sec.

                  According to what you are reporting, you are experiencing more or less the same speed.

                  There is nothing wrong with that. It’s line speed, dear! J

                   

                  Giovanni

                   

                   

                  Da: Easy400Group@yahoogroups.com [mailto:Easy400Group@yahoogroups.com] Per conto di fzenasni400
                  Inviato: giovedì 18 aprile 2013 10:51
                  A: Easy400Group@yahoogroups.com
                  Oggetto: Re: R: R: R: [Easy400Group] CGI Post delay for larger stream (CGI as Rest webserver)

                   

                   

                  Maybe this could give someone a clue, I captured the call stack of my CGI job, during the delay, when my program is called, and after the program termination.

                  The delay occurs in the first call stack capture, hanging on recvmsg procedure during 60 seconds !

                  Program                  Statement         Procedure                    

                  QP0ZPCP2   QSYS                            _CXX_PEP__Fv                 

                  QP0ZPCPN   QSYS          264               Qp0zNewProcess               

                  QP0ZPCPN   QSYS          206               InvokeTargetPgm__FP11qp0z_p >

                  QZSRCGI    QHTTPSVR                        _C_pep                       

                  QZSRCGI    QHTTPSVR      149               main                         

                  QZSRCGI    QHTTPSVR      143               handlereq                    

                  QZSRCGI    QHTTPSVR      484               CGICall                      

                  QZSRCGI    QHTTPSVR      4                 receiveData                  

                  QZSRCGI    QHTTPSVR      50                fillBuffer                    

                  QSOSRV1    QSYS          16                recvmsg                      

                   

                  Program                  Statement         Procedure                   

                  QP0ZPCP2   QSYS                            _CXX_PEP__Fv                

                  QP0ZPCPN   QSYS          264               Qp0zNewProcess              

                  QP0ZPCPN   QSYS          206               InvokeTargetPgm__FP11qp0z_p >

                  QZSRCGI    QHTTPSVR                        _C_pep                      

                  QZSRCGI    QHTTPSVR      149               main                        

                  QZSRCGI    QHTTPSVR      143               handlereq                   

                  QZSRCGI    QHTTPSVR      649               CGICall                     

                  QZSRCGI    QHTTPSVR      3                 BigSwitch                   

                  TR162BCGI  ASQIMALOTS                      _QRNP_PEP_TR162BCGI         

                  TR162BCGI  ASQIMALOTS    2100000001        TR162BCGI                    

                  QTEVSIRF   QSYS                     /022F                              

                   

                  Program                  Statement         Procedure                   

                  QP0ZPCP2   QSYS                            _CXX_PEP__Fv                

                  QP0ZPCPN   QSYS          264               Qp0zNewProcess              

                  QP0ZPCPN   QSYS          206               InvokeTargetPgm__FP11qp0z_p >

                  QZSRCGI    QHTTPSVR                        _C_pep                      

                  QZSRCGI    QHTTPSVR      98                main                         

                  QZSRCGI    QHTTPSVR      4                 receiveData                 

                  QZSRCGI    QHTTPSVR      50                fillBuffer                  

                  QSOSRV1    QSYS          16                recvmsg                     

                   

                   


                  --- In Easy400Group@yahoogroups.com, "fzenasni400" wrote:
                  >
                  >
                  > Nope, no change removing the serveruserid and no errors in the
                  > error_log.
                  >
                  > Starting to think the client is the problem.
                  >
                  >
                  > --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
                  > >
                  > > Try to temporarily remove directive ServerUserId .
                  > >
                  > > Did you look at the HTTP instance error log?
                  > >
                  > >
                  > >
                  > > Giovanni
                  > >
                  > >
                  > >
                  > > Da: Easy400Group@yahoogroups.com [mailto:Easy400Group@yahoogroups.com]
                  > Per
                  > > conto di fzenasni400
                  > > Inviato: giovedì 18 aprile 2013 09:44
                  > > A: Easy400Group@yahoogroups.com
                  > > Oggetto: Re: R: R: [Easy400Group] CGI Post delay for larger stream
                  > (CGI as
                  > > Rest webserver)
                  > >
                  > >
                  > >
                  > >
                  > >
                  > > Nothing shoking in my conf file, pretty standard, just added an alias
                  > and
                  > > directory for our programs.
                  > >
                  > > Here is the httpd.conf, no secrets :
                  > >
                  > >
                  > #=======================================================================\
                  > ==
                  > >
                  > > # APACHE directives to run CGIDEV2
                  > >
                  > > #
                  > >
                  > > # To complete the installation of these directives,
                  > >
                  > > # execute the following command:
                  > >
                  > > # CPYF FROMFILE(CGIDEV2/QATMHINSTC) TOFILE(QUSRSYS/QATMHINSTC)
                  > >
                  > > # FROMMBR(CGIDEV2xxx) TOMBR(CGIDEV2xxx) MBROPT(*REPLACE) CRTFILE(*YES)
                  > >
                  > > #
                  > >
                  > > # To start the HTTP instance for CGIDEV2,
                  > >
                  > > # execute the following command:
                  > >
                  > > # STRTCPSVR SERVER(*HTTP) HTTPSVR(CGIDEV2xxx)
                  > >
                  > > # Then, run command WRKACTJOB SBS(QHTTPSVR) and make sure that more
                  > than
                  > >
                  > > # one CGIDEV2xxx job is running.
                  > >
                  > > # If not, the CGIDEV2xxx HTTP instance failed being started.
                  > >
                  > > # You should then look in the joblogs for CGIDEV2xxx jobs and find out
                  > >
                  > > # what the error was.
                  > >
                  > > #
                  > >
                  > > # To run CGIDEV2, type the following in the location line of your
                  > browser:
                  > >
                  > > # http://yourAS400IpAddr:8014/cgidev2/start
                  > >
                  > > #
                  > >
                  > >
                  > #=======================================================================\
                  > ==
                  > >
                  > > # PART 1
                  > >
                  > >
                  > #=======================================================================\
                  > ==
                  > >
                  > > ServerRoot /cgidev/conf
                  > >
                  > > DocumentRoot /cgidev/conf/hotdocs
                  > >
                  > > Listen 8014
                  > >
                  > > DefaultType text/html
                  > >
                  > > # CGI
                  > >
                  > > CGIConvMode %%EBCDIC/EBCDIC%%
                  > >
                  > > ThreadsPerChild 53
                  > >
                  > > MaxCGIJobs 100
                  > >
                  > > StartCGI 2 QTMHHTP1
                  > >
                  > > Timeout 1800
                  > >
                  > > # PERSISTENT CGI
                  > >
                  > > MaxPersistentCGI 5
                  > >
                  > > PersistentCGITimeout 30
                  > >
                  > > # PERFORMANCE
                  > >
                  > > DynamicCache on
                  > >
                  > > CacheLocalSizeLimit 25000
                  > >
                  > > FRCAEnableFileCache On
                  > >
                  > > FRCACacheLocalFileRunTime /cgidev/*.gif
                  > >
                  > >
                  > #=======================================================================\
                  > ==
                  > >
                  > > # PART 2
                  > >
                  > >
                  > #=======================================================================\
                  > ==
                  > >
                  > > Options +ExecCGI -FollowSymLinks -SymLinksIfOwnerMatch +Includes
                  > -Indexes
                  > > -MultiViews
                  > >
                  > > AlwaysDirectoryIndex off
                  > >
                  > > DirectoryIndex index.html welcome.html
                  > >
                  > > # The following directives regard the HTTP instance logs
                  > >
                  > > LogFormat "%h %l %u %t %D %T \"%r\" %>s %b %I %O \"%{Referer}i\"
                  > > \"%{User-agent}i\" %D" common
                  > >
                  > > CustomLog /cgidev/conf/logs/access_log Common
                  > >
                  > > ErrorLog /cgidev/conf/logs/basic_error_log
                  > >
                  > > # Log cleanup, 7 Days, no size limit on individual file
                  > >
                  > > LogMaint /cgidev/conf/logs/basic_error_log 7 0
                  > >
                  > > LogMaint /cgidev/conf/logs/access_log 7 0
                  > >
                  > > LogLength 512000000
                  > >
                  > > #
                  > >
                  > > SetEnvIf User-Agent "Mozilla/2" nokeepalive
                  > >
                  > > SetEnvIf User-Agent "JDK/1\.0" force-response-1.0
                  > >
                  > > SetEnvIf User-Agent "Java/1\.0" force-response-1.0
                  > >
                  > > SetEnvIf User-Agent "RealPlayer 4\.0" force-response-1.0
                  > >
                  > > SetEnvIf User-Agent "MSIE 4\.0b2;" nokeepalive
                  > >
                  > > SetEnvIf User-Agent "MSIE 4\.0b2;" downgrade-1.0
                  > >
                  > > SetEnvIf User-Agent "MSIE 4\.0b2;" force-response-1.0
                  > >
                  > > AddOutputFilter INCLUDES .shtml
                  > >
                  > >
                  > >
                  > > Order Allow,Deny
                  > >
                  > > Allow From all
                  > >
                  > >
                  > >
                  > >
                  > #=======================================================================\
                  > ==
                  > >
                  > > # PART 3 - APPLICATIONS DIRECTIVES
                  > >
                  > >
                  > #=======================================================================\
                  > ==
                  > >
                  > > #---- CGIDEV2 directives
                  > >
                  > > AliasMatch /cgidev2h/(.*)\.htm
                  > /QSYS.LIB/CGIDEV2.LIB/HTMLSRC.FILE/$1.mbr
                  > >
                  > > AliasMatch /cgidev2o/(.*)\.htm
                  > /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/$1.mbr
                  > >
                  > > AliasMatch /cgidev2o/(.*)\.mbr
                  > /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/$1.mbr
                  > >
                  > > AliasMatch /cgidev2oit/(.*)\.htm
                  > > /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/$1.mbr
                  > >
                  > > AliasMatch /cgidev2oit/(.*)\.mbr
                  > > /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/$1.mbr
                  > >
                  > > Alias /cgidev2/start /qsys.lib/cgidev2.lib/demohtml.file/demoframe.mbr
                  > >
                  > > Alias /cgidev/ /cgidev/
                  > >
                  > > Alias /cgidevf/ /cgidev/
                  > >
                  > > Alias /cgidevexthtml/ /cgidevexthtml/
                  > >
                  > > Alias /cgidev2/ /qsys.lib/cgidev2.lib/
                  > >
                  > > Alias /cgidev2h/ /QSYS.LIB/CGIDEV2.LIB/HTMLSRC.FILE/
                  > >
                  > > Alias /cgidev2o/ /QSYS.LIB/CGIDEV2.LIB/DEMOHTML.FILE/
                  > >
                  > > Alias /cgidev2oit/ /QSYS.LIB/CGIDEV2.LIB/DEMOHTMLIT.FILE/
                  > >
                  > > Alias /tmp/ /tmp/
                  > >
                  > > Alias /asqimalots/ /qsys.lib/asqimalots.lib/
                  > >
                  > > ScriptAliasMatch /cgidev2p/(.*).cgi /qsys.lib/cgidev2.lib/$1.pgm
                  > >
                  > > ScriptAliasMatch /cgidev2p/(.*) /qsys.lib/cgidev2.lib/$1
                  > >
                  > >
                  > >
                  > > Options None
                  > >
                  > > order allow,deny
                  > >
                  > > allow from all
                  > >
                  > >
                  > >
                  > >
                  > >
                  > > Options None
                  > >
                  > > order allow,deny
                  > >
                  > > allow from all
                  > >
                  > >
                  > >
                  > >
                  > >
                  > > Options None
                  > >
                  > > order allow,deny
                  > >
                  > > allow from all
                  > >
                  > >
                  > >
                  > >
                  > >
                  > > Options None
                  > >
                  > > order allow,deny
                  > >
                  > > allow from all
                  > >
                  > >
                  > >
                  > > ScriptAliasMatch /asqimalotsp/(.*) /qsys.lib/asqimalots.lib/$1.pgm
                  > >
                  > >
                  > >
                  > > Options None
                  > >
                  > > order allow,deny
                  > >
                  > > allow from all
                  > >
                  > > SetEnv QIBM_CGI_LIBRARY_LIST
                  > >
                  > "EXTEURT_IM;ASQIMALOTS;ASQIMALFTS;ASQIMALOPR;ASQIMADFTS;ASQIMADOPR;EXTAS\
                  > Y_IM
                  > > ;QGPL"
                  > >
                  > > # Voor als authenticatie vanuit de client nodig is
                  > >
                  > > #Require valid-user
                  > >
                  > > #AuthType Basic
                  > >
                  > > #AuthName "Imes BackOffice Testomgeving"
                  > >
                  > > #PasswdFile %%SYSTEM%%
                  > >
                  > > #UserID WPRG
                  > >
                  > > # Deze verwerkingen draaien onder user :
                  > >
                  > > ServerUserID WPRG
                  > >
                  > >
                  > >
                  > >
                  > >
                  > > --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
                  > > >
                  > > > You must have something "odd" in your http directives, especially if
                  > you
                  > > > created your HTTP instance via *ADMIN.
                  > > >
                  > > > Check them carefully, and for each of them check page
                  > > >
                  > >
                  > http://publib.boulder.ibm.com/iseries/v5r2/ic2924/info/rzaie/rzaiedirect\
                  > ivel
                  > > > ist.htm .
                  > > >
                  > > >
                  > > >
                  > > > I remember a case similar to yours. They unhappily used directive
                  > > > IdentityCheck. Maybe you are using some harmful directive like that,
                  > or
                  > > like
                  > > > LimitRequest… .
                  > > >
                  > > >
                  > > >
                  > > > Giovanni
                  > > >
                  > > >
                  > > >
                  > > > Da: Easy400Group@yahoogroups.com
                  > [mailto:Easy400Group@yahoogroups.com] Per
                  > > > conto di fzenasni400
                  > > > Inviato: giovedì 18 aprile 2013 08:55
                  > > > A: Easy400Group@yahoogroups.com
                  > > > Oggetto: Re: R: [Easy400Group] CGI Post delay for larger stream (CGI
                  > as
                  > > Rest
                  > > > webserver)
                  > > >
                  > > >
                  > > >
                  > > >
                  > > >
                  > > > Giovanni
                  > > >
                  > > > Inlr and named activation group were already ok.
                  > > > I don't have a problems sending large requests but receiving 'large'
                  > > > requests (seems larger than 5 or 6 kb).
                  > > >
                  > > > Also, the delay takes exactly 60 seconds.
                  > > > If i reduce the size of the request by a litlle, it suddenly
                  > processes
                  > > > within a second.
                  > > >
                  > > >
                  > > > --- In Easy400Group@yahoogroups.com, "Giovanni B. Perotti" wrote:
                  > > > >
                  > > > > In your RPGLE program do not raise *LR indicator before returning.
                  > > Create
                  > > > > the program with a named activity group.
                  > > > >
                  > > > > Giovanni B. Perotti
                  > > > >
                  > > > >
                  > > > >
                  > > > > Da: Easy400Group@yahoogroups.com
                  > [mailto:Easy400Group@yahoogroups.com]
                  > > Per
                  > > > > conto di fzenasni400
                  > > > > Inviato: mercoledì 17 aprile 2013 17:29
                  > > > > A: Easy400Group@yahoogroups.com
                  > > > > Oggetto: [Easy400Group] CGI Post delay for larger stream (CGI as
                  > Rest
                  > > > > webserver)
                  > > > >
                  > > > >
                  > > > >
                  > > > >
                  > > > >
                  > > > > We are running our CGIDEV as a rest webservice host. All requests
                  > we
                  > > send
                  > > > to
                  > > > > it are very fast, within half a second, and less.
                  > > > >
                  > > > > However : a few bigger requests 8kb take up to 60 seconds to
                  > respond.
                  > > > > The logging in my RPGLE program shows the RPG processing takes a
                  > few
                  > > > > milliseconds, and debugging told me de delay occurs before the RPG
                  > > program
                  > > > > is called.
                  > > > >
                  > > > > Strange enough : executing the request via SoapUi from my pc takes
                  > under
                  > > a
                  > > > > second, when called from a tomcat client within the same network,
                  > takes
                  > > 60
                  > > > > seconds. It almost looks like it is waiting for a delay before
                  > passing
                  > > the
                  > > > > stream to my RPG program.
                  > > > >
                  > > > > Advise is appreciated.
                  > > > >
                  > > > > Access log shows the varying response times from varying clients :
                  > > > >
                  > > > > 172.31.101.36 - - [17/Apr/2013:11:58:18 +0200] 250096 0 "POST
                  > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 4303 300 "-" "Apache CXF
                  > 2.6.0"
                  > > > > 250104
                  > > > > 172.31.101.36 - - [17/Apr/2013:11:58:32 +0200] 61019696 61 "POST
                  > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 400 106 5514 271 "-" "Apache CXF
                  > 2.6.0"
                  > > > > 61019704
                  > > > > 172.31.90.73 - - [17/Apr/2013:12:00:32 +0200] 721040 0 "POST
                  > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 100 8826 295 "-"
                  > > > > "Apache-HttpClient/4.1.1 (java 1.5)" 721048
                  > > > > 172.31.90.73 - - [17/Apr/2013:12:00:41 +0200] 933368 0 "POST
                  > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 8826 300 "-"
                  > > > > "Apache-HttpClient/4.1.1 (java 1.5)" 933384
                  > > > > 172.31.101.36 - - [17/Apr/2013:12:01:06 +0200] 149616 0 "POST
                  > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 739 301 "-" "Apache CXF
                  > 2.6.0"
                  > > > > 149624
                  > > > > 172.31.101.36 - - [17/Apr/2013:12:01:16 +0200] 60428784 60 "POST
                  > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 400 106 5514 271 "-" "Apache CXF
                  > 2.6.0"
                  > > > > 60428792
                  > > > > 172.31.101.36 - - [17/Apr/2013:12:07:52 +0200] 398992 0 "POST
                  > > > > /asqimalotsp/tr162bcgi HTTP/1.1" 200 106 4303 301 "-" "Apache CXF
                  > 2.6.0"
                  > > > > 399000
                  > > > >
                  > > >
                  > >
                  >

                Your message has been successfully submitted and would be delivered to recipients shortly.