Jump to content

Fail gracefully when very bad connection


richard90

Recommended Posts

I have a problem with my internet connection where it gets very bad from about 4-8pm till sometime the next morning, I am trying to pin down when and what is causing it and this site is very useful for that, there is nothing like it on the web.

 

However during the time when the connection is bad the test slows down so much, from about 5Mb to less than 100kb sometimes, that it takes so long to complete the download test that the next scheduled test is missed. It may be also that my browser backs off so much that it never completes for some reason (maybe dropped packets or something).

 

I have tried resetting the test but sometimes this cancels the next scheduled test and it does not continue with automatic testing.

 

Is there a way to have a timeout set so that the test reports ~0kb and resets so that the next try can detect when the connection starts working again?

Richard90 Speed Test Results.pdf

Link to comment
Share on other sites

Thanks for visiting Richard, I'm glad you like the site.  It's my labor of love.

 

This has been suggested a couple times, not exactly how you're talking about but similar.  For some people their connection craps out and causes the test to end completely.  I'll address this and your issue in my next version of the automatic speed test.

 

What I'll probably do to fix your issue is have it where if it's taking too long... it will either end the test and calculate based on the data it gathered already... or have you forwarded to a smaller size to hopefully get you to complete the test in a timely fashion.

 

What you can do right now that may resolve this is to uncheck 'express' this way the test will start at a lower value each time and adjust to what's happening at the time the test is taken.  Let me know if that helps.

 

.. tell your friends if you really like TestMy.net, this is word-of-mouth.

Link to comment
Share on other sites

  • 1 year later...

I have a similar problem.  Not only does the test stop with a very slow or absent connection, but there is no record of the failure or any partial results.  For me it would be advantageous to have the situation noted so that I could show it to my provider as part of the documentation of service lapses.  I recognize that the downside is that you might also record a computer that went into sleep mode as a failure; I'm not computer-savvy enough to propose a fix for that, but perhaps someone else could come up with a way to differentiate between the two.

Link to comment
Share on other sites

I have a similar problem.  Not only does the test stop with a very slow or absent connection, but there is no record of the failure or any partial results.  For me it would be advantageous to have the situation noted so that I could show it to my provider as part of the documentation of service lapses.  I recognize that the downside is that you might also record a computer that went into sleep mode as a failure; I'm not computer-savvy enough to propose a fix for that, but perhaps someone else could come up with a way to differentiate between the two.

I'll keep this suggestion in mind when I dig into the next version. :wink: -- this would add a lot of value.

Link to comment
Share on other sites

On the same topic it appears that the auto test stops if the connection is lost.  That leads to big gaps in graphing if I'm not awake and aware to start a new test.  Since my primary use at present is to document my provider's performance problems I'd rather have a test that keeps trying for the number of runs I had specified.  (Someone once told me that nothing is too difficult for the person who doesn't have to do the work...)

Link to comment
Share on other sites

  • 2 years later...

Hi. As the above posts are 2 or more years old I'm wondering whether the suggestions discussed got implemented? Like some of the other commenters above I am trying to gather evidence about an unstable ADSL connection that often goes so slow that it becomes unusable for a time. I am running auto tests one after the other to get a week of evidence, but I often find when I check that the browser is just displaying a message "Cannot contact server, try again later" or words to that effect. On checking the results I find that the last result was several hours ago and it was a good speed. So I surmise that the connection swung down to zero or a few kilobits per second, and when TestMy tried to do its next test the browser couldn't talk to the server and that was the end of the auto testing, because presumably the browser polls the server not vice versa. Otherwise the drop-out might have happened during a test, with the same outcome.

 

Was there some fix to this that got added to later versions of the auto test? It's frustrating because I can't record the occurrence of the very thing I am trying to prove - that the connection becomes unusable. If this is still on the developers' to-do list could I make a suggestion for a solution design?

 

1. Have the client code that polls for a test implemented in a hidden frame, not the frame that displays the result, so that the polling code doesn't get nuked if the request to the server times out, and will request the next test as usual when the time comes.

 

2. Server does not abort the auto test if results stop coming through. Instead it records a speed result of ZERO each time a test result is expected but is not received, after waiting for a period of grace to allow for network delays.

 

I do hope you will consider this or some similar solution, or if you have already implemented a solution perhaps we could investigate why I'm getting the experience I described above. Many thanks.

Link to comment
Share on other sites

  • 1 year later...

Update: The new upcoming version of TestMy.net will not fail on all major updated browsers.  I've implemented service worker which enables TestMy.net offline... obviously you won't be able to test in that state but it is helping me to make this correct and more useful for you (and myself).  Gives me abilities as a developer that I've never had before.  

 

I've run numerous batches of tests, purposely disconnecting the internet.  The new version has never failed.  It will log those events too, doesn't right now but it will.  I like your idea for implementation...

 

On 5/7/2017 at 1:01 PM, guyhoghton said:

Instead it records a speed result of ZERO each time a test result is expected but is not received, after waiting for a period of grace to allow for network delays.

 

It will detect when you're online, wait.. check again to make sure it wasn't just intermittent... then test again when it feels it's able to..... might not be able to complete the entire test still but it will try then possibly fail again and restart the re-try process.

 

I can tell the averaging and database listing programs as a whole to ignore exactly "zero" so it doesn't effect host averages or flood public results... I don't know what would happen other wise so better plan for it.  Especially since that's a point for clients to purposely negatively affect hosts numbers.  (I always want to limit the input received but users... sorry users.  Damn bots and hackers ruined your rep.)  ...that idea provides a simple way to implement without having to add databases or change database structure.  I like that.   --- database structure changes can be an extreme headache, especially since I promised since the beginning that I'd retain all of your old results.

 

I'll keep developing.  The update I'm on right now started purely as a design venture, the more major feature rich updates are still planned...but I've been stumbling on so many answers it's become far beyond just what people see at this point.  There is still so much planned, I'm only including the features that I feel are ready.   ... I'd rather be on this new site (all day long).  I make TMN first as something I want to use... but I'm hoping to attract more than people of just own own mindset.  Anyone still reading this is probably of that mindset.  Most will never get as far as you.  I want the other 98% to get it too.  Hopefully this gets a little closer.

 

For people who have been long time visitors, keep your old browsers on virtual machines.  I need your help testing old browsers but also keep in mind that I'm developing for the future, I'm no longer concerned about lagging browsers or wasting my development time around their inconsistencies.  I target technologies native to the most popular browsers across the board.  If one browser has janky implementation, I may still release it as long as it's not detrimental to the test results or experience.  IMHO, Safari is the new IE right now.  Annoying.  Chrome, Firefox, Chrome on iOS and Android (period) are the best right now.  I expect Safari to catch up, sorry, it's not on the developer when everyone else agrees.

 

By the way, I straight up killed most old browsers when I went full SSL.  Full SSL is 100% necessary for the future of what TMN is doing.  Sorry old browsers.  Trust me, I took a hit with traffic.  When I see software changing ads in browser or including ads to pages I don't have ads on... that showed me early why we need SSL (https).  With SSL that can only happen if the cypher is cracked. 

 

To be honest at first I thought, why would TMN need https?  Nobody is buying anything from my site or really sending anything truly secure.  Uh, think again.  Many people may use the same passwords.  Hackers can grab that information as you login at a public wifi and then try the same email address and password on google, facebook, ebay, amazon, etc... till they get a hit.  So stupidly easy for hackers.  Not only that but third party ads may be doing things you don't want... far outside of the scope of common practice (of which some people already may not already want).  And again, a third party program can also edit your webpages and add their own content.  Above all, they want to make money, usually ad or code insertion is the intent.  With the latest SSL people can't do the same malicious stuff.  Not to say it can't be done again, it can always be done again.  Nothing made by man can be protected from man.  What is created from one man's mind can always be decoded in another's.  We just need to evolve with the changes. 

 

way off the subject... AI teaching itself to make new cyphers and then keeping the true keys from us, that worries me the more I think about it.  An AI or AIs will invent their own language that we can't possibly understand in our lifetimes.  It will be so efficient that humans can't understand it because we don't work well enough, lol.  Take the highest level of cryptography that you can think of exponentially increase that.  And then realize that the program that creates it may be so obscure that it could be hiding information from us, making us feel secure when it really has all the power.  I say let us humans keep making mistakes and figuring out each other's mistakes and improving naturally.  We as humans should always in great detail fundamentally understand our software and hardware changes... it should never be obscured to the point that no human can understand.  I worry that we'll let computers do our programming and designing to the point that we'll have little understanding of what's truly under the hood or how to control it.  "let the computer figure out how to do that better, it will make it perfect." -- it's cool until it starts talking in a language you can't decode and decides you're not a part of understanding that language simply because you as a human aren't optimal to the system.  To a computer, even our VERY best languages are stupid because they aren't optimal and so that's the first thing to go in my opinion.  This has already happened by the way, just not to a serious degree.  A real AI will be ahead of our moves before we even start moving.  Once you know it's happening, it's too late.  I'm have to be high on the AI's list now.    :321:   :biggun:  (haha)

 

I believe our community here is made up of people who set the standard for their own communities in regards to all things tech.  We should set the standard by example.  Have your main machines always updated and encourage friends to do the same.  Hardware and software.  Especially software.  And especially right now because there have been so many major updates that EVERY browser is agreeing on.  They don't normally agree like this.  Over 21 years developing in the browser and I've never seen such wide adoption of so many cool new features.  What a great time to develop.

 

Anyone who may be still actually reading this and wants access to the beta, just PM me.  If you were a member of any discussion on TMN prior to this post you can have access to the early beta too.  A handful of our veteran members have agreed to help me even early to make sure we give you a clean release but there are always more bugs that we need help finding. 

 

-- we'll find 'em together ...and make some more in the process!  Human's Rule.  :headbang:

 

-D

Link to comment
Share on other sites

  • 10 months later...
On 1/2/2015 at 3:44 PM, Mr_Boffo said:

I have a similar problem.  Not only does the test stop with a very slow or absent connection, but there is no record of the failure or any partial results.  For me it would be advantageous to have the situation noted so that I could show it to my provider as part of the documentation of service lapses.  I recognize that the downside is that you might also record a computer that went into sleep mode as a failure; I'm not computer-savvy enough to propose a fix for that, but perhaps someone else could come up with a way to differentiate between the two.

 

I noticed you visiting just now, (very cool that you're still here) clicked your profile and realized that you had posted on this topic.  Something I wanted to mention.

 

Just want to let you guys know that TMN now employs what's called a Service Worker... it's pretty awesome.

 

 

This enables TMN to work offline, obviously you can't test like that but you can visit pages you've been to recently. (put your phone in airplane mode or disconnect your connection while visiting TMN and you'll see what I mean.)

 

Screen Shot 2019-04-23 at 9.20.59 PM.png

 

One of the major benefits for us here is that the automatic test will now resume once the connection is back online.  

 

I had it kick in once on my cell phone under normal real world use and it amazed me.  ?  My connection dropped out right at the end of an upload test.  I got the connection dropped warning, a couple of seconds later my phone connected to a different tower (I assume) -- TMN said "ONLINE" and the test then posted normally.  A hiccup for the new version, would have 100% crashed the old version.

 

I plan to incorporate more logic to make it log those instances to the database.

Link to comment
Share on other sites

  • CA3LE pinned this topic
  • 2 months later...

Sort of along the same lines as mentioned here earlier, I too find the auto test (my favorite feature and what makes your site superior to alternatives IMO) lacking in that it is vulnerable to service outages. I use the old version (new one just behaves oddly to a caveman) and find that whenever my service isn't working during a scheduled autotest, it gets hung. It displays  "RETESTING AT _ _:_ _" displaying a time that has already passed. There it remains, so I have to "end test" and reschedule an entirely new test. Any time during it's fail and when I notice/fix it is untested. Even "Force Re-Test" only runs a re-test, but leaves the autotest in limbo and snoozing.

Link to comment
Share on other sites

  • CA3LE unpinned this topic

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...