{"id":193,"date":"2010-10-27T11:24:00","date_gmt":"2010-10-27T09:24:00","guid":{"rendered":"http:\/\/beta.expertosenti.com\/2010\/03\/metricas-del-tiempo-de-carga-de-pagina-gratis\/"},"modified":"2017-04-24T16:48:45","modified_gmt":"2017-04-24T14:48:45","slug":"metricas-del-tiempo-de-carga-de-pagina-gratis","status":"publish","type":"post","link":"https:\/\/www.xpnti.net\/en\/metricas-del-tiempo-de-carga-de-pagina-gratis\/","title":{"rendered":"M\u00e9tricas del tiempo de carga de p\u00e1gina &#8220;gratis&#8221;"},"content":{"rendered":"<strong>UPDATED: <\/strong>Script con opci\u00f3n para usarse con GA as\u00edncrono<\/p>\n<p><strong>UPDATED (2011\/5\/8):<\/strong>\u00a0Google ya lo ofrece de serie&#8230; <a href=\"http:\/\/www.google.com\/support\/analyticshelp\/bin\/answer.py?hl=en&amp;answer=1205784&amp;topic=1120718\">http:\/\/www.google.com\/support\/analyticshelp\/bin\/answer.py?hl=en&amp;answer=1205784&amp;topic=1120718<\/a><\/p>\n<p>Buenas de nuevo\u00a1!<\/p>\n<p>Una de las formas que estamos utilizando para dar precio a los <strong>servicios de mejora de rendimiento<\/strong> en aplicaciones Web es muy simple y a la vez te define el ROI de buenas a primeras, aunque esto si, el proceso de ponernos de acuerdo es un poco m\u00e1s largo. Pero es que soy de la opini\u00f3n, que mejor un cliente contento que recibe por lo que paga y ha estado de acuerdo cuando ten\u00eda la posici\u00f3n de fuerza, que no un cliente que paga (en principio todo el mundo asume sus compromisos) pero no est\u00e1s satisfecho con el resultado del trabajo realizado<\/p>\n<p>As\u00ed que la t\u00edpica oferta acaba con una propuesta del estilo:<\/p>\n<ul>\n<li>Si conseguimos X% de mejora -&gt; son X&#8217; \u20ac<\/li>\n<li>Si conseguimos Y% de mejora -&gt; son Y&#8217; \u20ac<\/li>\n<li>Si conseguimos Z% de mejora -&gt; son Z&#8217; \u20ac<\/li>\n<\/ul>\n<p>Hasta aqu\u00ed todo bien, pero de d\u00f3nde partimos, c\u00f3mo establecemos una l\u00ednea base que las dos partes estemos de acuerdo, pues buscando un tercero que audite&#8230; y os preguntareis, \u00bfesto no ser\u00e1 car\u00edsimo?<\/p>\n<p>Pues no, con un poco de Javascript y Google Analytics tenemos informaci\u00f3n del tiempo de carga (que no de generaci\u00f3n) de cada p\u00e1gina para todos los usuarios, con todos sus CSS, JS,im\u00e1genes,etc&#8230;<\/p>\n<p><span style=\"font-family: monospace; font-size: 11px;\"><br \/>\n<\/span><\/p>\n<pre class=\"brush:js\">var plstart = new Date();\r\n\r\nwindow.onload = function() {\r\n    var plend = new Date();\r\n    var plload = plend.getTime() - plstart.getTime();\r\n    \/\/ determine the thresholds\r\n    if (plload &lt; 1000)\r\n    lc = \"Very Fast\";\r\n    else if (plload &lt; 3000)\r\n    lc = \"Fast\";\r\n    else if (plload &lt; 5000)\r\n    lc = \"Medium\";\r\n    else if (plload &lt; 10000)\r\n    lc = \"Sluggish\";\r\n    else if (plload &lt; 20000)\r\n    lc = \"Slow\";\r\n    else\r\n    lc = \"Very Slow\";\r\n    var fn = document.location.pathname;\r\n    if (document.location.search)\r\n    fn += document.location.search;\r\n    try {\r\n        \/\/ Sincrono \/\/ pageTracker._trackEvent(\"Page Load\", lc + \" Loading Pages\", fn, Math.round(plload \/ 1000));\r\n        \/\/ Asincrono \/\/ _gaq.push(['_trackEvent', 'Page Load', lc + ' Loading Pages', fn, Math.round(plload \/ 1000)]);\r\n    }\r\n    catch (err) {\r\n    }\r\n}<\/pre>\n<p>Lo que nos acaba dando los resultados de los tiempos por cada visita a cada p\u00e1gina y los podemos explotar de varias formas. Por ejemplo aqu\u00ed se muestra una gr\u00e1fica de la relaci\u00f3n entre Velocidad de conexi\u00f3n y continente con su media de tiempo de descarga<\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a style=\"margin-left: 1em; margin-right: 1em;\" href=\"https:\/\/3.bp.blogspot.com\/_l_7jiNxwrPk\/S7DiFhqayHI\/AAAAAAAAAw0\/tYVqWacD3y4\/s1600\/captura_GA_perf_2.png\"><img loading=\"lazy\" src=\"https:\/\/3.bp.blogspot.com\/_l_7jiNxwrPk\/S7DiFhqayHI\/AAAAAAAAAw0\/tYVqWacD3y4\/s640\/captura_GA_perf_2.png\" border=\"0\" alt=\"\" width=\"640\" height=\"106\" \/><\/a><\/div>\n<p>O los tiempos de carga totales por p\u00e1gina, los datos son los de este Blog y es normal que la \/ donde se muestran casi todos los art\u00edculos tarde m\u00e1s en cargar que s\u00f3lo un art\u00edculo en concreto<\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a style=\"margin-left: 1em; margin-right: 1em;\" href=\"https:\/\/2.bp.blogspot.com\/_l_7jiNxwrPk\/S7DhEsMt7sI\/AAAAAAAAAws\/wlw1SKdmbpM\/s1600\/captura_GA_perf.png\"><img loading=\"lazy\" src=\"https:\/\/2.bp.blogspot.com\/_l_7jiNxwrPk\/S7DhEsMt7sI\/AAAAAAAAAws\/wlw1SKdmbpM\/s640\/captura_GA_perf.png\" border=\"0\" alt=\"\" width=\"640\" height=\"160\" \/><\/a><\/div>\n<p>As\u00ed que ya veis con poco coste (o CERO)\u00a0pod\u00e9is\u00a0tener informaci\u00f3n de c\u00f3mo se comporta vuestra aplicaci\u00f3n con toda la potencia de segmentaci\u00f3n que aporta Google Analytics<\/p>\n<p>Y c\u00f3mo al Cesar lo que es del Cesar,\u00a0ten\u00e9is\u00a0m\u00e1s informaci\u00f3n en el<a href=\"http:\/\/www.panalysis.com\/tracking-webpage-load-times.php\"> origen del script<\/a><\/p>\n<p>Saludos y hasta la siguiente<\/p>\n<p><strong>UPDATE: <\/strong>En el mismo momento que estaba escribiendo este post, Picasa, el repositorio de\u00a0im\u00e1genes\u00a0de Blogger estaba teniendo problemas\u00a0<a href=\"http:\/\/status.blogger.com\/\">http:\/\/status.blogger.com\/<\/a>, as\u00ed que los que vinisteis a leer el art\u00edculo os recibimos con errores y tiempo de carga excesivo. Aqu\u00ed\u00a0pod\u00e9is\u00a0ver la diferencia que ha provocado el problema en la carga de\u00a0im\u00e1genes\u00a0externas a la experiencia del usuario<\/p>\n<div class=\"separator\" style=\"clear: both; text-align: center;\"><a style=\"margin-left: 1em; margin-right: 1em;\" href=\"https:\/\/2.bp.blogspot.com\/_l_7jiNxwrPk\/S7MveCNEunI\/AAAAAAAAAw8\/0F-HYpEIS2M\/s1600\/captura_GA_perf_picasa_fail.png\"><img loading=\"lazy\" src=\"https:\/\/2.bp.blogspot.com\/_l_7jiNxwrPk\/S7MveCNEunI\/AAAAAAAAAw8\/0F-HYpEIS2M\/s640\/captura_GA_perf_picasa_fail.png\" border=\"0\" alt=\"\" width=\"640\" height=\"154\" \/><\/a><\/div>","protected":false},"excerpt":{"rendered":"<p>UPDATED: Script con opci\u00f3n para usarse con GA as\u00edncrono UPDATED (2011\/5\/8):\u00a0Google ya lo ofrece de serie&#8230; http:\/\/www.google.com\/support\/analyticshelp\/bin\/answer.py?hl=en&amp;answer=1205784&amp;topic=1120718 Buenas de nuevo\u00a1! Una de las formas que estamos utilizando para dar precio a los servicios de mejora de rendimiento en aplicaciones Web es muy simple y a la vez te define el ROI de buenas a primeras,<a href=\"https:\/\/www.xpnti.net\/en\/metricas-del-tiempo-de-carga-de-pagina-gratis\/\">[&#8230;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[37,18,38],"tags":[],"_links":{"self":[{"href":"https:\/\/www.xpnti.net\/en\/wp-json\/wp\/v2\/posts\/193"}],"collection":[{"href":"https:\/\/www.xpnti.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.xpnti.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.xpnti.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.xpnti.net\/en\/wp-json\/wp\/v2\/comments?post=193"}],"version-history":[{"count":2,"href":"https:\/\/www.xpnti.net\/en\/wp-json\/wp\/v2\/posts\/193\/revisions"}],"predecessor-version":[{"id":1965,"href":"https:\/\/www.xpnti.net\/en\/wp-json\/wp\/v2\/posts\/193\/revisions\/1965"}],"wp:attachment":[{"href":"https:\/\/www.xpnti.net\/en\/wp-json\/wp\/v2\/media?parent=193"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.xpnti.net\/en\/wp-json\/wp\/v2\/categories?post=193"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.xpnti.net\/en\/wp-json\/wp\/v2\/tags?post=193"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}