{"id":232881,"date":"2023-01-30T17:35:00","date_gmt":"2023-01-30T14:35:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232881"},"modified":"2023-01-30T17:35:32","modified_gmt":"2023-01-30T14:35:32","slug":"kuinka-tehdae-ping-testejae-globaaleille-palvelimille-php-n-avulla","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/fi\/kuinka-tehdae-ping-testejae-globaaleille-palvelimille-php-n-avulla\/","title":{"rendered":"Kuinka tehd\u00e4 ping-testej\u00e4 globaaleille palvelimille PHP:n avulla?"},"content":{"rendered":"\n<p><a href=\"https:\/\/helloacm.com\/some-thoughts-on-vps-v-s-dedicated-server\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Harkitsen \u00e4skett\u00e4in kolmannen VPS-palvelimeni<\/a> ostamista, ja ping-nopeus on yksi huolenaiheista. Minulla on suhteellisen korkea ping (noin 250 ms) Isosta-Britanniasta Singaporessa sijaitsevaan palvelimeen, mik\u00e4 tekee komentojen kirjoittamisesta SSH-konsolissa hieman ep\u00e4miellytt\u00e4v\u00e4\u00e4.<\/p>\n<p>Onneksi jotkut VPS-palveluntarjoajat, kuten <a href=\"https:\/\/helloacm.com\/how-to-get-notified-when-vultr-balance-is-falling-below-threshold\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Vultr<\/a>, tarjoavat <a href=\"https:\/\/helloacm.com\/what-is-my-ip\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">IP-osoitteet<\/a> 15 sijainnilleen, joten voit testata ping-nopeutta. Kuinka tehd\u00e4 t\u00e4m\u00e4 automaattisesti kirjoittamatta <a href=\"https:\/\/helloacm.com\/ping\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ping<\/a> &#8211; komentoa joka kerta?<\/p>\n<p>vultr-palvelinsijainnit maailmanlaajuisesti<\/p>\n<p>Voit l\u00f6yt\u00e4\u00e4 esimerkki <a href=\"https:\/\/wordpress.mediadoma.com\/fi\/php-skripti-wordpress-kansioiden-suojaamiseksi-asettamalla-oikeat-tiedostooikeudet\/\" title=\"PHP-skriptin\">PHP-skriptin<\/a> t\u00e4t\u00e4 varten:<\/p>\n<pre><code>&lt;?php\n\/\/ &lt;a class=\"vglnk\" target=\"_blank\" href=\"https:\/\/helloacm.com\/how-to-make-ping-tests-to-global-servers-using-php\/\" rel=\"nofollow\"&gt;&lt;span&gt;https&lt;\/span&gt;&lt;span&gt;:\/\/&lt;\/span&gt;&lt;span&gt;helloacm&lt;\/span&gt;&lt;span&gt;.&lt;\/span&gt;&lt;span&gt;com&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;span&gt;how&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;to&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;make&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;ping&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;tests&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;to&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;global&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;servers&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;using&lt;\/span&gt;&lt;span&gt;-&lt;\/span&gt;&lt;span&gt;php&lt;\/span&gt;&lt;span&gt;\/&lt;\/span&gt;&lt;\/a&gt;\n\u00a0\n\/\/ server name and their IP\n$server = array(\n\u00a0 \"Frankfurt DE\" =&gt; \"108.61.210.117\",\n\u00a0 \"Amsterdam, NL\" =&gt; \"108.61.198.102\",\n\u00a0 \"Paris, France\" =&gt; \"108.61.209.127\",\n\u00a0 \"London, UK\" =&gt; \"108.61.196.101\",\n\u00a0 \"Tokyo, Japan\" =&gt; \"108.61.201.151\",\n\u00a0 \"Singapore\" =&gt; \"45.32.100.168\",\n\u00a0 \"New York (NJ)\" =&gt; \"108.61.149.182\",\n\u00a0 \"Chicago, Illinois\" =&gt; \"107.191.51.12\",\n\u00a0 \"Seattle, Washington\" =&gt; \"108.61.194.105\",\n\u00a0 \"Atlanta, Georgia\" =&gt; \"108.61.193.166\",\n\u00a0 \"Silicon Valley, California\" =&gt; \"104.156.230.107\",\n\u00a0 \"Dallas, Texas\" =&gt; \"108.61.224.175\",\n\u00a0 \"Miami, Florida\" =&gt; \"104.156.244.232\",\n\u00a0 \"Los Angeles, California\" =&gt; \"108.61.219.200\",\n\u00a0 \"Sydney, Australia\" =&gt; \"108.61.212.117\"\n);\n\u00a0\n\/\/ store sorted results\n$result = array(); \n\u00a0\nforeach ($server as $name =&gt; $ip) {\n\u00a0 \/\/ exec runs the command and capture the last line of output\n\u00a0 $output = exec(\"ping -c 3 $ip\");\n\u00a0 if (preg_match(\"\/rtt min\/avg\/max\/mdev = ([0-9]+.[0-9]+)\/([0-9]+.[0-9]+)\/([0-9]+.[0-9]+)(.*)\/\", $output, $match)) {\n\u00a0 \u00a0 \/\/ calculate the ping as the average of three ms in last line\n\u00a0 \u00a0 $ping = ((float)$match[1] + (float)$match[2] + (float)$match[3]) \/ 3;\n\u00a0 \u00a0 $result[$name] = $ping; \u00a0 \u00a0\n\u00a0 }\n}\n\u00a0\n\/\/ sorted from the smallest ping to highest\nasort($result);\n\u00a0\nforeach ($result as $name =&gt; $ping) {\n\u00a0 echo \"$name - $ping msn\";\n}<\/code><\/pre>\n<p>T\u00e4m\u00e4n k\u00e4tev\u00e4n <a href=\"https:\/\/helloacm.com\/php-script-to-test-crontab\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHP-skriptin<\/a> ydin on k\u00e4ytt\u00e4\u00e4 <strong>exec<\/strong> &#8211; funktiota, joka suorittaa ulkoisen ping-komennon ja palauttaa tulostensa viimeisen rivin.<\/p>\n<pre><code>root@happyukgo:\/var\/www\/vultr$ ping -c 3 127.0.0.1\nPING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.\n64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.039 ms\n64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.041 ms\n64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.038 ms\n\u00a0\n--- 127.0.0.1 ping statistics ---\n3 packets transmitted, 3 received, 0% packet loss, time 1998ms\nrtt min\/avg\/max\/mdev = 0.038\/0.039\/0.041\/0.005 ms<\/code><\/pre>\n<p>T\u00e4m\u00e4n j\u00e4lkeen k\u00e4yt\u00e4mme l\u00e4ht\u00f6merkkijonon perusteella regex-testausohjelmaa <strong>preg_match<\/strong> ja laskemme n\u00e4iden kolmen pingin keskiarvon. Lopuksi lajittelemme taulukon arvojen mukaan. Alla suoritetaan nopeustestej\u00e4 Isosta-Britanniasta, USA:sta ja Singaporesta maailmanlaajuisiin paikkoihin ja on yll\u00e4tt\u00e4v\u00e4\u00e4, ett\u00e4 ping USA:n (East) ja Iso-Britannian v\u00e4lill\u00e4 on alle 80 ms.<\/p>\n<h2>Ping Speeds Rugbysta, Isosta-Britanniasta<\/h2>\n<ol>\n<li>Lontoo, Iso-Britannia \u2013 6,27 ms<\/li>\n<li>Amsterdam, NL \u2013 13,36 ms<\/li>\n<li>Pariisi, Ranska \u2013 13,39 ms<\/li>\n<li>Frankfurt DE \u2013 19,89 ms<\/li>\n<li>New York (NJ) \u2013 78,7 ms<\/li>\n<li>Chicago, Illinois \u2013 92,17 ms<\/li>\n<li>Miami, Florida \u2013 107,27 ms<\/li>\n<li>Dallas, Texas \u2013 117,40 ms<\/li>\n<li>Seattle, Washington \u2013 135,78 ms<\/li>\n<li>Atlanta, Georgia \u2013 139,66 ms<\/li>\n<li>Piilaakso, Kalifornia \u2013 156,32 ms<\/li>\n<li>Los Angeles, Kalifornia \u2013 169,51 ms<\/li>\n<li>Singapore \u2013 191,94 ms<\/li>\n<li>Tokio, Japani \u2013 229,30 ms<\/li>\n<li>Sydney, Australia \u2013 291,34 ms<\/li>\n<\/ol>\n<h2>Ping Speeds New Yorkista, USA:n it\u00e4osasta<\/h2>\n<ol>\n<li>New York (NJ) \u2013 0,36 ms<\/li>\n<li>Atlanta, Georgia \u2013 19,04 ms<\/li>\n<li>Chicago, Illinois \u2013 20,94 ms<\/li>\n<li>Miami, Florida \u2013 32,36 ms<\/li>\n<li>Dallas, Texas \u2013 42,35 ms<\/li>\n<li>Seattle, Washington \u2013 62,0433 ms<\/li>\n<li>Lontoo, Iso-Britannia \u2013 67,52 ms<\/li>\n<li>Los Angeles, Kalifornia \u2013 70,68 ms<\/li>\n<li>Frankfurt DE \u2013 78,54 ms<\/li>\n<li>Pariisi, Ranska \u2013 79,47 ms<\/li>\n<li>Piilaakso, Kalifornia \u2013 79,841 ms<\/li>\n<li>Amsterdam, NL \u2013 80,65 ms<\/li>\n<li>Tokio, Japani \u2013 162,70 ms<\/li>\n<li>Sydney, Australia \u2013 217,58 ms<\/li>\n<li>Singapore \u2013 231,35 ms<\/li>\n<\/ol>\n<h2>Ping Speeds Singaporesta<\/h2>\n<ol>\n<li>Singapore \u2013 0,53 ms<\/li>\n<li>Tokio, Japani \u2013 77,10 ms<\/li>\n<li>Piilaakso, Kalifornia \u2013 170,44 ms<\/li>\n<li>Los Angeles, Kalifornia \u2013 177,97 ms<\/li>\n<li>Frankfurt DE \u2013 182,87 ms<\/li>\n<li>Lontoo, Iso-Britannia \u2013 184,52 ms<\/li>\n<li>Seattle, Washington \u2013 187,12 ms<\/li>\n<li>Sydney, Australia \u2013 189,44 ms<\/li>\n<li>Dallas, Texas \u2013 202,88 ms<\/li>\n<li>Chicago, Illinois \u2013 218,10 ms<\/li>\n<li>New York (NJ) \u2013 229,11 ms<\/li>\n<li>Atlanta, Georgia \u2013 240,88 ms<\/li>\n<li>Miami, Florida \u2013 245,59 ms<\/li>\n<li>Pariisi, Ranska \u2013 256,78 ms<\/li>\n<li>Amsterdam, NL \u2013 326,08 ms<\/li>\n<\/ol>\n<h2>Ping Speeds Vermontista, USA:n l\u00e4nsiosasta<\/h2>\n<ol>\n<li>Piilaakso, Kalifornia \u2013 1,70 ms<\/li>\n<li>Los Angeles, Kalifornia \u2013 8,37 ms<\/li>\n<li>Seattle, Washington \u2013 19,55 ms<\/li>\n<li>Dallas, Texas \u2013 40,36 ms<\/li>\n<li>Chicago, Illinois \u2013 54,36 ms<\/li>\n<li>Atlanta, Georgia \u2013 63,63 ms<\/li>\n<li>New York (NJ) \u2013 74,56 ms<\/li>\n<li>Miami, Florida \u2013 88,70 ms<\/li>\n<li>Tokio, Japani \u2013 109,07 ms<\/li>\n<li>Lontoo, Iso-Britannia \u2013 139,23 ms<\/li>\n<li>Amsterdam, NL \u2013 144,52 ms<\/li>\n<li>Sydney, Australia \u2013 157,04 ms<\/li>\n<li>Pariisi, Ranska \u2013 159,29 ms<\/li>\n<li>Frankfurt DE \u2013 161,55 ms<\/li>\n<li>Singapore \u2013 171,10 ms<\/li>\n<\/ol>\n<h2>Ping Speeds Tokiosta, Japanista<\/h2>\n<ol>\n<li>Tokio, Japani \u2013 1,018 ms<\/li>\n<li>Singapore \u2013 77,32 ms<\/li>\n<li>Seattle, Washington \u2013 84,54 ms<\/li>\n<li>Piilaakso, Kalifornia \u2013 108,94 ms<\/li>\n<li>Los Angeles, Kalifornia \u2013 110,05 ms<\/li>\n<li>Sydney, Australia \u2013 114,74 ms<\/li>\n<li>Chicago, Illinois \u2013 146,85 ms<\/li>\n<li>Dallas, Texas \u2013 155,129 ms<\/li>\n<li>Atlanta, Georgia \u2013 163,17 ms<\/li>\n<li>New York (NJ) \u2013 170,06 ms<\/li>\n<li>Miami, Florida \u2013 174,35 ms<\/li>\n<li>Lontoo, Iso-Britannia \u2013 229,86 ms<\/li>\n<li>Frankfurt DE \u2013 253,58 ms<\/li>\n<li>Amsterdam, NL \u2013 273,022 ms<\/li>\n<li>Pariisi, Ranska \u2013 287,42 ms<\/li>\n<\/ol>\n<p>Voit sitten lis\u00e4t\u00e4 pienen projektin seuraamalla n\u00e4it\u00e4 ping-arvoja p\u00e4ivitt\u00e4in esim. k\u00e4ytt\u00e4m\u00e4ll\u00e4 <a href=\"https:\/\/helloacm.com\/crontab-generator-secure-fast-handy-tool-to-generate-the-crontab-lines\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">crontabia<\/a> ja tallentamalla sen <a href=\"https:\/\/helloacm.com\/forums\/topic\/shell-scripting-database\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">tietokantaan<\/a> \u2026<\/p>\n<p>Voit olettaa, ett\u00e4 ping-nopeus on samanlainen (kaksisuuntainen), jos vaihdat l\u00e4hteen ja kohteen. Huomaa my\u00f6s, ett\u00e4 turvallisuussyist\u00e4 <a href=\"https:\/\/helloacm.com\/why-and-how-to-turn-off-ping-icmp-for-servers\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">sammuta PING-palvelut,<\/a> kun olet iloinen kuullessasi yhteyden nopeuden.<\/p>\n<p>T\u00e4t\u00e4 sivua p\u00e4ivitet\u00e4\u00e4n ep\u00e4s\u00e4\u00e4nn\u00f6llisin v\u00e4liajoin p\u00e4ivitetyill\u00e4 palvelimilla ja ping-nopeudella.<\/p>\n<h3>Aiheeseen liittyv\u00e4t julkaisut<\/h3>\n<ul>\n<li><a href=\"https:\/\/helloacm.com\/a-lite-comparison-between-linode-and-vultr-5-basic-plan-cloud-vps\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Linoden ja Vultrin vertailu<\/a><\/li>\n<li><a href=\"https:\/\/helloacm.com\/milestones\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Verkkotunnuksen historia<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kuinka tehd\u00e4 ping-testej\u00e4 globaaleille palvelimille PHP:n avulla?<\/p>\n","protected":false},"author":1,"featured_media":224094,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[719,895,917,834,843,803,864],"tags":[1166],"class_list":["post-232881","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-kehittaejae","category-koodi","category-muut","category-opas-aloittelijoille","category-opetusohjelmia","category-php-5","category-wordpress-5","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/232881","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/comments?post=232881"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/posts\/232881\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media\/224094"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/media?parent=232881"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/categories?post=232881"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/fi\/wp-json\/wp\/v2\/tags?post=232881"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}