| webdoktor G-Design Websolutions |
Geschrieben am: Do 25.10.2007, 16:22
|
![]() AyomRank 5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 494 Mitglied seit: 16.12.2005 |
Hallo zusammen
Ich habe eine eigene kleine Statistk individuell für mich programmiert. Dort ermittle ich den Hostname des Users anhand der IP mit dem Befehl: gethostbyaddr () Nun funktionierte die Statistik zwar einwandfrei, es ging aber immer 30 Sekunden bis die Seite geladen war bei etwa 300 Benutzer d.h. 300 IP Adressen welche es abfragen musst. Sobald ich den Befehl gethostbyaddr() entfernt habe geht es einwandfrei innert Millisekunden. Ist das ein generelles Problem dieser Funktion? Gibt es evt. eine alternative? Freue mich über Eure Antworten. PS:"Mir ist klar, dass es etwas Zeitbraucht anhand der IP den Hostname ausfindig zu machen - aber gerade 30 Sekunden...?!" Marco |
![]() |
| gregi |
#2 Geschrieben am: Do 25.10.2007, 16:44 (+00:21)
|
![]() AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 59 Mitglied seit: 22.03.2006 |
Ich gehe davon aus, dass es um eine Statistik des Webserver-Logfiles o.ä. geht.
Weshalb fragst du die Hostnamen erst bei der Auswertung ab? Ich würde vorschlagen bei jedem Besuchen der Webeite den Hostnamen gleich abzufragen und in einer Datenbank zu speichern. Für die Statistik musst du dann nur noch die Datenbank abfragen. |
![]() |
| profo |
#3 Geschrieben am: Do 25.10.2007, 16:49 (+00:04)
|
![]() AyomRank 5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 242 Mitglied seit: 19.01.2007 |
gethostbyaddr() ist ja keine reine PHP-Funktion. Um eine IP-Adresse nachzuschlagen, muss gethostbyaddr() Nameserver abfragen, und das kann natürlich dauern. Falls Du die Adressen brauchst solltest Du es machen, wie gregi vorschlägt. Einfach zu geeigneter Zeit in eine Datenbank schreiben und dann dort auslesen. (Nur dran denken, dass sich die Einträge im Laufe der Zeit ändern)
-------------------- Forenverzeichnis, Blogverzeichnis und Wikiverzeichnis ohne Backlinkfplicht
E-Mail mit mailde.de - Einfach E-Mail! beziehungs-kiste.net - Das Tratschforum für Singles, Paare und Familien |
![]() |
| webdoktor G-Design Websolutions |
#4 Geschrieben am: Do 25.10.2007, 18:57 (+02:08)
|
![]() AyomRank 5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 494 Mitglied seit: 16.12.2005 |
Hey zusammen
genau, das ist ein super Tipp werde es wärend des Zugriffes machen und nicht nachträglich. Wobei dann dauert es aber auch einwenig länger und der User hat ganz kleine Verzögerungen. Hmm? Marco |
![]() |
| sd12 |
#5 Geschrieben am: Do 25.10.2007, 19:07 (+00:09)
|
||
![]() AyomRank 9 Gruppe: Moderatoren Beiträge: 3574 Mitglied seit: 3.03.2004 |
Mach es am Ende der HTML Ausgabe.... Dann ist die Seite komplett geladen und dem User kann es egal sein, wenn Dein Script noch 2 Sekunden braucht... echo"</html>"; gethostbyaddr(); ?> -------------------- ************************
Treiber f[r das Kezboard ist [berfl[ssig. |
||
![]() |
| jAuer Jürgen Auer - freiberufl. Programmierer |
#6 Geschrieben am: Do 25.10.2007, 19:12 (+00:05)
|
|
AyomRank 9 Gruppe: Experten Entwicklung Beiträge: 2206 Mitglied seit: 4.02.2006 |
Na ja, 30 Sekunden für 300 Adressen geht doch noch. Das sind 10 Adressen pro Sekunde.
Ich hatte auf einem lokalen Rechner schon das Problem, daß das Abfragen einer IP-Adresse bis zu 8 Sekunden brauchte. Schließlich stellte sich heraus, daß mehrere, von der FRITZ-Card erzeugte Netzwerkkarten der Reihe nach abgefragt wurden: Die erste fand nix, weil die IP-Adresse in keinem Nameserver drin war, also wurde die zweite abgefragt - dasselbe Spielchen. Im Augenblick ist bei dir unsichtbar, ob 10 Adressen pro Sekunde bewältigt werden oder ob bsp. die Hälfte der Adressen schon gecacht / bekannt sind und der Rest umso länger braucht. Allerdings muß man normalerweise bei NS-Abfragen bis zu 2 Sekunden einplanen - nix für den Turbo. In .NET wäre mein Vorschlag: Starte einen Hintergrundthread, der die IP-Adresse auflöst, dann kann die Seitenverarbeitung weiterlaufen. In PHP könnte vielleicht ein Script aufgerufen werden, ohne daß auf dessen Ende gewartet wird (weiß nicht, ob PHP das unterstützt). -------------------- Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.
server-daten: Web-Datenbanken als Online - CRM - Lösung. Konzentrieren Sie sich auf Ihr Kerngeschäft - nutzen Sie eine schlanke, schnelle Online-Datenbank von verschiedenen Standorten. |
![]() |
| David T. |
#7 Geschrieben am: Fr 26.10.2007, 15:25 (+20:12)
|
||
|
AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 110 Mitglied seit: 30.07.2006 |
gethostbyaddr() ist eine sehr, sehr langsame PHP-Funktion. Leider gibt es keine wirklich schnellere Alternative. Einzig die Funktion dns_get_record ist geringfügig schneller (rentiert sich eigentlich nur bei Massenabfragen, wie sie z.B. in Logparsern vorkommen).
-------------------- |
||
![]() |
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/21320
![]() |
![]() ![]() ![]() |
| Themen Titel | Autor | Views | Antworten | Letzte Aktion |
| Sehr unzufrieden mit Google Adwords | PH | 114 | 1 | Mo 1.09.2008, 07:49 |
| Internet langsam? | PH | 291 | 11 | Do 21.08.2008, 08:36 |
| Mapping mit Redirect-Funktion | FloHoCH | 152 | 2 | Mi 25.06.2008, 21:28 |
| Array in Funktion übernehmen | radarin | 254 | 3 | Mo 16.06.2008, 22:56 |
| Suche Europakarte mit Funktion ? | japsa | 117 | 0 | Fr 25.04.2008, 19:39 |
| php Funktion:Urls auslesen | Sancheck | 469 | 7 | Mo 31.03.2008, 07:11 |
| [S] Sehr gute IDE | nitrit | 343 | 9 | Di 4.03.2008, 19:40 |
| Amazon und Co. nerven mich langsam.... | Toblerone | 197 | 1 | Di 4.03.2008, 09:37 |
Anzeige - [Interessiert an einer Anzeige?]




















