KNOWNHOST WIKI

User Tools

Site Tools


general:how-to-choose-the-best-datacenter

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
general:how-to-choose-the-best-datacenter [2019/10/11 09:01]
Karson N.
general:how-to-choose-the-best-datacenter [2020/06/02 15:25] (current)
Karson N.
Line 1: Line 1:
 ====== How To Choose The Best Datacenter Location For Your Server ====== ====== How To Choose The Best Datacenter Location For Your Server ======
- 
  
 First of all, who is your audience? Where are they located geographically? If you are located in the same location as your target audience, or you have access to a server in that location, then there are tools that can help you make the right choice. To determine which location is best, you can use the following information to test the ping, traceroute, and download times of each data center.  ((https://www.knownhost.com/network.html#europe)) First of all, who is your audience? Where are they located geographically? If you are located in the same location as your target audience, or you have access to a server in that location, then there are tools that can help you make the right choice. To determine which location is best, you can use the following information to test the ping, traceroute, and download times of each data center.  ((https://www.knownhost.com/network.html#europe))
Line 6: Line 5:
  ((https://www.knownhost.com/network.html#east))  ((https://www.knownhost.com/network.html#east))
  
-^ Washington (West Coast Datacenter)  Texas (Central Data Center)  ^ Maryland (East Coast Data Center)  ^ Amsterdam (European Data Center)  +^ Washington (West Coast Datacenter)                  Atlanta (Primary Data Center)                                          ^ Amsterdam (European Data Center)                      
-| 67.222.8.60                         67.222.0.24                  | 162.255.162.200                    | 209.42.192.35                     +''67.222.8.60''                                     ''170.249.238.168''                                                    ''209.42.192.35''                                     
-| http://67.222.8.60/test.bin         http://67.222.0.24/test.bin  http://162.255.162.200/test.bin    | http://209.42.192.35/test.bin     |+[[http://67.222.8.60/test.bin|Download test file]]  [[https://lg.atl.knownhost.com/static/100MB.test|Download test file]]  | [[http://209.42.192.35/test.bin|Download test file]]  |
  
 If you are testing from a cPanel server, then you may need to enable traceroute in that server via WHM >> Home »Security Center »Traceroute Enable/Disable. ((https://documentation.cpanel.net/display/70Docs/Traceroute+Enable+Disable)) The following indicates a server with Traceroute enabled.  If you are testing from a cPanel server, then you may need to enable traceroute in that server via WHM >> Home »Security Center »Traceroute Enable/Disable. ((https://documentation.cpanel.net/display/70Docs/Traceroute+Enable+Disable)) The following indicates a server with Traceroute enabled. 
Line 14: Line 13:
 {{:general:enable-disable-traceroute.png?nolink&1200|}} {{:general:enable-disable-traceroute.png?nolink&1200|}}
  
 +\\
 ===== Traceroute/Tracert ===== ===== Traceroute/Tracert =====
  
 Traceroute is a network diagnostic tool that shows the path packets take from one location to another. It measures transit time and delays of packets across the network. Each successive host in transit is called a hop, and the cumulative time it takes to transverse each of these to make the connection to the destination is the total time required to establish the connection from the source to the destination. This tool can be useful in troubleshooting firewall blocks and other networking issues.  Traceroute is a network diagnostic tool that shows the path packets take from one location to another. It measures transit time and delays of packets across the network. Each successive host in transit is called a hop, and the cumulative time it takes to transverse each of these to make the connection to the destination is the total time required to establish the connection from the source to the destination. This tool can be useful in troubleshooting firewall blocks and other networking issues. 
  
-On Unix-like systems traceroute is available as a command line tool. Simply access your command line from the location that you want to test from, and then run the traceroute command. In the following, example.com represents the target to test.  +On Unix-like systems ''traceroute'' is available as a command line tool. Simply access your command line from the location that you want to test from, and then run the traceroute command. In the following, ''example.com'' represents the target to test.  
 +<code bash>
   traceroute example.com   traceroute example.com
 +</code>
  
-If you are testing the Maryland location, then you will use the following command:+If you are testing the Atlanta location, then you will use the following command: 
 +<code bash> 
 +  traceroute 170.249.238.168  
 +</code>
  
-  traceroute 162.255.162.200 +The successful output will resemble the following((shown below is an old test to our former Baltimore location)):
-   +
-The successful output will resemble the following:+
  
 {{:general:traceroute-output.png?nolink&1200|}} {{:general:traceroute-output.png?nolink&1200|}}
  
-On Microsoft Windows, it is named tracert and can be accessed via Windows Start >> Command Prompt.  If you are using macOS, you can access traceroute via its Network Utilities. ((https://documentation.cpanel.net/display/CKB/How+to+Run+the+traceroute+and+ping+Commands#79b75aec5bf34e7cac0ffb79beae1e54)) ((https://support.apple.com/en-us/HT202790))+On Microsoft Windows, it is named ''tracert'' and can be accessed via Windows Start >> Command Prompt.  If you are using macOS, you can access ''traceroute'' via its Network Utilities. ((https://documentation.cpanel.net/display/CKB/How+to+Run+the+traceroute+and+ping+Commands#79b75aec5bf34e7cac0ffb79beae1e54)) ((https://support.apple.com/en-us/HT202790))
  
 +\\
 ===== Ping ===== ===== Ping =====
  
-Ping is great for detecting packet loss when troubleshooting a network connection. Ping operates by sending Internet Control Message Protocol echo request packets to the target host and waiting for an ICMP echo. A Statistical summary of the results typically includes the minimum, maximum, the mean round-trip times, and standard deviation of the mean. You can see how this can be utilized to test each location. +**ping** is great for detecting packet loss when troubleshooting a network connection. Ping operates by sending Internet Control Message Protocol echo request packets to the target host and waiting for an ICMP echo. A Statistical summary of the results typically includes the minimum, maximum, the mean round-trip times, and standard deviation of the mean. You can see how this can be utilized to test each location. 
  
 This command is available on unix-like systems via the command line and on Windows via Windows Start >> Command Prompt.  If you are using macOS, you can access ping via its Network Utilities.  ((https://documentation.cpanel.net/display/CKB/How+to+Run+the+traceroute+and+ping+Commands#79b75aec5bf34e7cac0ffb79beae1e54)) ((https://support.apple.com/en-us/HT202790)) This command is available on unix-like systems via the command line and on Windows via Windows Start >> Command Prompt.  If you are using macOS, you can access ping via its Network Utilities.  ((https://documentation.cpanel.net/display/CKB/How+to+Run+the+traceroute+and+ping+Commands#79b75aec5bf34e7cac0ffb79beae1e54)) ((https://support.apple.com/en-us/HT202790))
Line 40: Line 43:
 {{:general:pingoutput.png?nolink&700|}} {{:general:pingoutput.png?nolink&700|}}
  
 +\\
 ===== Download Speed ===== ===== Download Speed =====
  
-If you are familiar with the command line, there are several commands one can use to test how long it takes for files to be retrieved from these servers to your location. Two of these commands would be //wget// and //curl//. To use wget for a quick overview of the amount of total time required to retrieve the file, you would simply enter the command followed by the location of the file you want to download, like so:+If you are familiar with the command line, there are several commands one can use to test how long it takes for files to be retrieved from these servers to your location. Two of these commands would be ''wget'' and ''curl''. To use ''wget'' for a quick overview of the amount of total time required to retrieve the file, you would simply enter the command followed by the location of the file you want to download, like so:
  
 For Linux: For Linux:
 +<code bash>
   wget -O /dev/null file   wget -O /dev/null file
 +</code>
  
 For Windows: For Windows:
 +<code>
   wget -O NUL file   wget -O NUL file
 +</code>
  
-You will need to replace the //file// with the actual URL of the file that is being tested. This can be found by left-clicking on the "Download Test File" link in the Knownhost file links above and then selecting the option to copy the link location. You will then replace the file with the link location you just copied. Here is the result of my test to the Texas location:+You will need to replace the //file// with the actual URL of the file that is being tested. This can be found by left-clicking on the "Download Test File" link in the Knownhost file links above and then selecting the option to copy the link location. You will then replace the file with the link location you just copied. Here is the result of test to the former Texas location:
  
 {{:general:wgetresultstx.png?nolink&1200|}} {{:general:wgetresultstx.png?nolink&1200|}}
  
  
-If you were to test the download speed thoroughly, curl is a great option. Curl allows for making a custom file to format your output. The options that you may be most interested in using when testing download speed are the following:+If you were to test the download speed thoroughly, ''curl'' is a great option. Curl allows for making a custom file to format your output. The options that you may be most interested in using when testing download speed are the following:
  
-  * speed_download The average download speed that curl measured for the complete download. Bytes per second. +  * ''speed_download'' The average download speed that curl measured for the complete download. Bytes per second. 
-  *time_connect The time, in seconds, it took from the start until the TCP connect to the remote host (or proxy) was completed. +  * ''time_connect'' The time, in seconds, it took from the start until the TCP connect to the remote host (or proxy) was completed. 
-  *time_total The total time, in seconds, that the full operation lasted.+  * ''time_total'' The total time, in seconds, that the full operation lasted.
  
 For more information about how to construct to the custom format file to print only these options, you can refer to the manpage here: For more information about how to construct to the custom format file to print only these options, you can refer to the manpage here:
  
-https://curl.haxx.se/docs/manpage.html+((https://curl.haxx.se/docs/manpage.html)) 
 +[[https://curl.haxx.se/docs/manpage.html| curl man page]]
  
 If you were to test using the download link for Amsterdam, you would first create the custom file like so: If you were to test using the download link for Amsterdam, you would first create the custom file like so:
 +<code>
   nano curl-format.txt   nano curl-format.txt
 +</code>
  
 Add the following to the file and save: Add the following to the file and save:
 +<code>
   speed_download: %{speed_download}\n   speed_download: %{speed_download}\n
   time_connect: %{time_connect}\n   time_connect: %{time_connect}\n
   time_total:  %{time_total}\n   time_total:  %{time_total}\n
 +</code>
  
 Next, you would construct your curl command as follows: Next, you would construct your curl command as follows:
 +<code>
   curl -w "@curl-format.txt" -o /dev/null -s http://209.42.192.35/test.bin   curl -w "@curl-format.txt" -o /dev/null -s http://209.42.192.35/test.bin
 +</code>
  
 Here are the results of the location that is geographically furthest away from me: Here are the results of the location that is geographically furthest away from me:
Line 85: Line 97:
 That's not bad for the connection having to cross the ocean and travel to the other side of the globe! That's not bad for the connection having to cross the ocean and travel to the other side of the globe!
  
 +\\
 ===== Conclusion ===== ===== Conclusion =====
  
 Now that you are familiar with different tools for testing the network, you can test the hops, imcps, and seconds from your visitor's location to your server. All that needs to be done now is to test all available locations using these methods, compare, and then make a determination of the best datacenter for you and your clients. Most of the time, it is going to be the datacenter geographically closest to you. With these tools, you can ensure you are making the right choice rather than following this generalization, though. You now know how to test the network and determine the best datacenter location for you and your users. :-) Now that you are familiar with different tools for testing the network, you can test the hops, imcps, and seconds from your visitor's location to your server. All that needs to be done now is to test all available locations using these methods, compare, and then make a determination of the best datacenter for you and your clients. Most of the time, it is going to be the datacenter geographically closest to you. With these tools, you can ensure you are making the right choice rather than following this generalization, though. You now know how to test the network and determine the best datacenter location for you and your users. :-)
  
general/how-to-choose-the-best-datacenter.1570802476.txt.gz · Last modified: 2019/10/11 09:01 by Karson N.