{"id":232865,"date":"2023-01-30T18:02:00","date_gmt":"2023-01-30T15:02:00","guid":{"rendered":"https:\/\/wordpress.mediadoma.com\/?p=232865"},"modified":"2023-01-30T18:04:47","modified_gmt":"2023-01-30T15:04:47","slug":"como-hacer-pruebas-de-ping-a-servidores-globales-usando-php","status":"publish","type":"post","link":"https:\/\/wordpress.mediadoma.com\/es\/como-hacer-pruebas-de-ping-a-servidores-globales-usando-php\/","title":{"rendered":"\u00bfC\u00f3mo hacer pruebas de ping a servidores globales usando PHP?"},"content":{"rendered":"\n<p>Recientemente consider\u00e9 comprar mi tercer <a href=\"https:\/\/helloacm.com\/some-thoughts-on-vps-v-s-dedicated-server\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">servidor VPS<\/a> y la velocidad de ping es una de las preocupaciones. Tengo un ping relativamente alto (alrededor de 250 ms) desde el Reino Unido hasta el servidor ubicado en Singapur, lo que hace que escribir comandos en la consola SSH sea un poco desagradable.<\/p>\n<p>Afortunadamente, algunos proveedores de VPS, <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\">como Vultr<\/a>, proporcionan <a href=\"https:\/\/helloacm.com\/what-is-my-ip\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">direcciones IP<\/a> para sus 15 ubicaciones, por lo que puede probar la velocidad de ping. \u00bfC\u00f3mo hacer esto autom\u00e1ticamente sin escribir el comando <a href=\"https:\/\/helloacm.com\/ping\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">ping cada vez?<\/a><\/p>\n<p>ubicaciones de servidores vultr en todo el mundo<\/p>\n<p><a href=\"https:\/\/wordpress.mediadoma.com\/es\/script-php-para-proteger-las-carpetas-de-wordpress-configurando-los-permisos-de-archivo-correctos\/\" title=\"Puede encontrar un script PHP\">Puede encontrar un script PHP<\/a> de muestra para hacer esto:<\/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>La esencia de este pr\u00e1ctico <a href=\"https:\/\/helloacm.com\/php-script-to-test-crontab\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">script PHP<\/a> es usar la funci\u00f3n <strong>exec<\/strong>, que ejecuta el comando externo ping y devuelve la \u00faltima l\u00ednea de su salida.<\/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>Luego, en funci\u00f3n de la cadena de salida, usamos el probador de expresiones regulares <strong>preg_match<\/strong> y promediamos estos 3 pings. Finalmente, ordenamos la matriz por valores. A continuaci\u00f3n, se realizan las pruebas de velocidad desde el Reino Unido, EE. UU. y Singapur a ubicaciones globales y sorprende que el ping entre EE. UU. (Este) y el Reino Unido sea inferior a 80 ms.<\/p>\n<h2>Velocidades de ping de Rugby, Reino Unido<\/h2>\n<ol>\n<li>Londres, Reino Unido: 6,27 ms<\/li>\n<li>\u00c1msterdam, Pa\u00edses Bajos \u2013 13,36 ms<\/li>\n<li>Par\u00eds, Francia \u2013 13,39 ms<\/li>\n<li>Fr\u00e1ncfort DE \u2013 19,89 ms<\/li>\n<li>Nueva York (Nueva Jersey) \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>Silicon Valley, California: 156,32 ms<\/li>\n<li>Los \u00c1ngeles, California \u2013 169,51 ms<\/li>\n<li>Singapur \u2013 191,94 ms<\/li>\n<li>Tokio, Jap\u00f3n \u2013 229,30 ms<\/li>\n<li>S\u00eddney, Australia: 291,34 ms<\/li>\n<\/ol>\n<h2>Velocidades de ping desde Nueva York, este de EE. UU.<\/h2>\n<ol>\n<li>Nueva York (Nueva Jersey) \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>Londres, Reino Unido \u2013 67,52 ms<\/li>\n<li>Los \u00c1ngeles, California \u2013 70,68 ms<\/li>\n<li>Fr\u00e1ncfort DE \u2013 78,54 ms<\/li>\n<li>Par\u00eds, Francia \u2013 79,47 ms<\/li>\n<li>Silicon Valley, California \u2013 79.841ms<\/li>\n<li>\u00c1msterdam, Pa\u00edses Bajos \u2013 80,65 ms<\/li>\n<li>Tokio, Jap\u00f3n \u2013 162,70 ms<\/li>\n<li>S\u00eddney, Australia: 217,58 ms<\/li>\n<li>Singapur \u2013 231,35 ms<\/li>\n<\/ol>\n<h2>Velocidades de ping desde Singapur<\/h2>\n<ol>\n<li>Singapur: 0,53 ms<\/li>\n<li>Tokio, Jap\u00f3n \u2013 77,10 ms<\/li>\n<li>Silicon Valley, California: 170,44 ms<\/li>\n<li>Los \u00c1ngeles, California \u2013 177,97 ms<\/li>\n<li>Fr\u00e1ncfort DE \u2013 182,87 ms<\/li>\n<li>Londres, Reino Unido: 184,52 ms<\/li>\n<li>Seattle, Washington \u2013 187,12 ms<\/li>\n<li>S\u00eddney, Australia: 189,44 ms<\/li>\n<li>Dallas, Texas \u2013 202,88ms<\/li>\n<li>Chicago, Illinois \u2013 218,10 ms<\/li>\n<li>Nueva York (Nueva Jersey) \u2013 229,11 ms<\/li>\n<li>Atlanta, Georgia \u2013 240,88 ms<\/li>\n<li>Miami, Florida \u2013 245,59ms<\/li>\n<li>Par\u00eds, Francia \u2013 256,78 ms<\/li>\n<li>\u00c1msterdam, Pa\u00edses Bajos: 326,08 ms<\/li>\n<\/ol>\n<h2>Velocidades de ping desde Vermont, oeste de EE. UU.<\/h2>\n<ol>\n<li>Silicon Valley, California \u2013 1,70 ms<\/li>\n<li>Los \u00c1ngeles, California \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>Nueva York (Nueva Jersey) \u2013 74,56 ms<\/li>\n<li>Miami, Florida \u2013 88,70 ms<\/li>\n<li>Tokio, Jap\u00f3n \u2013 109,07 ms<\/li>\n<li>Londres, Reino Unido: 139,23 ms<\/li>\n<li>\u00c1msterdam, Pa\u00edses Bajos \u2013 144,52 ms<\/li>\n<li>S\u00eddney, Australia: 157,04 ms<\/li>\n<li>Par\u00eds, Francia \u2013 159,29 ms<\/li>\n<li>Fr\u00e1ncfort DE \u2013 161,55 ms<\/li>\n<li>Singapur \u2013 171,10 ms<\/li>\n<\/ol>\n<h2>Velocidades de ping de Tokio, Jap\u00f3n<\/h2>\n<ol>\n<li>Tokio, Jap\u00f3n \u2013 1.018 ms<\/li>\n<li>Singapur \u2013 77,32 ms<\/li>\n<li>Seattle, Washington \u2013 84,54 ms<\/li>\n<li>Silicon Valley, California: 108,94 ms<\/li>\n<li>Los \u00c1ngeles, California \u2013 110,05 ms<\/li>\n<li>S\u00eddney, Australia: 114,74 ms<\/li>\n<li>Chicago, Illinois \u2013 146,85 ms<\/li>\n<li>Dallas, Texas \u2013 155.129ms<\/li>\n<li>Atlanta, Georgia \u2013 163,17 ms<\/li>\n<li>Nueva York (Nueva Jersey) \u2013 170,06 ms<\/li>\n<li>Miami, Florida \u2013 174,35ms<\/li>\n<li>Londres, Reino Unido: 229,86 ms<\/li>\n<li>Fr\u00e1ncfort DE \u2013 253,58 ms<\/li>\n<li>\u00c1msterdam, Pa\u00edses Bajos \u2013 273.022 ms<\/li>\n<li>Par\u00eds, Francia \u2013 287,42 ms<\/li>\n<\/ol>\n<p>Luego podr\u00eda agregar un peque\u00f1o proyecto rastreando estos valores de ping d\u00eda a d\u00eda, por ejemplo, usando <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\">crontab<\/a> y almacenarlo en la base de <a href=\"https:\/\/helloacm.com\/forums\/topic\/shell-scripting-database\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">datos<\/a> &#8230;<\/p>\n<p>Podr\u00eda suponer que la velocidad de ping es similar (bidireccional) si intercambia la fuente y el destino. Tambi\u00e9n tenga en cuenta que, por motivos de seguridad, <a href=\"https:\/\/helloacm.com\/why-and-how-to-turn-off-ping-icmp-for-servers\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">apague sus servicios PING<\/a> una vez que est\u00e9 satisfecho con la velocidad de conexi\u00f3n.<\/p>\n<p>Esta p\u00e1gina se actualizar\u00e1 de forma irregular con servidores actualizados y velocidad de ping.<\/p>\n<h3>Art\u00edculos Relacionados<\/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\">Comparaci\u00f3n de Linode y Vultr<\/a><\/li>\n<li><a href=\"https:\/\/helloacm.com\/milestones\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Historial de dominio<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fuente de grabaci\u00f3n:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/helloacm.com\" class=\"external external_icon\">helloacm.com<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfC\u00f3mo hacer pruebas de ping a servidores globales usando PHP?<\/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":[892,716,831,914,800,840,861],"tags":[1172],"class_list":["post-232865","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo","category-desarrollador","category-guia-para-principiantes","category-otro","category-php-2","category-tutoriales","category-wordpress-2","tag-affiai-es"],"_links":{"self":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/232865","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/comments?post=232865"}],"version-history":[{"count":0,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/posts\/232865\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media\/224094"}],"wp:attachment":[{"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/media?parent=232865"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/categories?post=232865"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wordpress.mediadoma.com\/es\/wp-json\/wp\/v2\/tags?post=232865"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}