ນີ້ແມ່ນຄໍາສັ່ງ mm-meter ທີ່ສາມາດດໍາເນີນການໄດ້ໃນ OnWorks ຜູ້ໃຫ້ບໍລິການໂຮດຕິ້ງຟຣີໂດຍໃຊ້ຫນຶ່ງໃນຫຼາຍໆບ່ອນເຮັດວຽກອອນໄລນ໌ຂອງພວກເຮົາເຊັ່ນ Ubuntu Online, Fedora Online, Windows online emulator ຫຼື MAC OS online emulator
ໂຄງການ:
NAME
ມະຮິມາຮິ - ນ້ຳໜັກເບົາ, ເຄື່ອງມືສ້າງເຄືອຂ່າຍ-emulation
ການຕິດຕາມຕົວຢ່າງ: mm-ຊັກຊ້າ, mm-ການສູນເສຍ, ມມ-ເປີດ, mm-link
ສະຄຣິບວິເຄາະ: mm-throughput-graph, mm-delay-graph
ການສັງເກດການ: ມມ-ແມັດ
ບັນທຶກ ແລະຫຼິ້ນຄືນເວັບໄຊທ໌ຫຼາຍຕົ້ນທາງ: mm-webrecord, mm-webreplay
ລາຍລະອຽດ
ມະຮິມາຮິ ເປັນຊຸດຂອງເຄື່ອງມືພື້ນທີ່ຜູ້ໃຊ້ສໍາລັບການຈໍາລອງເຄືອຂ່າຍແລະການວິເຄາະ.
ແຕ່ລະເຄື່ອງມື mahimahi spawns ບັນຈຸ້ໍາຫນັກເບົາ, ໂດຍທົ່ວໄປແລ້ວເຊື່ອມຕໍ່ກັບພາຍນອກໂດຍຜ່ານ
ອຸປະກອນເຄືອຂ່າຍສັງເຄາະທີ່ສັງເກດເຫັນຊອງໃນການຂົນສົ່ງຫຼືເຮັດຕາມທີ່ຕ້ອງການ
ພຶດຕິ ກຳ.
ເຄື່ອງມືແມ່ນສາມາດປະກອບໄດ້ເພື່ອໃຫ້ຜົນກະທົບເຄືອຂ່າຍແບບຈຳລອງຊຸດໜຶ່ງສາມາດຖືກຕ່ອງໂສ້ໄດ້
ຮ່ວມກັນ, ກັບບັນຈຸ mahimahi ຮັງພາຍໃນເຊິ່ງກັນແລະກັນ. ແຕ່ລະເຄື່ອງມືໃຊ້ເວລາທາງເລືອກ
ຄໍາສັ່ງທີ່ຈະປະຕິບັດ, ດັ່ງນັ້ນມັນເປັນໄປໄດ້ທີ່ຈະສ້າງຊຸດຂອງບັນຈຸທີ່ຊ້ອນກັນດ້ວຍອັນດຽວ
ບັນທັດຄໍາສັ່ງ.
LINK EMULATION ເຄື່ອງມື
mm-ຊັກຊ້າ ຊັກຊ້າ [ຄຳສັ່ງ...]
ທຸກແພັກເກັດຖືກຊັກຊ້າໂດຍກໍານົດ ຊັກຊ້າ (ໃນ milliseconds) ເຂົ້າແລະ
ອອກຈາກຖັງ.
mm-ການສູນເສຍ uplink|ການເຊື່ອມຕໍ່ລົງລຸ່ມ ອັດຕາການ [ຄຳສັ່ງ...]
ແພັກເກັດຖືກສູນເສຍຢູ່ທີ່ມອບໃຫ້ ອັດຕາການ ບໍ່ວ່າເມື່ອອອກຈາກ (uplink) ຫຼືເຂົ້າ
(downlink) ບັນຈຸ. ອັດຕາການ ແມ່ນຕົວເລກລະຫວ່າງ 0 ແລະ 1.
ມມ-ເປີດ uplink|ການເຊື່ອມຕໍ່ລົງລຸ່ມ ໂດຍສະເລ່ຍຕາມເວລາ ເວລາຫວ່າງ [ຄຳສັ່ງ...]
uplink ຫຼື downlink ຈະ intermittent ແລະຈະສະຫຼັບລະຫວ່າງການເຊື່ອມຕໍ່ແລະ
ລັດທີ່ຕັດການເຊື່ອມຕໍ່ອີງຕາມຂະບວນການຈຸດ Poisson ທີ່ມີຄ່າສະເລ່ຍທີ່ລະບຸ
ໄລຍະເວລາທີ່ໃຊ້ "on" ແລະ "off".
mm-link [--uplink-log=ຊື່ເອກະສານ] [--downlink-log=ຊື່ເອກະສານ] [--meter-uplink] [--ແມັດ-
uplink-ຊັກຊ້າ] [--meter-downlink] [--meter-downlink-delay] [--ຄັ້ງດຽວ] uplink-ຊື່ໄຟລ໌
downlink-ຊື່ໄຟລ໌ [ຄຳສັ່ງ...]
mm-throughput-graph
mm-delay-graph
ຈໍາກັດການເຊື່ອມຕໍ່ຜ່ານການສົ່ງຊອງທີ່ລະບຸໄວ້
ກໍານົດເວລາແລະວິເຄາະການປະຕິບັດຜົນໄດ້ຮັບ. ເບິ່ງ mm-link(1).
ການສຶກສາ ເຄື່ອງມື
ມມ-ແມັດ [--meter-uplink] [--meter-downlink] [ຄຳສັ່ງ...]
ສະແດງດິນຕອນທີ່ມີຊີວິດຊີວາຂອງອັດຕາການໂອນຍ້າຍທີ່ເຂົ້າມາຫຼືອອກຈາກ
ພາຊະນະ
ບັນທຶກ ແລະ REPLAY ເວບໄຊທ໌
mm-webrecord ລະບົບ [ຄຳສັ່ງ...]
ໂປ່ງໃສ proxies ການເຊື່ອມຕໍ່ HTTP ແລະ HTTPS ຂາອອກ, ຊ່ວຍປະຢັດ
ການຮ້ອງຂໍ, ຄໍາຕອບທີ່ສອດຄ້ອງກັນ, ແລະທີ່ຢູ່ IP ຂອງແຕ່ລະເຄື່ອງແມ່ຂ່າຍເວັບ
ຕິດຕໍ່ພົວພັນໃນການໃຫ້ ລະບົບ. mm-webrecord ໃຊ້ TLS ທີ່ເຊັນດ້ວຍຕົນເອງ
ໃບຢັ້ງຢືນຢູ່ໃນ HTTPS proxy ຂອງມັນ, ເຮັດໃຫ້ຕົວທ່ອງເວັບທົ່ວໄປປະຕິເສດມັນ.
ສໍາລັບຈຸດປະສົງການທົດສອບຫຼື debugging, ພຶດຕິກໍານີ້ສາມາດປິດໄດ້ໂດຍປົກກະຕິ,
ຕົວຢ່າງ: ກັບ - ບໍ່ກວດເບິ່ງໃບຢັ້ງຢືນ ທາງເລືອກທີ່ຈະ wget(1) ຫລືພ --ບໍ່ສົນໃຈ-
ໃບຢັ້ງຢືນຄວາມຜິດພາດ ທາງເລືອກທີ່ຈະ chromium-browser(1).
mm-webreplay ລະບົບ [ຄຳສັ່ງ...]
ຫຼິ້ນເຊດຊັນທີ່ບັນທຶກໄວ້ຄືນໃໝ່ຈາກການແລ່ນຜ່ານມາ mm-webrecord. ບໍ່ຄືກັບສ່ວນໃຫຍ່
mahimahi ເຄື່ອງມື, ໄດ້ mm-webreplay container ບໍ່ມີການເຊື່ອມຕໍ່ເຄືອຂ່າຍ
ສູ່ໂລກພາຍນອກ. ແທນທີ່ຈະ, ມັນມີການໂຕ້ຕອບເຄືອຂ່າຍ dummy ຜູກພັນກັບແຕ່ລະຄົນ
ທີ່ຢູ່ IP ທີ່ເຄື່ອງແມ່ຂ່າຍເວັບໃນເຊດຊັນທີ່ບັນທຶກໄວ້ໄດ້ຕອບຄໍາຮ້ອງຂໍ.
mm-webreplay ແລ່ນເປັນ apache2(8) ເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ຜູກມັດກັບແຕ່ລະທີ່ຢູ່ IP ດັ່ງກ່າວ
ພາຍໃນບັນຈຸ. ແຕ່ລະເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ emulates ເຄື່ອງແມ່ຂ່າຍທີ່ສອດຄ້ອງກັນຈາກ
ເຊດຊັນທີ່ບັນທຶກໄວ້. ເມື່ອໄດ້ຮັບຄໍາຮ້ອງຂໍທີ່ກົງກັບຫນຶ່ງໃນ
ລະບົບ, ທີ່ສອດຄ້ອງກັນ apache2 ຕອບດ້ວຍການຕອບດຽວກັນກັບ
ຈັບໄດ້ໃນເມື່ອກ່ອນ.
mm-webreplay ສາມາດຖືກນໍາໃຊ້ເພື່ອວັດແທກປະສິດທິພາບຂອງຕົວທ່ອງເວັບຂອງເວັບໄຊຕ໌
ເວັບໄຊທ໌ທີ່ສັບສົນແລະຜົນກະທົບຂອງການປ່ຽນແປງໃນໂປໂຕຄອນເວັບ (ເຊັ່ນ HTTP,
HTTP/2, SPDY, QUIC). ບໍ່ເຫມືອນກັບເຄື່ອງມືເຊັ່ນ: ການຫຼິ້ນຄືນຫນ້າເວັບ, mm-webreplay
ຮັກສາໂຄງສ້າງຂອງເວັບໄຊທ໌ທີ່ຖືກທໍາລາຍ, ຜູກມັດກັບ IP ຕົວຈິງ
ທີ່ຢູ່ເວັບໄຊທ໌ທີ່ແທ້ຈິງໃຊ້, ແລະໃຫ້ບໍລິການຄໍາຮ້ອງຂໍຈາກເວັບທີ່ແທ້ຈິງ
ເຊີຟເວີ
ENVIRONMENT
ຕົວແປສະພາບແວດລ້ອມ MAHIMAHI_BASE ຖືກຕັ້ງເປັນທີ່ຢູ່ IP ຂອງໂຮດ, ນອກອັນໃດນຶ່ງ
ບັນຈຸ. ນີ້ສາມາດຖືກນໍາໃຊ້ເພື່ອດໍາເນີນການວັດແທກ scripted ໃນໄລຍະຊຸດຂອງ mahimahi
ຕູ້ຄອນເທນເນີຖືກຕ່ອງໂສ້ເຂົ້າກັນ.
ຕົວຢ່າງ
ເພື່ອສ້າງຫອຍທີ່ມີການເຊື່ອມຕໍ່ທີ່ຊັກຊ້າ, ສູນເສຍໄປກັບອິນເຕີເນັດ:
$ mm-delay 50 mm-loss uplink 0.2
[ຊັກຊ້າ 50 ນາງສາວ] [ການສູນເສຍ up=0.1] $
ເພື່ອດໍາເນີນການ ping ຜ່ານການເຊື່ອມຕໍ່ດຽວກັນ:
$ mm-delay 50 mm-loss uplink 0.2 sh -c 'ping -c 10 -n $MAHIMAHI_BASE'
PING 100.64.0.1 (100.64.0.1) 56(84) ໄບຕ໌ຂອງຂໍ້ມູນ.
64 bytes ຈາກ 100.64.0.1: icmp_seq=1 ttl=63 time=101 ms
64 bytes ຈາກ 100.64.0.1: icmp_seq=2 ttl=63 time=100 ms
64 bytes ຈາກ 100.64.0.1: icmp_seq=4 ttl=63 time=101 ms
64 bytes ຈາກ 100.64.0.1: icmp_seq=5 ttl=63 time=100 ms
64 bytes ຈາກ 100.64.0.1: icmp_seq=7 ttl=63 time=101 ms
64 bytes ຈາກ 100.64.0.1: icmp_seq=8 ttl=63 time=101 ms
64 bytes ຈາກ 100.64.0.1: icmp_seq=9 ttl=63 time=101 ms
64 bytes ຈາກ 100.64.0.1: icmp_seq=10 ttl=63 time=101 ms
--- 100.64.0.1 ສະຖິຕິ ping ---
10 ຊອງສົ່ງ, 8 ໄດ້ຮັບ, 20% packet ສູນເສຍ, ເວລາ 8999ms
rtt min/avg/max/mdev = 100.910/101.009/101.092/0.279 ms
ເພື່ອບັນທຶກການໂຫຼດໜ້າຈາກ www.nytimes.com:
$ mm-webrecord /tmp/nytimes chromium-browser --ignore-certificate-errors --user-data-dir=/tmp/nonexistent$(date +%s%N) www.nytimes.com
ການນໍາໃຊ້ຂອງ --user-data-dir=/tmp/noexistent$(ວັນທີ +%s%N) ແມ່ນເພື່ອປ້ອງກັນຕົວທ່ອງເວັບ
ຈາກການນໍາໃຊ້ຂະບວນການ chromium-browser ທີ່ມີຢູ່ແລ້ວ.
ເພື່ອເຮັດໃຫ້ Chrome ດຶງເອົາເວັບໄຊທ໌ທີ່ບັນທຶກໄວ້ໃນໄລຍະການຊັກຊ້າ, ການສູນເສຍການເຊື່ອມຕໍ່ທີ່ຜ່ານແມ່ນ
ຈຳກັດໄວ້ທີ່ 1 ແພັກເກັດເຕັມຂະໜາດຕໍ່ມິລິວິນາທີ:
$ mm-webreplay /tmp/nytimes mm-delay 50 mm-loss uplink 0.1 mm-link <(echo 1) <(echo 1) -- chromium-browser --ignore-certificate-errors --user-data-dir=/ tmp/nonexistent$(date +%s%N) www.nytimes.com
ເພື່ອຈຳລອງເຄືອຂ່າຍມືຖືທີ່ປ່ຽນແປງໄດ້ ແລະສະແດງພາບການນຳໃຊ້ເຄືອຂ່າຍຂອງຂະບວນການ:
$ mm-delay 20 mm-link --meter-all /usr/share/mahimahi/traces/Verizon-LTE-short.up /usr/share/mahimahi/traces/Verizon-LTE-short.down
[ຊັກຊ້າ 20 ນາງສາວ] [ການເຊື່ອມຕໍ່] $
ໃຊ້ mm-meter ອອນໄລນ໌ໂດຍໃຊ້ບໍລິການ onworks.net