Roland: Zu grosse Textdatei?

Hallo,

ich benutze ein Webfrontend, welches Logfiles ausgibt. Jetzt habe ich das Problem, dass sobald die Datei grösser als ca 11 MB ist, nichts angezeigt wird. Hat dafür jemand ein Erklärung? Danke.

  1. Hi,

    ich benutze ein Webfrontend, welches Logfiles ausgibt. Jetzt habe ich das Problem, dass sobald die Datei grösser als ca 11 MB ist, nichts angezeigt wird. Hat dafür jemand ein Erklärung? Danke.

    ja: Irgendwas läuft nicht richtig. Bei einer derart pauschalen Problembeschreibung ist eine weniger pauschale Antwort leider schwer möglich.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. ja: Irgendwas läuft nicht richtig. Bei einer derart pauschalen Problembeschreibung ist eine weniger pauschale Antwort leider schwer möglich.

      Cheatah

      Ich benutze ein Perl/Cgi-Skript welches den Inhalt einer Textdatei ausliest und im Browser darstellt. Ist die Datei aber grösser als ca. 11 MB wird nichts dargestellt und es kommt auch keine Fehlermeldung.

      Roland

      1. hi,

        Ich benutze ein Perl/Cgi-Skript welches den Inhalt einer Textdatei ausliest und im Browser darstellt. Ist die Datei aber grösser als ca. 11 MB wird nichts dargestellt und es kommt auch keine Fehlermeldung.

        Vielleicht kommt ein timeout? Guck mal ins log...
        Btw, 11MB ist ja auch ein bissl viel, auch bei 100Mbit/s

        Viele Grüße, Rolf

        1. Im Log ist nichts zu erkennen

          1. Im Log ist nichts zu erkennen

            Tja, dann kann man nichts machen.

            Struppi.

          2. Hi,

            Im Log ist nichts zu erkennen

            in Deiner Nase befinden sich noch ziemlich viele Würmer, die einzeln herauszuziehen ich nicht die geringste Lust verspüre. Möglicherweise möchtest Du sie gesammelt präsentieren?

            Cheatah

            --
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
            1. Hi,

              Im Log ist nichts zu erkennen

              in Deiner Nase befinden sich noch ziemlich viele Würmer, die einzeln herauszuziehen ich nicht die geringste Lust verspüre. Möglicherweise möchtest Du sie gesammelt präsentieren?

              Cheatah

              Wenn Du nicht sagen kannst was Du wissen musst lass es sein.

              1. Hallo Roland,

                Wenn Du nicht sagen kannst was Du wissen musst lass es
                sein.

                Nein, nein. So laeuft das nicht. *Du* willst etwas von *uns*,
                nicht umgekehrt. *Du* musst die notwendigen Informationen von
                selber liefern. Hier ist eine *Bring*-Schuld, keine
                Hol-Schuld. Wir sind nicht in der Schule.

                Gruesse,
                 CK

                --
                http://cforum.teamone.de/
                http://wishlist.tetekum.de/
                If God had meant for us to be in the Army, we would have been born with green, baggy skin.
              2. Hi,

                Wenn Du nicht sagen kannst was Du wissen musst lass es sein.

                ich habe oft genug gesagt, was eine vernünftige Problembeschreibung zu beinhalten hat. Wenn Du nicht in der Lage bist, dies aus dem Archiv zu ermitteln, dann töne hier bitte nicht groß rum.

                Cheatah

                --
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
              3. Wenn Du nicht sagen kannst was Du wissen musst lass es sein.

                genau, dann lassen wir es sein.

      2. Hallo Roland,

        Ich benutze ein Perl/Cgi-Skript welches den Inhalt einer
        Textdatei ausliest und im Browser darstellt. Ist die Datei
        aber grösser als ca. 11 MB wird nichts dargestellt und es
        kommt auch keine Fehlermeldung.

        Durch stumpfe Wiederholung des Problems wird die Beschreibung
        nicht besser :) Was hast du bereits ausprobiert? Wie sieht
        dein Quelltext aus? Welche Perl-Version benutzt du? Was sind
        das fuer Daten? Usw., usw.

        Gruesse,
         CK

        --
        http://cforum.teamone.de/
        http://wishlist.tetekum.de/
        If God had meant for us to be in the Army, we would have been born with green, baggy skin.
        1. Hallo Roland,

          Ich benutze ein Perl/Cgi-Skript welches den Inhalt einer
          Textdatei ausliest und im Browser darstellt. Ist die Datei
          aber grösser als ca. 11 MB wird nichts dargestellt und es
          kommt auch keine Fehlermeldung.

          Durch stumpfe Wiederholung des Problems wird die Beschreibung
          nicht besser :) Was hast du bereits ausprobiert? Wie sieht
          dein Quelltext aus? Welche Perl-Version benutzt du? Was sind
          das fuer Daten? Usw., usw.

          Gruesse,
           CK

          Perl-Version ist die 5.6.1
          Die Daten bestehen aus einem automatisch generierten Logfile

          Auszug aus dem Quelltext:

          open (LOGFILE, "<$logfilepath") || die ("Can't open logfile $logfilepath: $! \n");
          while (<LOGFILE>) {
            @log = split(/#/, $_);
                  print "<TR BGCOLOR=$colno>";
                  print "<TD NOWRAP>  $i  </TD>";

          foreach $c (@CLF_LogColumns) {
                          if ($cols_to_show{$c} ne "false") {

          $tmp_str = $sorted_lines[$i][1][$CLF_type{$c}];

          if ($sorted_lines[$i][1][$CLF_type{'proto'}] == 6) {
                                          $proto = "tcp";
                                  } elsif ($sorted_lines[$i][1][$CLF_type{'proto'}] == 17) {
                                          $proto = "udp";
                                  } else {
                                          $proto = "icmp";
                                  };

          #
                                  # resolve port and protocol numbers
                                  #
                                  if (($resolve_port) && ($c =~ /src-port|dst-port|nat-sport|nat-dport/ )) {
                                          if (defined $LogMgr_ServiceByProtoPort{$tmp_str}{$proto}) {
                                                  $tmp_str = $LogMgr_ServiceByProtoPort{$tmp_str}{$proto};
                                          } elsif (defined $LogMgr_ServiceByPort{$tmp_str}) {
                                                  $tmp_str = $LogMgr_ServiceByPort{$tmp_str};
                                          };
                                  };
                                  if (($resolve_port) && ($c =~ /proto/ )) {
                                          if (defined $LogMgr_ProtocolByNumber{$tmp_str}) {
                                                  $tmp_str = $LogMgr_ProtocolByNumber{$tmp_str};
                                          };
                                  };

          #
                                  # resolve ip address
                                  #
                                  if ($c =~ /origin|src-ip|dst-ip|nat-src|nat-dst/) {
                                          $src = $tmp_str;
                                          if (($resolve_ip) && (defined $LogMgr_HostByAddress{$src})) {
                                                  $tmp_str = $LogMgr_HostByAddress{$src};
                                          } elsif ($resolve_dns) {
                                                  $tmp_str = gethostbyaddr(inet_aton($src), AF_INET);
                                                  $tmp_str = $src if (!defined $tmp_str);
                                          };
                                  };
                                  print "<TD NOWRAP> $tmp_str </TD>";
                          };
                  };
                  print "</TR>\n";
                  NEXT_OUTPUT:
                  $i++;
                  last if $i >= $showlines;
          };
          print "</TABLE>\n\n";

          1. Hi,

            es wird ein Browser-Timeout sein!
            Warum machst Du solche heftigen Berechnungen erst zur Anforderungszeit? Es gibt Statistikprogramme usw. die das z.B. mittels Cronjob vorberechnen können.

            Gruß
            Reiner

          2. Hi,

            Perl-Version ist die 5.6.1
            Die Daten bestehen aus einem automatisch generierten Logfile

            Fueg mal ein non-parsed-header ein und geb alles live aus.
            $| = 1;

            ist dein Freund.

            Auszug aus dem Quelltext:

            open (LOGFILE, "<$logfilepath") || die ("Can't open logfile $logfilepath: $! \n");
            while (<LOGFILE>) {
              @log = split(/#/, $_);
                    print "<TR BGCOLOR=$colno>";
                    print "<TD NOWRAP>  $i  </TD>";

            Lass die Tables weg!!!!

            bei der Menge an Daten macht der Browser schlapp bei der Darstellung der Table.
            Geb mal deinen Browser vielleicht mehr Memory im cache und RAM..?

            (Wenn die Übertragung und Berechnung nicht schnell genug waere, dann wuerdest du ein Timeout-fenster vom Browser bekommen)

            Ciao,
              Wolfgang