15. marts 2007 - 18:49
Der er
12 kommentarer og 1 løsning
Måle hvor meget trafik man bruger på sin hjemmesider
Hej, hvordan måler man hvor meget traffik der bliver sendt fra sin side af? Har læst om en dedikeret server som kan tilbyde 100 gb trafik, men hvordan kan jeg finde ud af om mine sider ikke overskrider de 100 gb? På forhånd tak
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
15. marts 2007 - 19:15
#1
Ja.. altså hvis det er din html fra en php-side så kan du gøre det med ob_start() og så gemme det i din mysql for at kunne regne på det.. <?php function callBack_data($strHtml) { $nSize = strlen($strHtml); /* opsamle det i fx. MySQL */ mysql_query("INSERT INTO table1 (size) VALUES ($nSize);"); return $strHtml; } if (version_compare(phpversion(), "4.0.0", ">=")) { ob_start("callBack_data"); } ?> men den tager jo så ikke billeder, html-filer osv..
15. marts 2007 - 19:20
#2
Hvis du så har adgang til .htaccess så kan du smide det her i.. SetHandler application/x-httpd-php php_value auto_prepend_file "/Apache/htdocs/global_include.php" Så smider du script fra Kommentar: sjh 15/03-2007 19:15:18 i global_include.php så tager den det hele med. (Det kræver dog lidt af din server)
15. marts 2007 - 19:35
#3
Ja.. du kan måske også bruge : AddModule mod_status.c AddModule mod_info.c
15. marts 2007 - 19:37
#4
ved status kan du få disse infomationer: Current Time: Thursday, 15-Mar-2007 19:35:49 Rom, normaltid Restart Time: Thursday, 15-Mar-2007 13:20:32 Rom, normaltid Parent Server Generation: 1 Server uptime: 6 hours 15 minutes 17 seconds Total accesses: 167 - Total Traffic: 96 kB .00742 requests/sec - 4 B/second - 588 B/request 1 requests currently being processed, 49 idle servers
15. marts 2007 - 19:37
#5
function callBack_data($strHtml) { Hvor får du $strHtml fra? Og det vil sige trafik måles ved at tælle antal cifre i en HTMl kode? o_O
15. marts 2007 - 19:38
#6
"ved status kan du få disse infomationer: Current Time: Thursday, 15-Mar-2007 19:35:49 Rom, normaltid Restart Time: Thursday, 15-Mar-2007 13:20:32 Rom, normaltid Parent Server Generation: 1 Server uptime: 6 hours 15 minutes 17 seconds Total accesses: 167 - Total Traffic: 96 kB .00742 requests/sec - 4 B/second - 588 B/request 1 requests currently being processed, 49 idle servers" Hvis jeg aktiverer de moduler, hvor kan jeg så se de statistiker?
15. marts 2007 - 19:46
#7
AddModule mod_status.c
.htaccess
<FilesMatch "status$">
SetHandler server-status
</FilesMatch>
.htaccess
opret en fil med navn "status" så tilgår du den med
http://domæne.dk/status Hvor får du $strHtml fra?
det er her -> ob_start("callBack_data"); som udfør funktion og smider det igennem
læs om den her :
http://dk.php.net/ob_start
15. marts 2007 - 19:48
#8
der skal ikke stå noget i filen : "status" den skal bare være der for at du ikke får en fejl.. (404)
15. marts 2007 - 19:51
#9
Sådan. Nu virker det. Men den udskriver ikke noget med trafikken. Den udskriver; "Current Time: Thursday, 15-Mar-2007 19:51:27 Rom, normaltid Restart Time: Thursday, 15-Mar-2007 03:07:40 Rom, normaltid Parent Server Generation: 0 Server uptime: 16 hours 43 minutes 47 seconds 4 requests currently being processed, 246 idle workers " Også en P-et eller andet key..
15. marts 2007 - 19:56
#10
ja jeg må indrømme at jeg ikke ved helt hvordan mod_status.c virker.. men som jeg skriver "..måske også bruge.."
15. marts 2007 - 20:27
#11
Ha ha.. det var nok nemest bare at tilføje en extra log-fil som kun udskriver størrelsen LogFormat "%b" vsize CustomLog logs/size.log vsize <VirtualHost *:80> DocumentRoot /Apache/htdocs/domæne.dk ServerName domæne.dk ServerAlias www.domæne.dk CustomLog logs/domæne.log common LogFormat "%b" vsize CustomLog logs/size.log vsize </VirtualHost> Så kan du tælle dem sammen når du vil...
15. marts 2007 - 20:44
#12
Så kan du tælle dem sammen så: <?php $lines = file("/Apache/logs/size.log"); $total = 0; foreach ($lines as $line) { $total += intval($line); } echo BytesToString($total); function BytesToString($intBytes, $intDecimals = 1) { $arrFormats = array("1152921504606846976" => "EB", "1125899906842624" => "PB", "1099511627776" => "TB", "1073741824" => "GB", "1048576" => "MB", "1024" => "kB"); if($intBytes <= 1024) return (string)$intBytes." byte"; foreach($arrFormats as $intValue => $strName) if(floor($intBytes / $intValue) != 0) return (string)number_format($intBytes / $intValue, $intDecimals, ".", "'")." ".$strName; } ?>
15. marts 2007 - 20:47
#13
så skal du bare huske på den dato, når du starter din test ;)
Vi tilbyder markedets bedste kurser inden for webudvikling