Buy Sell Discuss UK Domain Names at AcornDomains.co.uk Price Freeze on Business Hosting frm £4.95/month

Today's Drop Dates are: 18-02-2012 or 25-02-2012   All times are GMT. The time now is 11:48:42 PM.
Domain Name Sales Domain Software Calculate UK Domain Drop Dates Domain Registration NameDrive Domain Parking Subscribe to our Domains For Sale newsletter
Go Back   Domain Forum Acorn Domains Buy Sell Auction UK Domains > Domain Name Tools and Resources > Domain Tools
Connect with Facebook

Domain Tools Discuss and evaluate domainer tools and resources

Closed Thread
 
LinkBack Thread Tools Display Modes
Old 11-01-2011, 09:02:10 PM     #1 (permalink)
Junior Member
 
Join Date: Dec 2010
Location: Headcorn, Kent
Posts: 28
gareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond repute

The things I have learnt whilst building a Drop Catch system

Hopefully this is the right place to post this.

Why am I writing this post? I've been lurking around for a while and wanted to give something back, if I can.

Drop Catching is one of those things no one in the domain world wants to talk about. Well they won’t talk about their scripts! Why would they? It would be like Coke giving up their magic recipe.

So far it has been a 5 week project and I have lost count of how many hours it’s taken (and continue to take). It is still in development and currently off-line. Every day I tweak code, measure code speed and fine tune socket communication. It’s amazing how many hours you can spend measuring and analysing milliseconds. Okay, I am not going to give you any code but here are some things that I have learnt.

My software is currently written in C#, but I might move to C++ if it will provide faster timings. I am sure it won’t and hopefully below will explain why.
I will say up front, I do not know anyone here or anyone that Drop Catches, so I’ve been working in the dark. It’s been fun stumbling around trying to understand how it all works. To be honest it is surprising basic.

The process:
  1. Repeatability query DAC for domain availability
  2. If domain drops send EPP create request

My average timings:

These times can vary, not by a lot, but they do vary. The reason your timings will vary will be due to network loads at your data centre and those at Nominet. Nominet’s systems are going to be the slowest part of the system, so be careful what the time of day you test!
  • Sending DAC query 0.0015ms
  • Receiving DAC query 0.0020ms
  • Sending EPP Request 0.05ms
  • Receiving EPP Request 60ms
  • From drop notification to send EPP Request 0.0002ms

Receiving the response back from the EPP is slow. I can only imagine their server is a) under load and b) their XML parsing and writing is probably not optimised. There is also a delay on the EPP communication due to the secure socket layer, so encryption is important here.

Servers – Good Network

The golden 2ms from Nominet. I have so far found it hard to be that slow, my DAC send and receive is 350 ticks. I have read this a lot, services boasting about being close to Nominet. Based on my tests, some network monitoring and the above timings Nominet’s servers and coding is your barrier. That is not to say you shouldn’t aim to buy or rent a server on a good network.

Servers – High Spec

You don’t need to high spec machine. Depending on how it is written, your code will probably only run 4 to 6 threads. I’m running a Windows 2008 Quad Core server with 2GB ram and an 80Gb hard drive. Any more would be a waste.

Servers – Only Run Essentials

Only run services that are required, turn everything else off. You don’t want your operating system starting threads the take priority over yours.

Optimising your code and keep track

Keep tweaking your code and never settle for working. I spent one hour rewriting the EPP socket and managed half communication time. Compress data. Remove variables and method calls that are not necessary. Keep yourself connected. Log your transactions, code executions but more importantly your exceptions. Recover from failure; no one likes a site down SMS at 3am! Remember to turn your logging off when live.

Finally are you feeling lucky?

If you base your calculations someone’s system EPP request send taking 5ms (which is slow but possible) you are only as good as your last loop. If your scan intervals are every 200ms and the domain hasn’t dropped you have 199ms before the next check. That’s a long time for other systems to have checked before that next check. Too long! Even at the maximum 60ms intervals, you’ll probably still miss the domain if it drops between scans. It’s all about luck, you have to hope your system pings just at the right time.

I don’t have time tonight but I could also talk about strategy - 60ms, 200ms, multi-checks, blasting, etc. Probably open that one for discussion.
gareth_brown is offline  
Old 11-01-2011, 09:27:02 PM     #2 (permalink)

 
Join Date: Jan 2008
Location: Birmingham
Posts: 583
brum has a reputation beyond reputebrum has a reputation beyond reputebrum has a reputation beyond reputebrum has a reputation beyond reputebrum has a reputation beyond reputebrum has a reputation beyond reputebrum has a reputation beyond reputebrum has a reputation beyond reputebrum has a reputation beyond reputebrum has a reputation beyond reputebrum has a reputation beyond repute

What a great post good luck gareth and all the best hope u get it all working soon
brum is offline  
Old 11-01-2011, 10:14:27 PM     #3 (permalink)

 
Join Date: May 2007
Posts: 853
stevebrowne has a reputation beyond reputestevebrowne has a reputation beyond reputestevebrowne has a reputation beyond reputestevebrowne has a reputation beyond reputestevebrowne has a reputation beyond reputestevebrowne has a reputation beyond reputestevebrowne has a reputation beyond reputestevebrowne has a reputation beyond reputestevebrowne has a reputation beyond reputestevebrowne has a reputation beyond reputestevebrowne has a reputation beyond repute

good post I should dust off my catching stuff again.
stevebrowne is offline  
Old 11-01-2011, 10:38:51 PM     #4 (permalink)

 
dotNetFreak's Avatar
 
Join Date: Jul 2009
Posts: 1,411
dotNetFreak has a reputation beyond reputedotNetFreak has a reputation beyond reputedotNetFreak has a reputation beyond reputedotNetFreak has a reputation beyond reputedotNetFreak has a reputation beyond reputedotNetFreak has a reputation beyond reputedotNetFreak has a reputation beyond reputedotNetFreak has a reputation beyond reputedotNetFreak has a reputation beyond reputedotNetFreak has a reputation beyond reputedotNetFreak has a reputation beyond repute
Classified Rating: 100% (1)

Domain Trader Rating:
(100% / 125)
Very interesting post - Thanks for sharing!

Quote:
Originally Posted by gareth_brown View Post
The golden 2ms from Nominet. I have so far found it hard to be that slow, my DAC send and receive is 350 ticks.
Do you mean:

Start Timer -> Send Query -> Read Response -> End Timer

= 0.00350ms?

If so, sorry, but I think your StopWatch class is broken
dotNetFreak is offline  
Old 11-01-2011, 10:55:42 PM     #5 (permalink)
Junior Member
 
Join Date: Dec 2010
Location: Headcorn, Kent
Posts: 28
gareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond repute

Nothing would surprise me when working with MS products. No, you are right it would be impossible for it to send and receive that fast. The timings are based on the time the data is started to be received. As mentioned above, the check at Nominet can take a few milliseconds depending on the time of day.

I also found a really interesting trick that speeds up Nominet's DAC by about 20% but couldn't end up using it. I wasn't sure if it was a fluke, so I ran two connections and tested 200,000 times on each.
gareth_brown is offline  
Old 11-01-2011, 11:44:25 PM     #6 (permalink)

 
Join Date: May 2007
Posts: 1,148
monaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond repute

The basics are easy - just simple network port IO, but as you say, the timings are the fun part and how you address the issue of when to poll and at what frequency. From experience, just when you think you have a pattern to work with, the next drop blows away that pattern.

Your server seems very high spec for the task, perhaps try porting to a Linux system as you can generally build a custom kernel with much more control over what you can switch off. The code is going to be in an idle "wait state" for most of the time. Don't forget a decent firewall as those nasty little hackers trying to break into your box will take valuable process time.

Where are you getting your "golden 2ms from Nominet" figure from? I'm seeing more than 2ms between some hops inside Nominet so I presume you are referring to time to the border router?
__________________
Alex Monaghan - Drop Catch & Drop Lists - PM for details
Online Accounting|Pine Furniture|Barbie
monaghan is offline  
Old 12-01-2011, 12:09:03 AM     #7 (permalink)
Junior Member
 
Join Date: Dec 2010
Location: Headcorn, Kent
Posts: 28
gareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond reputegareth_brown has a reputation beyond repute

The "golden 2ms from Nominet" are figures quoted by drop catch services. Because no one talks about their scripts its difficult to know what to expect with regards to timings. My point at the bottom is, it doesn't really matter. You either get there before someone else or you don't, with so many milliseconds of gap between each check 'how fast is mine' really doesn't matter. Of course if it takes a 1 second, build the create command, connect to the epp server and send the request you could be struggling!

Linux isn't my bag and for something that is currently a little personal project i'm not going to worry if i'm a millisecond or two slower. I am sure with 356 days in a year I should get lucky one day
gareth_brown is offline  
Old 12-01-2011, 07:16:13 AM     #8 (permalink)

 
Join Date: May 2007
Posts: 1,148
monaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond reputemonaghan has a reputation beyond repute

Luck is a big part of the process

My first catch system was in C# and sat much further from Nominet than I am now it used the Automaton (long before EPP was available) and it did all right for a 1st bash.

Keep tweaking and tweaking and you'll get there, I've had 2 LLL.co.uk's so far (not with the C# code though) so it is possible to beat "the big boys" if you keep at it. There are a lot more catchers today than when I built my first system, so you need to find something that the others haven't got.
__________________
Alex Monaghan - Drop Catch & Drop Lists - PM for details
Online Accounting|Pine Furniture|Barbie
monaghan is offline  
Old 12-01-2011, 08:51:07 AM     #9 (permalink)

 
newpbc's Avatar
 
Join Date: Feb 2010
Location: Wirral - UK
Posts: 994
newpbc has a reputation beyond reputenewpbc has a reputation beyond reputenewpbc has a reputation beyond reputenewpbc has a reputation beyond reputenewpbc has a reputation beyond reputenewpbc has a reputation beyond reputenewpbc has a reputation beyond reputenewpbc has a reputation beyond reputenewpbc has a reputation beyond reputenewpbc has a reputation beyond reputenewpbc has a reputation beyond repute

Thanks gareth great post gona look into geting my own tag sometime this year. how much would you say you've spent so far geting set up
__________________
Laterooms Wordpress Solution |
newpbc is offline  
Old 12-01-2011, 09:11:20 AM     #10 (permalink)

 
Join Date: Dec 2007
Posts: 123
GlasgowBob has a brilliant futureGlasgowBob has a brilliant futureGlasgowBob has a brilliant futureGlasgowBob has a brilliant futureGlasgowBob has a brilliant futureGlasgowBob has a brilliant futureGlasgowBob has a brilliant futureGlasgowBob has a brilliant futureGlasgowBob has a brilliant futureGlasgowBob has a brilliant futureGlasgowBob has a brilliant future

Great post Gareth, many thanks for sharing your experience getting set up.

I am considering getting my own tag as well this year. Would you say the administrative process with nominet is reasonably straight forward?
GlasgowBob is offline  
Closed Thread



Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Domain Name Community Replies Last Post
drop catching script / system needed L-H Services Wanted 12 09-08-2006 09:07:42 PM

Domain Sponsor 2


All times are GMT. The time now is 11:48:42 PM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0 RC 2
All content on Acorn Domains is member generated and is not moderated before posting. All content is viewed and used by you at your own risk and AD does not warrant the accuracy or reliability of any of the information. The views expressed are those of the individual contributors and not necessarily those of AD. Please contact us to report any issues or send a PM to "Admin".