Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We are building a socket based service where latency is paramount, and as such we have servers distributed into 7 data centres around the world. However, whilst we know we're bringing the servers closer to the clients, it's very difficult to know how effective this is, and importantly, what difference this makes compared to our competitors.

As such, we want to run simple scripts that test latency and throughput for both our service and our competitors, which is easy enough using Amazon, however Amazon only have 7 data centres. We would like to know for example how we perform in locations all over the world such as South Africa, Australia, China, Peru etc.

Does anyone know of any service where we could piggy back off their global infrastructure and run some scripts to test this performance? The obvious contenders are people like Monitis, but I don't think they would allow us to run custom scripts, only standard protocol monitors.

Thanks for your help. Matt

share|improve this question
add comment

4 Answers

up vote 0 down vote accepted

I couldn't find the right answer, but I did come across a few services that would allow real browsers to be spun up in locations around the world and execute client side code. So instead of running linux scripts, I instead wrote some Javascript to do the same job.

The three I found were:

I have tried these solution using their trials. All of them work, however the latter two unfortunately have some older browsers installed. I'm waiting for them to upgrade.

share|improve this answer
    
did you want shell accounts or browsers around the world?! –  Gaia Nov 23 '12 at 17:51
    
Sorry, you're 100% right, I didn't explain myself very well. Unfortunately I was unable to find a service that provides linux shell access in various countries around the glove. The only solution I could find instead was to use a browser to run scripts that did the same job, and those browsers were spun up in various countries. That was the only solution I could find. –  Matthew O'Riordan Nov 24 '12 at 8:50
add comment

Is there a way you could build some crucial or even all of your tests in WebSockets/HTML5/JavaScript/Flash.?

This way you could ask any community for help to run tests for you around the world.

You could for example get some relative metrics on latency via WebSockets or from doing very light weight ajax requests. By using HTML5's geolocation feature you could pinpoint which general area a request is coming from.

Maybe you could also get a sense of throughput by measuring the time it takes to stream/download a file.

Here is a pretty cool article on WebSockets and latency measurements.

Good luck Matthew!

EDIT: Sorry this does not actually answer the question "how do I get a linux shell easily in multiple countries?", rather it suggests an alternative approach.

share|improve this answer
    
Thanks for the response deRailed, but unfortunately we did not consider this option but decided against it. The problem is we'd struggle to compare like for like as people would have different machines, connections etc., and more importantly we probably don't have a good enough geographical spread of users who would help us. So unfortunately whilst the suggestion is a nice one, we don't think it would work. –  Matthew O'Riordan Nov 12 '12 at 15:36
add comment

Many ISPs and data centers offer looking glass software, which you can use to:

  1. ping an IP address
  2. follow a packet through the network to a specific destination (traceroute)
  3. view BGP routing table

Here are looking glasses servers from various countries

share|improve this answer
    
Wow, this is great, I had no idea about this. Thanks for that link. Unfortunately this does not solve our problem as we need to operate on other protocols, but this is a great link to have. –  Matthew O'Riordan Nov 12 '12 at 15:42
add comment

Lease servers (or virtual servers) in the countries you're interested in.

share|improve this answer
    
Wow, I hadn't thought of that? Is this really even worth a post? Obviously I can do that, but that's a huge waste of resources and money. If I have to maintain a network of 50+ servers, with hosting costs of say circa $50 per month, then I have a $2,500 a month network of servers that I need to configure, manage, and pay for each month. That was why I asked the question! –  Matthew O'Riordan Nov 12 '12 at 15:45
1  
There's no way for any of us to know you thought of it, since you didn't mention it. –  Michael Hampton Nov 12 '12 at 15:56
    
Still the only solution. There are a lot of Performance testing Services out there, and you could easily just hire one for a couple of Dollars per month, but for a SHELL you pretty much will Need o get a Server account. That said - the requirement makes ZERO sense to start with, there is no Need for you to run a script - use a Monitoring Service. –  TomTom Nov 24 '12 at 11:55
    
@MichaelHampton, apologies, you're right, I was not clear enough in my origin post. Apologies for the sarcastic response, it was unnecessary. –  Matthew O'Riordan Dec 2 '12 at 20:44
    
Not to mention, they need not be expensive. A series of low-end VPSes in strategic geographical locations would serve, as long as you could tolerate the occasional brief outage of one of them. –  Michael Hampton Dec 2 '12 at 20:46
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.