Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    RRD Graphs Incorrect

    Scheduled Pinned Locked Moved 1.2.3-PRERELEASE-TESTING snapshots - RETIRED
    20 Posts 4 Posters 17.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      mevans336
      last edited by

      @Eugene:

      Did you try to utilize it with about 300Mb/s ?

      Do you mean limit iperf to 300Mbps? I believe you can only specify bandwidth when using UDP.

      1 Reply Last reply Reply Quote 0
      • E
        Eugene
        last edited by

        Yes iperf.

        http://ru.doc.pfsense.org

        1 Reply Last reply Reply Quote 0
        • M
          mevans336
          last edited by

          @Eugene:

          Yes iperf.

          You can only specify bandwidth with iperf when using UDP. With TCP, you can specify the amount of data to transfer or the length of time to transfer, but not the rate.

          Usage: iperf [-s|-c host] [options]
                iperf [-h|–help] [-v|–version]

          Client/Server:
            -f, –format    [kmKM]  format to report: Kbits, Mbits, KBytes, MBytes
            -i, –interval  #        seconds between periodic bandwidth reports
            -l, --len      #[KM]    length of buffer to read or write (default 8 KB)
            -m, –print_mss          print TCP maximum segment size (MTU - TCP/IP header)
            -o, --output    <filename>output the report or error message to this specifie
          d file
            -p, --port      #        server port to listen on/connect to
            -u, --udp                use UDP rather than TCP
            -w, --window    #[KM]    TCP window size (socket buffer size)
            -B, –bind      <host>  bind to <host>, an interface or multicast address
            -C, --compatibility      for use with older versions does not sent extra msgs
            -M, --mss      #        set TCP maximum segment size (MTU - 40 bytes)
            -N, --nodelay            set TCP no delay, disabling Nagle's Algorithm
            -V, --IPv6Version        Set the domain to IPv6

          Server specific:
            -s, --server            run in server mode
            -D, --daemon            run the server as a daemon
            -R, --remove            remove service in win32

          Client specific:
            -b, --bandwidth #[KM]    for UDP, bandwidth to send at in bits/sec
                                    (default 1 Mbit/sec, implies -u)
            -c, –client    <host>  run in client mode, connecting to <host>-d, --dualtest          Do a bidirectional test simultaneously
            -n, --num      #[KM]    number of bytes to transmit (instead of -t)
            -r, –tradeoff          Do a bidirectional test individually
            -t, --time      #        time in seconds to transmit for (default 10 secs)
            -F, --fileinput <name>  input the data to be transmitted from a file
            -I, --stdin              input the data to be transmitted from stdin
            -L, --listenport #      port to recieve bidirectional tests back on
            -P, --parallel  #        number of parallel client threads to run
            -T, --ttl      #        time-to-live, for multicast (default 1)

          Miscellaneous:
            -h, --help              print this message and quit
            -v, --version            print version information and quit

          [KM] Indicates options that support a K or M suffix for kilo- or mega-

          The TCP window size option can be set by the environment variable
          TCP_WINDOW_SIZE. Most other options can be set by an environment variable
          IPERF_<long option="" name="">, such as IPERF_BANDWIDTH.

          Report bugs todast@nlanr.net/dast@nlanr.net</long></name></host></host></host></host></filename>

          1 Reply Last reply Reply Quote 0
          • E
            Eugene
            last edited by

            Yes, I know that is why I asked the first question.
            For RRD it does not matter what kind of traffic you are passing. So, could you please transfer 300Mb/s UDP and see what you get on graph?

            http://ru.doc.pfsense.org

            1 Reply Last reply Reply Quote 0
            • M
              mevans336
              last edited by

              @Eugene:

              Yes, I know that is why I asked the first question.
              For RRD it does not matter what kind of traffic you are passing. So, could you please transfer 300Mb/s UDP and see what you get on graph?

              Sure, I'll give that a shot first thing tomorrow AM and report back.

              1 Reply Last reply Reply Quote 0
              • E
                Eugene
                last edited by

                When you'll be doing testing please get output of below command for 3-4 minutes

                /usr/bin/netstat -nbf link -I XXX -w60
                

                where XXX is the name of your interface.

                http://ru.doc.pfsense.org

                1 Reply Last reply Reply Quote 0
                • E
                  Eugene
                  last edited by

                  You are right. It seems rrd graphs do not show correct values when trafic goes above 500Mb/s.
                  You might wish to try the next:

                  1. kill your current updaterrd.sh process
                  2. modify script /var/db/rrd/updaterrd.sh replacing line
                  sleep 60
                  

                  with```
                  sleep 30

                  3) start new one by
                  

                  /bin/sh /var/db/rrd/updaterrd.sh &

                  Note: your graphs will be updated two times more often than before which will create some additional cpu usage.

                  http://ru.doc.pfsense.org

                  1 Reply Last reply Reply Quote 0
                  • M
                    mevans336
                    last edited by

                    @Eugene:

                    You are right. It seems rrd graphs do not show correct values when trafic goes above 500Mb/s.
                    You might wish to try the next:

                    1. kill your current updaterrd.sh process
                    2. modify script /var/db/rrd/updaterrd.sh replacing line
                    sleep 60
                    

                    with```
                    sleep 30

                    3) start new one by
                    

                    /bin/sh /var/db/rrd/updaterrd.sh &

                    Note: your graphs will be updated two times more often than before which will create some additional cpu usage.
                    

                    You're the man Eugene. I didn't have time to set everything up to test this today and it looked like it was going to be this weekend before I was going to be able to get around to it. So will lowering the sleep timer effectively increase the sampling rate of RRD? I.E. the "1 minute average" will become a "30 second average?"

                    1 Reply Last reply Reply Quote 0
                    • E
                      Eugene
                      last edited by

                      Unfortunately I do not the answer to this question.
                      I tend to think yes - it will become 30 sec average but I do not know rrd well enough to stay firm on this. More research needed.

                      http://ru.doc.pfsense.org

                      1 Reply Last reply Reply Quote 0
                      • C
                        cmb
                        last edited by

                        The counters are 32 bit, the counter will wrap before it samples again at that high of throughput. Offhand I'm not sure how increasing the sampling rate will affect the RRD output.

                        1 Reply Last reply Reply Quote 0
                        • E
                          Eugene
                          last edited by

                          pfsense-utils.inc has to be changed to have correct RRD output.
                          If you make changes described above then RRD will be getting samples every 30 sec but calculating as if they were 60 seconds data. Though on my test system I get correct results (the same as in iperf) I do not know why.

                          Guys say that this is not going to be a problem in 2.0 as 64 bit counters will be used.

                          http://ru.doc.pfsense.org

                          1 Reply Last reply Reply Quote 0
                          • E
                            Eugene
                            last edited by

                            Could you please share your hardware specs with this level of performance?
                            Thanks.

                            http://ru.doc.pfsense.org

                            1 Reply Last reply Reply Quote 0
                            • M
                              mevans336
                              last edited by

                              @Eugene:

                              Could you please share your hardware specs with this level of performance?
                              Thanks.

                              Here you go:

                              Intel Pentium Dual Core E5200 (2.5GHz)
                              4GB DDR2800 (2GB works just as well)
                              Supermicro X7SBL-LN2
                              Intel 82573V & 82573L PCI-E NICs

                              1 Reply Last reply Reply Quote 0
                              • D
                                databeestje
                                last edited by

                                You can safely increase the rate to 30 seconds, it should not affect the graphing.

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post
                                Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.