Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Sign In with OpenID
Advertise on LowEndTalk.com

In this Discussion

perfops cli - run tests from 200+ servers all over the world [open source]

perfops cli - run tests from 200+ servers all over the world [open source]

jimaekjimaek Member
edited September 22 in General

I've built a small command line tool that allows people to run commands like ping, curl, traceroute, mtr and more from multiple locations around the world.

Its also open source https://github.com/ProspectOne/perfops-cli

How to install


Usage example:

perfops ping --from "eastern europe" google.com
Node111, Moscow, Russian Federation
PING google.com (173.194.222.113) 56(84) bytes of data.
64 bytes from 173.194.222.113: icmp_seq=1 ttl=50 time=11.6 ms
64 bytes from 173.194.222.113: icmp_seq=2 ttl=50 time=11.4 ms
64 bytes from 173.194.222.113: icmp_seq=3 ttl=50 time=11.4 ms

--- google.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 602ms
rtt min/avg/max/mdev = 11.433/11.513/11.650/0.157 ms

  • Currently its free to use and run an unlimited amount of tests.
  • Its a beta. Stuff can break and not work correctly. Report problems in Github and I will fix them
  • In the future I plan to charge for tests but I will leave a generous free plan for everyone to use. Not sure about the pricing yet. How much would you pay for this?
  • What do you think? Do you like it? Anything missing?

Comments

  • this is wonderful :) thank you

  • so you found a good way to use your hundreds of vps servers? thank you!

  • Hope ping of death isn't supported :)

    Thanked by 1JasperNL
  • @muratai yep, didn't plan it at first but decided it was a cool idea after building an API for my own needs

    @farsighter it should not work, but you are welcomed to try.

  • Btw you can also create your own tools using the API http://docs.perfops.net/

  • cassacassa Member, Provider

    @gbshouse said: How to get API token?

    If you take a look at the API documentation, you can see that everything can be done without an API token.

    ik moet poepen

  • Yes, at the moment the token is not needed. Everyone gets unlimited tests. Later you will need it to run more tests than free users.

  • jimaekjimaek Member

    New update. Run "yum update perfops" or equivalent to download. https://github.com/ProspectOne/perfops-cli

    • Added "--json/-J" parameter for JSON output
    • Fixed many bugs in the API
    • Less "no nodes found" errors.
    • "location" is no longer required. It will select a random node.

    You can also use the online tool built on the same API https://www.cdnperf.com/tools/cdn-latency-benchmark

  • jimaek said: You can also use the online tool built on the same API https://www.cdnperf.com/tools/cdn-latency-benchmark

    This is great! Thank you

  • vmhausvmhaus Member, Provider

    Hello,

    Really nice tool any plans for IPv6 support?

    VMHaus - High Performance NVMe SSD Cloud Servers, Free Anti-DDoS, Free BGP Sessions
    Follow us on twitter | Network Info (AS136620) | Service Status | Looking Glass

    Thanked by 1Rhys
  • jimaekjimaek Member

    No Ipv6 plans right now. I want to make v4 stable for now and grow the service.

  • RhysRhys Member

    Nice work this is looking good. I'm having a few issues with traceroutes to anycast.melted.me either returning a new line or just "-2" rather than the output.

    I recommend hosting at anyNode

  • jimaekjimaek Member

    Can you send me a PM with more info? The full command and locations

  • ehabehab Member

    @jimaek said:

    one day you'll say all your pings belong to me :)

  • Fixed a few problems with short timeouts and no output. Turns out traceroutes take longer to finish than I expected.

  • RhysRhys Member
    edited October 11

    @jimaek said: Fixed a few problems with short timeouts and no output. Turns out traceroutes take longer to finish than I expected.

    Still getting this returned for mtrs, traceroutes seem to be working now:

    bifrost :: ~ 1 » perfops mtr --from "Miami" anycast.melted.me --limit 2
    Node147, Miami, United States
    -2
    Node10, Miami, United States
    -2
    

    I recommend hosting at anyNode

  • jimaekjimaek Member
    edited October 11

    Yeah, same problem. Looks like I have to go even higher. Will fix soon.

    But this is good, fixing all these small issues in beta before the stable release.

  • jimaekjimaek Member
    edited October 11

    Try now, should be ok

    Thanked by 1Rhys
  • Hey! Thanks! I used your API to check which servers were the fastest in Bahrain! (Shame your servers don't answer to ICMP though...)

  • RhysRhys Member
    edited October 11

    @jimaek said: Try now, should be ok

    Yep working great, if possible could the -w flag be passed to mtr for full hostname output, and maybe --show-ips & --aslookup for a more useful output.

    bifrost :: ~ 1 » perfops mtr --from "Miami" anycast.melted.me --limit 2
    Node147, Miami, United States
    Start: Wed Oct 11 23:55:01 2017
                      Loss%   Snt   Last   Avg  Best  Wrst StDev
      1.|-- ???                       100.0     2    0.0   0.0   0.0   0.0   0.0
      2.|-- 173.44.32.249              0.0%     2    0.3   0.3   0.3   0.4   0.0
      3.|-- te0-0-1-0.nr11.b002802-4.  0.0%     2    1.0   1.0   1.0   1.0   0.0
      4.|-- te0-7-0-27.rcr21.b002802-  0.0%     2    0.8   0.8   0.8   0.8   0.0
      5.|-- be2442.ccr22.mia01.atlas.  0.0%     2    1.0   1.0   1.0   1.1   0.0
      6.|-- be2123.ccr42.atl01.atlas.  0.0%     2   14.9  15.1  14.9  15.3   0.0
      7.|-- be2113.ccr42.dca01.atlas.  0.0%     2   25.7  25.8  25.7  25.9   0.0
      8.|-- be2807.ccr42.jfk02.atlas.  0.0%     2   32.5  32.4  32.3  32.5   0.0
      9.|-- be2057.ccr21.jfk10.atlas.  0.0%     2   32.3  32.3  32.3  32.3   0.0
     10.|-- 38.122.229.202             0.0%     2   32.6  37.1  32.6  41.5   6.2
     11.|-- vl50-br1.pnj1.choopa.net   0.0%     2   39.4  36.7  33.9  39.4   3.9
     12.|-- 108.61.67.46               0.0%     2   34.0  34.0  34.0  34.1   0.0
     13.|-- ???                       100.0     2    0.0   0.0   0.0   0.0   0.0
     14.|-- 139.5.187.1                0.0%     2   33.7  33.7  33.7  33.8   0.0
    

    vs

    bifrost :: ~ 130 » mtr -w --show-ips --aslookup --report -c2 anycast.melted.me
    Start: Wed Oct 11 21:58:07 2017
    HOST: bifrost                                                     Loss%   Snt   Last   Avg  Best  Wrst StDev
      1. AS24940 static.169.9.9.5.clients.your-server.de (5.9.9.169)   0.0%     2    0.2   0.3   0.2   0.3   0.0
      2. AS24940 core24.fsn1.hetzner.com (213.239.229.237)             0.0%     2    0.3   0.3   0.3   0.4   0.0
      3. AS24940 core4.fra.hetzner.com (213.239.203.149)               0.0%     2    5.1   5.1   5.1   5.1   0.0
      4. AS???   de-cix.melbicom.net (80.81.195.108)                   0.0%     2    5.5   5.6   5.5   5.6   0.0
      5. AS56630 185.131.64.127                                        0.0%     2   10.9  10.9  10.9  10.9   0.0
      6. AS205942139.5.187.1                                           0.0%     2   10.9  10.9  10.9  10.9   0.0
    

    I recommend hosting at anyNode

  • Sounds interesting. I added it to my TODO.

    Let me know if you have any other feedback.

  • hzrhzr Member

    Can you enable ICMP traceroutes? I need to traceroute a bunch of stuff that drops UDP.

    Senior software engineer @ Microsoft

  • Can you send me a few example commands and endpoints via PM?

  • jimaekjimaek Member
    edited October 13

    As a quick fix I made icmp traceroutes and full hostnames on mtr the default.

    Adding additional parameters will take some time.

Sign In or Register to comment.