-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
A few remarks:
- --On February 9, 2007 13:31:48 +0200 Adrian Popa <[EMAIL PROTECTED]> wrote:
| Peter, thank you for your prompt reply.
|
| Your information will help me make some tests and then decide if what I want
is manageable...
|
| If I undestood correctly, nfcapd collects data for 5 minutes, and then passes
it to nfsen (and
| nfsen distributes it to different profiles/channels). This means that the
filters are applied
| 'offline', and applying the filters to all profiles will take roughly the
same amount of time it
| takes now with my plug-in.
As I understand, your plugin runs 200 times nfdump, which takes considerable
more time than a
single run of nfprofile, due to different IO characteristics, unless you can
manage all the data
into the FS cache.
|
| I had hoped that nfcapd was able to apply the filters when collecting data
(it had to do this in
| real time) for me to 'win' computational time. This way, after 5 minutes of
data collecting, I
| would have updated graphs for 200 profiles without additional computation.
What you say is that
| after 5 minutes, data is filtered into the existing profiles and this
filtering and writing to
| disk takes a while. For me, it means that the time may exceed the 5 minute
deadline. The
| additional problem with this is that the plugins are run after the profiles
are populated (or so
| I think). This means that my floodsearch plugin may run 4 minutes after the
live profile has its
| data - which is not what I want.
|
| I believe that the 'features' I want imply significantly modifying nfcapd -
which may not be
| possible, because in your design, nfcapd must be fast enough not to drop
incoming packets (which,
| after all is more important!)...
That's exactly the reason, why I have no filters implemented in the collector.
In the end, you need
roughly the same amount of time independent of where in the chain you do it. If
you can not manage
to process the data within 5min, you won't most likely be able to manage if the
data were filtered
earlier. Of course this depends a little bit on how efficient things can be
implemented.
I already thought of an instant processing of flows, when hitting the
collector, but this is on the
end of the todo list.
- Peter
|
| I fear that the only sustainable solution would be to separate the work load
on other collectors.
|
| To add some numbers to this, here's what I have now:
|
| System: IBM, 2 x Intel(R) Xeon(TM) CPU 3.40GHz, 7GB RAM, RAID 5 array with 6
disks (72GB each) -
| currently nfsen uses 200GB, Red Hat Enterprise Linux 4.
|
| Netflow: 2 netflow v9 sources, exporting about 2.5 million flows each every 5
minutes (packet
| input rate in the collector is about 7Mbps).
| Currently I have only 3 profiles, and updating them takes about 2 seconds.
|
| My plugin that generates traffic statistics based on these exports requires
about 200 runs of the
| nfdump command, and takes about 2.5-3 minutes to run.
|
| In the near future (1-2 months) I will have to add at least 4 more sources, 2
of which have an
| expected data rate of 2Gbps. I know that my collector can handle the load,
but I'm not confident
| that my plugin will be able to finish in time. This is why I had all these
questions.
|
| For now I will try to add 20 profiles, to see the response time, but, as I
said before, I don't
| believe I will have a big speed increase.
|
| Thank you again, and if I misunderstood something, please correct me
|
| Adrian Popa
|
| PS. I don't want yet a snapshot with shadow channels - I will use it when you
are ready to
| release it for the general public.
|
| Peter Haag wrote:
| > -----BEGIN PGP SIGNED MESSAGE-----
| > Hash: SHA1
| >
| > Adrian,
| >
| > To add some numbers to my previous mail:
| >
| > My nfsen-current developer installation:
| >
| > System: HP ProLiant DL360 G3 3GHz
| > 1 GB RAM
| > Internal Compaq Smart Array 5i 2x70GB disks mirrored
| > OS OpenBSD 4.0
| >
| > 2 netflow sources configured, each about 25 - 30MB flows each 5min.
| > 30 channels to update ( about 12 shadow channels )
| > time for profiling: 10s
| >
| > Some other plugins - such as PortTracker need much more time.
| > So there is some room for more channels ...
| >
| > - Peter
| >
| > - --On February 9, 2007 9:18:50 +0200 Adrian Popa <[EMAIL PROTECTED]> wrote:
| >
| > | Peter, I have a question about performance.
| > |
| > | If I were to give up on my plugin and instead create about 200 profiles
| > | , each searching for a different network prefix and input/output
| > | interface in the flows, would nfsen be able to handle this kind of data?
| > | (actually I have 20 prefixes on 6 routers with 1 to 4 interfaces each,
| > | and I'd like to plot upstream and downstream traffic - so I think there
| > | will be more than 200 profiles...).
| > | For each profile, I could set an expire time of 10 minutes (because I
| > | don't need to save the flows - just to get the graphs).
| > |
| > | Or, as you suggested, I could use channels in the same profile, but I
| > | have no idea how I could create or manage them... (perhaps you have some
| > | tips where I could find some documentation about that).
| > |
| > | My main question is: do you think nfsen can handle 200 profiles? I have
| > | only a production machine, and I'm not eager to experiment on it! :)
| > |
| > | Thank you!
| > |
| > | Peter Haag wrote:
| > | > -----BEGIN PGP SIGNED MESSAGE-----
| > | > Hash: SHA1
| > | >
| > | > Hi Adrian,
| > | >
| > | > - --On February 1, 2007 15:28:32 +0200 Adrian Popa <[EMAIL PROTECTED]>
wrote:
| > | >
| > | > | Hello,
| > | > |
| > | > | I have a question about the performance of nfdump, but first, let me
| > | > | explain what I'm trying to do:
| > | > | I have a plugin that searches the collected flows for specific network
| > | > | prefixes (or AS-es) on each exporting router, on specific intefaces.
The
| > | > | information is then fed into custom rrd files and plotted as png
images.
| > | > | Searching is done by using a top 1 record/bytes and filtering by
'inif x
| > | > | and net 1.2.3.0/24'. Here's an example:
| > | > |
| > | > | $nfdump -r /data/nfsen/profiles/live/$border/nfcapd.$timeslot -n 1 -s
| > | > | record/bytes -o "fmt:%ts %td %pr %sap -> %dap %pkt %byt %bps %in %out
| > | > | %sas %das %fl" '$ifType $if and net $prefix'
| > | > |
| > | > | I have to search for input traffic on a specific interface for a
| > | > | specific network prefix and also for output traffic for the same
thing.
| > | > |
| > | > | I achieved to do this, and it works well, but execution time for 2
| > | > | borders (with 3-4 interfaces each), 20 prefixes and 50 AS-es for a
peak
| > | > | traffic of about 2Gbps takes about 3,5 minutes.
| > | >
| > | > If I understand you right, you are going to call this nfdump command for
| > | > each of the prefixes, which results in a lot of sequential nfdump
commands.
| > | >
| > | > |
| > | > | In the future I will want to monitor other routers, on the same
| > | > | principle. As far as I see, I can do that, but either I gather less
| > | > | data, or I use a different machine for collecting.
| > | > |
| > | > | A colleague of mine proposed that I split my script (which is 100%
| > | > | sequential) into several threads that run at the same time. Each
thread
| > | > | would call nfdump and update it's particular rrd.
| > | > |
| > | > | My question to you is this: Assuming that I start the new processes
like
| > | > | threads (or more likely like forked processes), would I get a speed
| > | > | increase? I'd like to say that this script keeps the processor usage
at
| > | > | about 60-80%.
| > | >
| > | > The CPU usage is only half of the story for your plugin. Almost every
time
| > | > I/O is much more a problem. For each nfdump command you read a lot of
data.
| > | > If this amount of data does not fit into the file system cache of your
OS,
| > | > the performance rapidly drops. So I'd recommend you to analyse how your
| > | > system behaves in such a plugin cycle. Have a look at the IO using
iostat
| > | > check the service time of your disks. If you still have room creating
| > | > more threads can result in better performance. If your IO system is at
its
| > | > limit, you will not gain anything, and CPU will stay at 60-80% as your
system
| > | > has lots of IO wait. Overcoming this, you would need more RAM to
increase the
| > | > available memory for the IO file system cache. A high service time in
IO stat
| > | > means slow disks - so you'll need the right balance of disks and memory.
| > | >
| > | > Furthermore you can try to optimise IO by limiting reading data once
and doing
| > | > parallel processing - the way which nfprofile does profiling all your
channels.
| > | > It reads the data once only and applies all filters to the same data.
| > | >
| > | > Coming back to your plugin - you may try to optimise IO by creating a
profile
| > | > with a channel per prefix and creating adequate filters per channel.
Your
| > | > plugin then needs to create the stat Top 1 per channel which may result
in reading
| > | > less data over all - but this is just a guess.
| > | >
| > | > So - it's a bit of all.
| > | > Hope this helps anyway.
| > | >
| > | > - Peter
| > | >
| > | > |
| > | > | I don't know if the forked processes would load the same input file
into
| > | > | memory again and again, or if they would share the same file (lowering
| > | > | memory consumption)?
| > | > |
| > | > | What are your recomandations?
| > | > |
| > | > | Thank you for your time,
| > | > |
| > | > | --
| > | > | Adrian Popa
| > | > |
| > | > |
| > | > |
| > | > |
-------------------------------------------------------------------------
| > | > | Using Tomcat but need to do more? Need to support web services,
security?
| > | > | Get stuff done quickly with pre-integrated technology to make your
job easier.
| > | > | Download IBM WebSphere Application Server v.1.0.1 based on Apache
Geronimo
| > | > |
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
| > | > | _______________________________________________
| > | > | Nfsen-discuss mailing list
| > | > | [email protected]
| > | > | https://lists.sourceforge.net/lists/listinfo/nfsen-discuss
| > | >
| > | >
| > | >
| > | > - --
| > | > _______ SWITCH - The Swiss Education and Research Network ______
| > | > Peter Haag, Security Engineer, Member of SWITCH CERT
| > | > PGP fingerprint: D9 31 D5 83 03 95 68 BA FB 84 CA 94 AB FC 5D D7
| > | > SWITCH, Limmatquai 138, CH-8001 Zurich, Switzerland
| > | > E-mail: [EMAIL PROTECTED] Web: http://www.switch.ch/
| > | > -----BEGIN PGP SIGNATURE-----
| > | > Version: GnuPG v1.4.3 (Darwin)
| > | >
| > | > iQCVAwUBRcMAaP5AbZRALNr/AQLXEwP/bymvl/R3I5MqF8qXSq82QXwDng9VPcyH
| > | > 56KfUdgDFYpVSOM/Jjn08t8LPaGCA/2DQFxzjzXc+g/YngLfOFZFxkjZEDfRo3AS
| > | > 53T8cZeTHIx8gy4Xn1y5VqerK0+Q4BNB+I+1+YYo/g8wVfE+pBMNNKh1m+krIwLO
| > | > isZnG514jMA=
| > | > =E3HQ
| > | > -----END PGP SIGNATURE-----
| > | >
| > | >
| > | >
| > |
| > |
| > | -------------------------------------------------------------------------
| > | Using Tomcat but need to do more? Need to support web services, security?
| > | Get stuff done quickly with pre-integrated technology to make your job
easier.
| > | Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
| > | http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
| > | _______________________________________________
| > | Nfsen-discuss mailing list
| > | [email protected]
| > | https://lists.sourceforge.net/lists/listinfo/nfsen-discuss
| >
| >
| >
| > - --
| > _______ SWITCH - The Swiss Education and Research Network ______
| > Peter Haag, Security Engineer, Member of SWITCH CERT
| > PGP fingerprint: D9 31 D5 83 03 95 68 BA FB 84 CA 94 AB FC 5D D7
| > SWITCH, Limmatquai 138, CH-8001 Zurich, Switzerland
| > E-mail: [EMAIL PROTECTED] Web: http://www.switch.ch/
| > -----BEGIN PGP SIGNATURE-----
| > Version: GnuPG v1.4.3 (Darwin)
| >
| > iQCVAwUBRcxHZ/5AbZRALNr/AQKWTQP/XBTsBhVVbh4sJoOnrQlqk1kPlOHx9Elu
| > J1qEFANATT43zpsa4hwxTitph+shRRFdzOcv5bvuFzrcvJA2extaWKRFll2BCNC5
| > RiFNlbER7iuI+PzFt38p0qQf+LSN3Cm0srGaY8IhAXytrEwbgTt+Rjo08Vg6deAN
| > I7ssmcJzavA=
| > =G5ny
| > -----END PGP SIGNATURE-----
| >
| >
| >
|
|
- --
_______ SWITCH - The Swiss Education and Research Network ______
Peter Haag, Security Engineer, Member of SWITCH CERT
PGP fingerprint: D9 31 D5 83 03 95 68 BA FB 84 CA 94 AB FC 5D D7
SWITCH, Limmatquai 138, CH-8001 Zurich, Switzerland
E-mail: [EMAIL PROTECTED] Web: http://www.switch.ch/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (Darwin)
iQCVAwUBRcxrFf5AbZRALNr/AQK9cwP7BCX/ouOB8DEO7pK8497sOmhO9vOpN6T2
Wkmek4V7ChARtAqnrxzD0L0ppeIdxQPEuvpFg8PEGq3vo+Gsv/mxosXhWHhM4RIX
S/4EnmnaLr0PKVsSquy1OA0gTWySXjQs3PkeHXgldA0b6W77mQPcAAZO/DnsrfYk
MEkthcB2JjM=
=GB7g
-----END PGP SIGNATURE-----
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Nfsen-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nfsen-discuss