Hi, Pradeep: On Thu, 17 Jan 2008, Pradeep Padala wrote:
> Hi, > > I am trying to set bandwidth caps for two zones. I created two vnics and > assigned them to two zones 'exclusive'ly. Then, I used the following > commands to set the bandwidth limits > > #dladm modify-vnic -b 100 1 > #dladm modify-vnic -b 900 2 > > and I see that they are set correctly. > > # dladm show-vnic > device speed > vnic1 e1000g0 1000 Mbps mac: 0:14:4f:8d:a9:bd (fixed) bw limit: > 100 Mbps cpus: 0 > vnic2 e1000g0 1000 Mbps mac: 0:14:4f:8d:a9:be (fixed) bw limit: > 900 Mbps cpus: 0 That's right. > > I am measuring the bandwidth used by a zone, by calculating tx + rx bytes as > seen by 'kstat -n vnic?'. Is this the right way to measure it? I suspect that may work. I think you might have earlier bits that did bandwidth regulation in squeues (in IP). So, unless the squeue always polls the vnic to get the no. of pkts per the set limit, the numbers above might not give you the right info. E.g packet that comes via an interrupt will update the vnic counters and be sent upstream to the appropriate squeue, which will enforce the limit. (This logic has changed and we will be pushing out the latest bits on OpenSolaris shortly, possibly in the next week. With the latest bits the above method - kstat - should be fine; see http://www.opensolaris.org/os/project/crossbow/Design_softringset.txt for some info. about bandwidth control et. al.) > > I use httperf to connect to the webservers running in the two zones, and I > always see the bandwidth used by the zones exceeding the limits often > reaching 400Mbps (my workload is very network heavy). > > I tried using the -L option as specified in the dladm man page > (http://dlc.sun.com/osol/netvirt/downloads/20070214/dladm.1m.txt) to cap > bandwidth, but I get an error. > > # dladm modify-vnic -b 100 -L 1 > dladm: unrecognized option '-L' -L is not needed for dladm. > > I am not sure whether this is the right way to cap bandwidth. Another way to > do it, I believe, is to use flowadm and setup flows with limited bandwidth. > I thought that probably uses more protocol processing than necessary, since > I just want to cap the full vnic bandwidth. > Yes, you should just be able to set the vnic limit, if that's sufficient. > Any ideas? Until the new bits are made available: I haven't used httperf, but you could try netperf and look at its results just to check if the limit is being enforced. -venu > > Pradeep > > _______________________________________________ > crossbow-discuss mailing list > crossbow-discuss at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/crossbow-discuss >