- КомпьюКонсалт Виртуоз в области IT Звоните  8 (916) 827 5151
- Наши контакты
- Mikrotik btest server. Замеряем канал на микротике. Существуют ли публичные btest сервера?
- Manual:Tools/Bandwidth Test
- Contents
- Summary
- Bandwidth Test Server
- Example
- Bandwidth Test Client
- Example
- Mikrotik linux bandwidth test
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
- Re: BTest server for Linux
КомпьюКонсалт Виртуоз в области IT Звоните  8 (916) 827 5151
Наши контакты
Страна:
Город:
Адрес:
Телефон:
Email:
Россия
Москва
Тепличная улица 5
+7 925 531 5321
info@kompuconsult.ru
Mikrotik btest server. Замеряем канал на микротике. Существуют ли публичные btest сервера?
 В этой статье мы познакомимся с таким замечательным инструментарием RouterOS, как bandwith test tool или измерение пропускной способности канала, если по русски. А также рассмотрим область его применения. Сам инструмент находится в разделе Tools (инструменты) Btest Server и Bandwidth test tool. Сервер и клиент соответственно. См рисунки.
 Как видно из рисунков, использование btest tool не представляется сложным. На одном микротике с белым IP запускаем сервер, на другом клиент btest tool и запускаем тест канала между двумя микротиками. Мерить можно как прием, передачу, так и оба направления, по протоколам tcp и udp. Казалось бы больше говорить не о чем, однако, возниакют справедливые вопросы. Например, а как быть, если микротик только один, или нет белого IP адреса. Оказалось, что в интернете практически нет публичных открытых btest серверов для тестирования интернет канала. Один рабочий все таки удалось найти, вот он 207.32.194.24 user: btest, password: btest . Очевидно, вбив его на своем микротике можно померить с той или иной точностью скорость своего интернет подключения (см рисунок ниже)
 Но и это еще не все. Меня заинтересовал вопрос, а можно ли на сервере Linux организовать btest клиента или сервера для взаимодействия с btest инструментами Mikrotik. Оказалось, что можно. Данный дистрибутив содержит перловские и Си исходники для btest клиента и сервера. Необходимо скачать этот дистрибутив к себе на сервер, распаковать и в папке распаковки набрать что то, типа gcc -o btest *.c -lpthread . Собранный бинарник btest может быть запущен как в режиме сервера, так и клиента. Получилось использовать его в режиме сервера по протоколу udp (см рисунок ниже).
 Что бы быть полностью точным, скажу, что утилита сервер/клиент btest есть и под Windows. Создавалась она разработчиками RouterOS, т.е. Mikrotik. Но автором она не тестировалась за полным отсутствием интереса к ОС Microsoft.
Источник
Manual:Tools/Bandwidth Test
Applies to RouterOS: v2.9, v3, v4+
Contents
Summary
Sub-menu: /tool
Packages required: system
The Bandwidth Tester can be used to measure the throughput to another MikroTik router (either wired or wireless) and thereby help to discover network «bottlenecks».
The TCP test uses the standard TCP protocol with acknowledgments and follows the TCP algorithm on how many packets to send according to latency, dropped packets, and other features in the TCP algorithm. Please review the TCP protocol for details on its internal speed settings and how to analyze its behavior. Statistics for throughput are calculated using the entire size of the TCP data stream. As acknowledgments are an internal working of TCP, their size and usage of the link are not included in the throughput statistics. Therefore this statistic is not as reliable as the UDP statistic when estimating throughput.
The UDP tester sends 110% or more packets than currently reported as received on the other side of the link. To see the maximum throughput of a link, the packet size should be set for the maximum MTU allowed by the links which is usually 1500 bytes. There is no acknowledgment required by UDP; this implementation means that the closest approximation of the throughput can be seen.
- Up to RouterOS version 6.44beta39 Bandwidth Test used only single CPU core and reached its limits when core was 100% loaded.
- Bandwidth Test uses all available bandwidth (by default) and may impact network usability.
- Bandwidth Test uses a lot of resources. If you want to test real throughput of a router, you should run bandwidth test through the tested router not from or to it. To do this you need at least 3 routers connected in chain: the Bandwidth Server, the router being tested and the Bandwidth Client.
- If you use UDP protocol then Bandwidth Test counts IP header+UDP header+UDP data. In case if you use TCP then Bandwidth Test counts only TCP data (TCP header and IP header are not included).
Bandwidth Test Server
Sub-menu: /tool bandwidth-server
Property | Description |
---|---|
allocate-udp-ports-from (integer 1000..64000; Default: 2000) | Beginning of UDP port range |
authenticate (yes | no; Default: yes) | Communicate only with authenticated clients |
enabled (yes | no; Default: yes) | Defines whether bandwidth server is enabled or not |
max-sessions (integer 1..1000; Default: 100) | Maximal simultaneous test count |
Example
To enable bandwidth-test server without client authentication:
Bandwidth Test Client
Command name: /tool bandwidth-test
Property | Description |
---|---|
address (IP address | IPv6 prefix[%interface]; Default: ) | IP address of host |
direction (both | receive | transmit; Default: receive) | Direction of data flow |
duration (time; Default: ) | Duration of the test |
interval (time: 20ms..5s; Default: 1s) | Delay between reports (in seconds) |
local-tx-speed (integer 0..4294967295; Default: ) | Transfer test maximum speed (bits per second) |
local-udp-tx-size (integer: 28..64000 ) | Local transmit packet size in bytes |
password (string; Default: «») | Password for the remote user |
protocol (udp | tcp; Default: udp) | Protocol to use |
random-data (yes | no; Default: no) | If random-data is set to yes, the payload of the bandwidth test packets will have incompressible random data stream so that links that use data compression will not distort the results (this is CPU intensive and random-data should be set to no for low speed CPUs) |
remote-tx-speed (integer 0..4294967295; Default: ) | Receive test maximum speed (bits per second) |
remote-udp-tx-size (integer: 28..64000 ) | Remote transmit packet size in bytes |
tcp-connection-count (integer 1..100; Default: 20) | Number of TCP connections to use |
user (string; Default: «») | Remote user |
Example
To run 15-second long bandwidth-test to the 10.0.0.32 host sending and receiving 1000-byte UDP packets and using username admin to connect:
Источник
Mikrotik linux bandwidth test
Mon Jun 05, 2006 3:10 pm
is anybody aware of a Bandwidth Test server version for Linux?
thanx in advance
Re: BTest server for Linux
Wed Oct 22, 2008 12:15 am
Re: BTest server for Linux
Wed Oct 22, 2008 11:56 am
Re: BTest server for Linux
Mon Oct 27, 2008 10:29 am
Re: BTest server for Linux
Tue Oct 28, 2008 11:22 am
Re: BTest server for Linux
Tue Oct 28, 2008 12:13 pm
trust what you want, but correctness of it you can simply check by monitoring traffic passed through interfaces on the router in between btest.
or you do not trust that either?
Re: BTest server for Linux
Wed Oct 29, 2008 8:46 pm
Re: BTest server for Linux
Tue Nov 04, 2008 3:52 pm
ok, no one will make me install wine on a server too.
as a «workaround» you could put RouterOS box in there (at least temporarily), and use it to test your links
Re: BTest server for Linux
Tue Nov 04, 2008 3:55 pm
Re: BTest server for Linux
Thu Nov 06, 2008 3:08 pm
Doesn’t that ruin the whole idea behind the btest system? Being able to test to the router while temporarily shutting of the local lan is an invaluable tool.
I really hope you will consider making the test server available for linux, or at least publish the protocol information so we can create our own implementation.
Re: BTest server for Linux
Thu Nov 06, 2008 3:16 pm
BTest is just a random data transmitter
Re: BTest server for Linux
Thu Nov 06, 2008 3:39 pm
Re: BTest server for Linux
Thu Nov 06, 2008 3:44 pm
Re: BTest server for Linux
Fri Nov 07, 2008 11:33 am
Hmm, dire news indeed.
That means I will do a feature request instead:
A reliable bandwidth measurement tool
It could either be based on iperf, or a protocol of your liking, as long as it provides a linux remote server.
If random data makes the result unpredictable, then you should stop using random data. The payload in reality has no effect on the throughput, and you could just fill the payload with all zeros or all ones. That should be pretty easy to implement, if you ask me.
Re: BTest server for Linux
Fri Nov 07, 2008 11:35 am
Re: BTest server for Linux
Fri Nov 07, 2008 12:16 pm
Re: BTest server for Linux
Mon Nov 17, 2008 2:51 pm
you can try to run btest tool on your computer and see, how much resources this tool uses, somehow similar tool is implemented in routeros, so you can test if you have no other chance, of course, if you are running RB600 in each end of line, but you are running 100MBps wire between them, of course, you will saturate that line before cpu maxes out.
anyway if you run btest through the router, not to router itself — you will get completely different results.
Re: BTest server for Linux
Fri Nov 28, 2008 12:14 am
It seems to me that you are trying to convince me that a bug is a feature?
In all fairness, I find the bandwidth-test tool magnificent. Imagine my scenario:
We are a service provider, selling primarily MPLS solutions with managed CPE’s. We’ve got around 80-90 routerboard units in production already, mostly RB450, some RB600 and we will in the future use a lot of RB1000 for gigabit links. Most of our links are around 25-50 Mbit/s on fibre or 8-20 Mbit/s on copper. Whenever we receive a customer complaint about throughput we are basically forced to send out an engineer to the customer and at the customer’s inconvenience disconnect his equipment and test using iperf and similar from an ethernet interface on the router. It would be absolutely wonderful for us to test remotely, not mentioning the fact that our time cost money. So in a perfect world, we would just shut down the customer lan port, initiate a bandwidth test directly from the router and report the result to the customer. Now that would be wonderful, wouldn’t it?
Right now, we are experimenting with installing an RB1000 in our data center and using it as a central bandwidth test server. It might work, but if you say your results are unreliable, I beg you to fix it to make it reliable. Make the payload of the data non-random, so that the router only needs to concentrate on moving the packets — there are plenty of ways to generate enough data for the payload: You could send all-ones, a fixed repeating string or even a random string generated before run and repeated at the desired segment size, and I’m sure you can come up with more ideas yourself!
I hope you will look positively on this request of mine — as I said we purchase a lot of your devices and we are a happy customer in any other regards
Re: BTest server for Linux
Fri Nov 28, 2008 10:34 am
well, if you want to see the throughput of link — you can do that by sending bandwidth through the link, and this is reliable, the values showed are correct, but if you test throughput of router it self you should do that in the way normis told in previous posts.
so in your case — you can run BW-test on the links, and see available traffic on the link and that is acceptable.
so if you test throughput of router, then you have to have A and D as bandwidth generators and routers in the middle will be tested A—-B——C—-D in this case you test router B and router C
in case you test link — you can send upd packages in one direction if router is not that powerful, and in both if you have enough «juice in router» and see the result that is reliable and correct
Re: BTest server for Linux
Mon Dec 01, 2008 2:26 pm
Re: BTest server for Linux
Thu Dec 04, 2008 8:53 am
Re: BTest server for Linux
Sat Feb 28, 2009 7:03 pm
I agree with Eising. We are in very similar situatuation. We have 100 mikrotik routers and they are connected together via wireless links. I would like to check the throughput between the main gateway and routers. I would like to make a script to check it automatically in the night. The night throughput is not actually so interesting but we can check measured throughput for a significant change according to previous measurements. Then we can find that some link went worse than before. I can do that with remote ssh to some mikrotik router and then initialization of the bandwith test from the router but it’s more complicated.
We would very appreciate this functionality.
Can you share bandwith-test client code or at least share binary of that file? Thanks
Re: BTest server for Linux
Mon Mar 02, 2009 12:34 am
I had a discussion with a few people about this at the MUM, and basically what people told me was that the bandwidth-tester is working great as a receiver of the test, but the actual package generation is too cpu intensive. I have a few suggestions on what you could do:
1 (and most prefered): Release a bandwidth-test client that is either cross platform or has a linux and windows version. That way I could load it on my different management servers, and test against the CPE’s. Despite the low cost of Mikrotik routers, it’s simply not practical for me to set up a dedicated RB for each VPN customer (my customers are Layer3 VPNs, and are protected from each other).
2: Change the testing algorithm on the clients.
At the moment, the actual bandwidth test does a lot of smart tests with different packet sizes and all that. If you made it possible to do very specific test, for instance by selecting what packet size to run (together with MTU, buffer sizes etc.), you could basically just cat all ones (or fill a repeating string, like ping does) into the payload of the packets and thus save a lot of CPU.
I know there is a bandwidth test program for windows, but I simply refuse to install wine on my servers, and run a performance test on an emulated/reverse engineered OS stack.
I hope you will consider my suggestions, and I regret I didn’t catch one of you MikroTik guys at the MUM and discussed it with you there, when I had the chance. I blame the beers
Источник