Howdy, Stranger!

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

Subscribe to our newsletter

Advertise on LowEndTalk.com

Latest LowEndBox Offers

    Building a Serverbear alternative
    New on LowEndTalk? Please read our 'Community Rules' by clicking on it in the right menu!

    Building a Serverbear alternative

    AntonAnton Member
    edited June 2016 in General

    Hey guys,

    I'm working on an automated benchmark tool for Linux servers and have just finished the MVP, so I figured it would be a great time to get some feedback.

    Basically, I want to eventually build a modern better version of Serverbear since it's been pretty much abandoned for the last two years.

    At this point I only have two pages:

    In the next couple months I plan to finish up comparison pages that would allow users to compare aggregated benchmark results between different VPS offers, run lots of benchmarks to collect more data (as I don't expect this thing to become popular any time soon), and add a few other benchmarks into the benchmarking script as it currently only includes dd, fio, unixbench and a bandwidth benchmark via speedtest.net.

    The benchmark tool comes as a Python script and here is what it does:

    1. Checks for dependencies and installs them if needed. Depending on the platform dependencies are either make, automake, gcc, gcc-c++, kernel-devel, libaio-devel (for yum) or build-essential,libaio-dev (for apt)
    2. Gets the location of the server from API using curl
    3. Collects some server specs using Linux tools like df and output of /proc/cpuinfo / proc/meminfo
    4. Runs benchmarking tools (fio, dd, unixbench and a custom bandwidth test)
    5. Uploads the results and returns a link to the report page

    I would appreciate all kinds of feedback, especially things that you would like to see implemented such as benchmarks or website features.

    «1

    Comments

    • Running one right now. Looks interesting so far

    • Finished the bench. No link returned though.

      Thanked by 1EricB
    • Mark_RMark_R Member

      that result page looks really awesome man, nice design!! ill try it out.

      Thanked by 1Anton
    • Mark_RMark_R Member
      edited June 2016

      i ran into an little error while running the commandline provided from serverscope.io.

      [email protected]:~# curl -O "https://raw.githubusercontent.com/anton-ko/serverscope-benchmark/master/serverscope.py" && python serverscope.py -e "[email protected]" -p "VPSPro basic + ddos protected [email protected]"
        % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                       Dload  Upload   Total   Spent    Left  Speed
      100 16971  100 16971    0     0  27750      0 --:--:-- --:--:-- --:--:-- 28570
      Need to install libaio-dev
      Installing libaio-dev
      Traceback (most recent call last):
        File "serverscope.py", line 274, in 
          subprocess.call(['sudo', 'apt-get', 'update'])
        File "/usr/lib/python2.7/subprocess.py", line 493, in call
          return Popen(*popenargs, **kwargs).wait()
        File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
          errread, errwrite)
        File "/usr/lib/python2.7/subprocess.py", line 1259, in _execute_child
          raise child_exception
      OSError: [Errno 2] No such file or directory
      [email protected]:~#
      

      if you need more information let me know.

      Thanked by 1Anton
    • Most of the people use servers as web server or apps based on php / apache /nginx , when you say benchmarks, may be you should include such parameters also like how much the vps can serve.

    • AntonAnton Member

      @Saragoldfarb said:
      Finished the bench. No link returned though.

      Ugh, I'm sorry about that. Could you share provider / plan and OS? I would really like to troubleshoot that. Thank you!

      @Mark_R said:
      i ran into an little error while running the commandline provided from serverscope.io.
      ....
      if you need more information let me know.

      Hey Mark, thanks for the report. Could you also tell me what OS / version you're running?
      Thanks

    • AntonAnton Member

      @slicebox said:
      Most of the people use servers as web server or apps based on php / apache /nginx , when you say benchmarks, may be you should include such parameters also like how much the vps can serve.

      I agree and I've been trying to come up with a way to implement something like that without requiring too many dependencies. My best idea so far was to put the app into a docker container but that wouldn't work on OpenVZ servers.

      I would really appreciate a suggestion on this. Or you would be okay with script installing LAMP? To me that just seems a bit too intrusive.

    • All done! Submitting the results...
      {"status":"500","error":"Internal Server Error"}  
      
      Thanked by 2pbgben Anton
    • installing LAMP would be nasty, what if the vps already has LAMP, haven't thought deep into this, it is bit complicated. unless everything can be extracted to a folder , run from there, then delete after completion, (stopping all usual services before running test)

    • The network part of the result page is a bit confusing. The raw output below says 302 Mbit/s, while above it says 302 MB/s.

      Thanked by 1Anton
    • pbgbenpbgben Member, Provider

      @Strikerr said:
      All done! Submitting the results...
      {"status":"500","error":"Internal Server Error"}

      This happened to me too, on the OVH network.

    • LiteServerLiteServer Member, Provider

      Looks good! I'll run a test shortly and let you know my feedback.
      Do you have plans to make a page with a "top 100" to compare CPU / RAM / IO performance - basically the same as what Serverbear has? I think such page will definitely have a value as people might want to compare performance of multiple hosting companies.

      LiteServer.nl - Since 2007 the place where quality meets you!
      NL located // AS60404 // OpenVZ + KVM + NVMe + SSD + SSD Cached VPSes // LEB plans starting at 128 MB

    • Mark_RMark_R Member

      @Anton said:

      Hey Mark, thanks for the report. Could you also tell me what OS / version you're running?
      Thanks

      Debian 7.5 x64

      Thanked by 1Anton
    • TomTom Member
      All done! Submitting the results...
      {"status":"500","error":"Internal Server Error"}
      
      Thanked by 1inthecloudblog
    • AntonAnton Member

      Ugh. Okay. Thanks for the reports guys.
      I'm looking into that error 500.

      @salakis said:
      The network part of the result page is a bit confusing. The raw output below says 302 Mbit/s, while above it says 302 MB/s.

      Great catch! Will fix that today as well.

    • shovenoseshovenose Member, Provider

      Thank you... Serverbear is broken.

      Thanked by 1Anton
    • Don't really know that much when it comes to servers and stuff, but love the initiative! I'll make sure to bookmark this for future reference.

      Just one question though, will this a free tool or will this be a paid service? Thanks a lot!

      Need brand focus? Missing brand clarity? Schedule your free branding discovery call.
    • cassacassa Member, Provider

      Works pretty well: https://serverscope.io/trials/nAr

      The disk read test didn't go right though.

      ik moet poepen

    • hawchawc Member, Moderator, LIR

      The links in both of my emails didnt work.

    • AntonAnton Member
      edited June 2016

      @rgenzon said:
      Just one question though, will this a free tool or will this be a paid service? Thanks a lot!

      Will always be free for users. Glad you liked it!

      @hawc said:
      The links in both of my emails didnt work.

      Thanks for reporting back. Would you mind sending me your link? I will make sure it's fixed.

      Thanked by 1rgenzon
    • cassacassa Member, Provider

      @hawc said:
      The links in both of my emails didnt work.

      They're correct for me

      ik moet poepen

    • SilvengaSilvenga Member
      edited June 2016

      It might be a good idea to have consistent speed test servers so that we can compare apples to apples across different locations - it would also prevent issues when geo-location fails.

      Also it would be nice to include all the human readable stats at the top of the page, rather then strewn throughout.

      Thanked by 2Anton cassa
    • AntonAnton Member

      @cassa said:
      They're correct for me

      There was an issue with benchmark on @hawc's server. Has been fixed.

      @Silvenga said:
      It might be a good idea to have consistent speed test servers so that we can compare apples to apples across different locations

      Thanks for raising this issue. I like this! My only concern is that people usually host their servers close to their users, so my assumption is that they care primarily about bandwidth between the server and major providers around it. For example, if I build a website for Canadians I would care only about loading speed for users in North America.

      I don't have a solution for this yet. My thinking behind this was that if I take 10 closest servers (and skip the closest one) then I benchmark the connection speed between the host and the outside world. I'm not 100% satisfied with this as major cities would often have 10+ speedtest servers located very close so results are skewed. I'm thinking that I might change it so it skips all the servers that are too close (let's say 10 or 20 km). Would that be a good idea?

      Or may be I should pick a few sets of servers and let users decide if they want only servers in their region or across all continents.

      it would also prevent issues when geo-location fails.

      I wonder if that happened when you were running a benchmark. I would appreciate a link to that report. Closest servers are found using speedtest.net API and I haven't seen it fail so far.

      Also it would be nice to include all the human readable stats at the top of the page, rather then strewn throughout.

      I assume you're talking about "I/O" tab and I can see how that may be an issue. What if I hide raw output by default and have a link there that would unfold these blocks?

    • vfusevfuse Member, Provider

      Good to see someone picking up after serverbear, used SB a lot when it was active!

      Here's a report for an OVH ssd-vps2 server https://serverscope.io/trials/LqP#system

      NIXStats monitoring Web, Server(Linux, Windows - $6.95/m), Logging (Free!) and Blacklists (start at 512 for $3.75/m) - Uptime Report - API Docs

    • noamannoaman Member

      @Anton said:
      Hey guys,

      I'm working on an automated benchmark tool for Linux servers and have just finished the MVP, so I figured it would be a great time to get some feedback.

      Basically, I want to eventually build a modern better version of Serverbear since it's been pretty much abandoned for the last two years.

      At this point I only have two pages:

      In the next couple months I plan to finish up comparison pages that would allow users to compare aggregated benchmark results between different VPS offers, run lots of benchmarks to collect more data (as I don't expect this thing to become popular any time soon), and add a few other benchmarks into the benchmarking script as it currently only includes dd, fio, unixbench and a bandwidth benchmark via speedtest.net.

      The benchmark tool comes as a Python script and here is what it does:

      1. Checks for dependencies and installs them if needed. Depending on the platform dependencies are either make, automake, gcc, gcc-c++, kernel-devel, libaio-devel (for yum) or build-essential,libaio-dev (for apt)
      2. Gets the location of the server from API using curl
      3. Collects some server specs using Linux tools like df and output of /proc/cpuinfo / proc/meminfo
      4. Runs benchmarking tools (fio, dd, unixbench and a custom bandwidth test)
      5. Uploads the results and returns a link to the report page

      I would appreciate all kinds of feedback, especially things that you would like to see implemented such as benchmarks or website features.

      Your. Responive. Layout needs. Fixing. .. but I like the idea and Domian

    • LiteServerLiteServer Member, Provider

      I've ran a test as well. I'm happy with the way the results are being showed - good work!
      Still a few bugs though. For example, the e-mail "Your benchmark is complete" shows me a completely different IP address - one that definitely doesn't below to us :-):

      "ServerScope.io benchmark has been successfully completed for your server hosted by LiteServer (174.4.57.61) located in , Netherlands"

      Here is a test of our "OVZ-SSD-1024" plan on a loaded VPS node:
      https://serverscope.io/trials/WKK#system

      LiteServer.nl - Since 2007 the place where quality meets you!
      NL located // AS60404 // OpenVZ + KVM + NVMe + SSD + SSD Cached VPSes // LEB plans starting at 128 MB

    • cassacassa Member, Provider

      noaman said: Your. Responive. Layout needs.

      Because? I've never used my phone to watch a benchmark or make one

      ik moet poepen

    • AntonAnton Member

      @noaman said:
      Your. Responive. Layout needs. Fixing. .. but I like the idea and Domian

      Yup. This is planned for the next iteration.

      Even though almost nobody would benchmark their server via phone, it should be an option to browse the report page using any device.

    • AntonAnton Member

      @LiteServer said:
      I've ran a test as well. I'm happy with the way the results are being showed - good work!
      Still a few bugs though. For example, the e-mail "Your benchmark is complete" shows me a completely different IP address - one that definitely doesn't below to us :-):

      Oh right! I've setup Cloudflare CDN but forgot the change the way I'm detecting IP addresses.

      Similar thing with the location string. I've just updated site to work properly when city is not detected but forgot to update the e-mail template.

      Will update that soon. Thanks!

      Thanked by 1LiteServer
    • flexflex Member

      Your service looks pretty nice.
      Please add more providers in the selection.

      soyoustart and even some german providers would be great

    • vfusevfuse Member, Provider

      @flex said:
      Your service looks pretty nice.
      Please add more providers in the selection.

      soyoustart and even some german providers would be great

      I'm pretty sure that the selection field is a create field as well so if it's not in the list it will be created.

      NIXStats monitoring Web, Server(Linux, Windows - $6.95/m), Logging (Free!) and Blacklists (start at 512 for $3.75/m) - Uptime Report - API Docs

    • flexflex Member

      @vfuse said:

      @flex said:
      Your service looks pretty nice.
      Please add more providers in the selection.

      soyoustart and even some german providers would be great

      I'm pretty sure that the selection field is a create field as well so if it's not in the list it will be created.

      you're right, sorry for this ;)

    • AntonAnton Member

      @flex said:
      you're right, sorry for this ;)

      Thanks for the feedback and sorry that this feature is not obvious.

      I've put "or type in" in the placeholder thinking that it would be enough but turns out I was wrong. I'll think how I can clear this up. Any suggestions?

    • flexflex Member

      i think the or type in is clear enough

    • Anton said: Or may be I should pick a few sets of servers and let users decide if they want only servers in their region or across all continents.

      Why not both? :D

      Yes, for websites, a server close to the audience is perfect, however, I can see other uses for servers being in different locations (they aren't all publicly visible) - connectivity between them could be important. For comparison, Serverbear has Cachefly (basically a speed test to the closest Speedtest location) and other locations around the world.

      Anton said: Closest servers are found using speedtest.net API and I haven't seen it fail so far.

      I've had it fail before (my IP was recently bought and geo takes time to change). It was a server in Texas, but Speedtest thought it was in Florida.

      Anton said: What if I hide raw output by default and have a link there that would unfold these blocks?

      Ooh, perfect.

    • AntonAnton Member

      @Silvenga
      I see your point. I'll figure out a way to implement that.
      Thanks

    • FredQcFredQc Member

      Here is mine:

      Test results for LV E3-KVM 4GB at BuyVM 
      
      Server specs: 
      Intel(R) Xeon(R) CPU E3-1270 v3 @ 3.50GHz 
      3.7 GB  RAM / 80 GB disk space 
      Centos 7.2.1511 Core
      Las Vegas, United States
      
      Benchmark summary:
      UnixBench - 2091.2
      Disk Read - 472 MB/s
      Disk Write - 1478 MB/s
      Bandwidth - 90.43 MB/s
      
      More: https://serverscope.io/trials/R0k
      

      Only problem was that I received the email results with the good IP but... in the SPAM folder. Other than this, good work, love the interface ;)

    • AntonAnton Member
      edited June 2016

      @FredQc said:
      Only problem was that I received the email results with the good IP but... in the SPAM folder.

      Yeah, I've fixed the IP detection. Will look into delivery issues to your email host (outlook.com right?).

      Thanks for the kind words!

    • CPU detection failed
      https://serverscope.io/trials/3Am#system

      cat /proc/cpuinfo
      vendor_id       : IBM/S390
      # processors    : 2
      bogomips per cpu: 20325.00
      features        : esan3 zarch stfle msa ldisp eimm dfp etf3eh highgprs vx
      cache0          : level=1 type=Data scope=Private size=128K line_size=256 associativity=8
      cache1          : level=1 type=Instruction scope=Private size=96K line_size=256 associativity=6
      cache2          : level=2 type=Data scope=Private size=2048K line_size=256 associativity=8
      cache3          : level=2 type=Instruction scope=Private size=2048K line_size=256 associativity=8
      cache4          : level=3 type=Unified scope=Shared size=65536K line_size=256 associativity=16
      cache5          : level=4 type=Unified scope=Shared size=491520K line_size=256 associativity=30
      processor 0: version = FF,  identification = 036A77,  machine = 2964
      processor 1: version = FF,  identification = 036A77,  machine = 2964  
      

      https://serverscope.io/trials/vA7

      cat /proc/cpuinfo
      processor       : 0
      Features        : fp asimd aes pmull sha1 sha2 crc32
      CPU implementer : 0x43
      CPU architecture: 8
      CPU variant     : 0x0
      CPU part        : 0x0a1
      CPU revision    : 0
      
      processor       : 1
      Features        : fp asimd aes pmull sha1 sha2 crc32
      CPU implementer : 0x43
      CPU architecture: 8
      CPU variant     : 0x0
      CPU part        : 0x0a1
      CPU revision    : 0  
      
    • Awmusic12635Awmusic12635 Member, Provider

      I would recommend getting rid of the speedtest.net test to instead use more data center speed test files.

      The speedtest.net tests work horribly on servers. Geolocation is most always wrong, the server you are testing from often has more bandwidth available than the speed test server (which leads to incorrect reports) and it is very inconsistent.

      Subnet Labs, LLC Contact Us Deploy to: Seattle, Dallas or NYC
      Impact VPS | Cloud Servers | Storage Servers | Impact Shared | Shared Hosting

    • yomeroyomero Member

      What about geekbench instead of unixbench?

      Thanked by 1tr1cky
    • NomadNomad Member

      Hmm, is this disk read supposed to be this low or my configuration is bad? :S

      https://serverscope.io/trials/eK4#io

      ...
      ...

    • @Nomad
      Ok for sata hdd.

    • labraxlabrax Member
      edited June 2016

      here's mine from liteserver cheap 1y deals

      Test results for OVZ-100HDD-128 at LiteServer 
      
      Server specs: 
      Intel(R) Xeon(R) CPU E3-1270 v3 @ 3.50GHz 
      128 MB  RAM / 105 GB disk space 
      Ubuntu 14.04 Trusty
      , Netherlands
      
      Benchmark summary:
      UnixBench - 1630.7
      Disk Read - 745 MB/s
      Disk Write - 631 MB/s
      Bandwidth - 436.99 MB/s
      
      More: https://serverscope.io/trials/ZKm
      
      Thanked by 2LiteServer vimalware
    • SaragoldfarbSaragoldfarb Member
      edited June 2016

      @Anton said:

      @Saragoldfarb said:
      Finished the bench. No link returned though.

      Ugh, I'm sorry about that. Could you share provider / plan and OS? I would really like to troubleshoot that. Thank you!

      It was on a Debian install but on a random machine I was logged in already when I noticed your post. Probably a dedi @ online. I'll give it another try on a couple of different installs and report back.

    • tr1ckytr1cky Member

      I wouldn't use unixbench. Not only are the results flawed on some virtualisations (e.g. Xen), it also takes a lot of time.

      A geekbench implementation would be a lot better.

      tsdns.io - free, redundant, DDoS-protected TSDNS

    • AntonAnton Member

      @Strikerr said:
      CPU detection failed

      Thanks for the report! Will add to my list :)

      @Awmusic12635 said:
      I would recommend getting rid of the speedtest.net test to instead use more data center speed test files.

      In that case wouldn't we be testing download to the servers instead of speed of outbound traffic? My assumption is that the vast majority of web servers are being downloaded data from rather than uploaded data to. I've been given a few ideas how to work around failing geo location already. Looking to implement that in the next few weeks.

      Thanks!

      @yomero said:
      What about geekbench instead of unixbench?
      @tr1cky said:
      I wouldn't use unixbench.

      I was thinking about adding geekbench to the kit (since you can pick and choose which benchmarks to run). Not a big fan of UnixBench myself but a lot of people use it.

      Thanked by 1yomero
    • Awmusic12635Awmusic12635 Member, Provider

      Anton said: In that case wouldn't we be testing download to the servers instead of speed of outbound traffic? My assumption is that the vast majority of web servers are being downloaded data from rather than uploaded data to. I've been given a few ideas how to work around failing geo location already. Looking to implement that in the next few weeks.

      Well the speedtest website does both upload and download tests when a user runs it. Most every time a customer comes to me saying they are not getting their advertised network speed it is because they are using the speedtest.net cli tool. It is wrong too much and just leads to clients getting incorrect results.

      I always end up telling them that the test is not suitable to test servers. If you want your benchmark to replace serverbear, I would prefer if I could actually recommend it and not tell clients to ignore the network results.

      Subnet Labs, LLC Contact Us Deploy to: Seattle, Dallas or NYC
      Impact VPS | Cloud Servers | Storage Servers | Impact Shared | Shared Hosting

    • SpoofySpoofy Member

      Speedtest sux - use iperf instead.
      Also fio options are incorrect - IOPS results are totally wrong.

    • yomeroyomero Member

      @Spoofy said:
      Speedtest sux - use iperf instead.
      Also fio options are incorrect - IOPS results are totally wrong.

      Iperf needs another server. And I think nobody wants to expose one to the volumes of traffic it needs.

    Sign In or Register to comment.