 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
20.04.2005, 09:04
|
#1
|
|
TP-Supporter
Registriert seit: Jul 2002
Ort: Frankfurt/M.
|
Amazon Web Service (AWS) / nuSoap elend langsam
hallo alle zusammen,
ich benutze die NuSoap-Klasse um vom Amazon Webservice (AWS) Detail-Infos über einzelne Titel zu ziehen.
Nun ist es so, daß ich mal die Ladezeit gestoppt habe: im Schnitt 35 Sekunden.
Dieselbe Seite ohne Soap: höchstens 2 Sekunden.
Was ist da los?
Liegt es an der Verbindung, an Amazon oder an meiner Hardware?
Ich führe das Script "lokal" aus, auf einem Testrechner PIII/800 mit 512MB Speicher unter SuSE8.2 - die NuSoap Klasse, die da geparst werden muss, ist 250KByte (!!!) groß, kann es sein, daß das so lange dauert?
Angebunden bin ich mit einer 3Mbit/354KBit ADSL-Leitung, das sollte eigentlich schnell genug sein für alles, oder?
Oder kann es sein, das der AWS nicht der schnellste ist?
Der Vollständigkeit halber hier noch mein Code, mit dem ich die Infos per NuSOAP hole und einbinde (denke aber nicht, daß es daran liegt...):
PHP-Code:
$soapclient = new soapclient("http://soap.amazon.com/schemas2/AmazonWebServices.wsdl",true);
$soapclient -> debug_flag = $config['aws']['debug_level'];
$proxy = $soapclient ->getProxy();
$params = array(
'asin' => $row['amazon'],
'type' => 'heavy',
'locale' => $config['aws']['locale'],
'tag' => $config['aws']['associate_id'],
'devtag' => $config['aws']['dev_token'] );
$aws_result = $proxy -> ASINSearchRequest($params);
vielleicht kann mir jemand weiterhelfen, ich hab echt keine idee mehr.
grüße,
daniel
p.s.: nein, die abfrage von "lite" auf "heavy" umzustellen, bringt nichts ;-)
Geändert von halla (20.04.2005 um 09:06 Uhr).
|
|
|
20.04.2005, 10:23
|
#2
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
das muss definitiv an Deiner Klasse liegen - der Aufruf im Browser dauert höchstens 3 sek.
|
|
|
20.04.2005, 10:42
|
#3
|
|
TP-Supporter
Registriert seit: Jul 2002
Ort: Frankfurt/M.
|
du meinst wenn du die wsdl-datei im browser aufrufst?
ja, da hast du recht, das geht schnell.
hat denn jemand erfahrungen mit nusoap und amazon?
wie schnell funzt die kombination bei euch?
liegt das an meiner hardware? kann doch eigentlich nicht sein, daß das solange dauert, oder?
ich meine, die seite ist ja kaum zu benutzen bei so einem tempo :-(((
grüße,
daniel
|
|
|
20.04.2005, 11:06
|
#4
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
ich hab keine Erfahrung, aber wenn Du mir das script zur Verfügung stellst, mache ich gerne einen Vergleichstest 
|
|
|
20.04.2005, 12:33
|
#5
|
|
TP-Supporter
Registriert seit: Jul 2002
Ort: Frankfurt/M.
|
hi steff,
das wäre wirklich mal interessant zu sehen.
ich würds dir so umbauen, daß du es nur auf einen server mit php kopieren und aufrufen mußt? natürlich nur, wenn es dir nicht zu stressig ist?
ich müßte es dir aber per Mail oder so schicken,
da das Script meinen "Developer-Token" (sone Amazon-ID) enthält.
Die würde ich ungern hier im Forum bereitstellen ;-)
grüße,
daniel
|
|
|
20.04.2005, 13:11
|
#6
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
alles klar, mach ich für Dich 
mail an develop@mysqldumper.de
vg Steffen
|
|
|
20.04.2005, 14:29
|
#7
|
|
TP-Supporter
Registriert seit: Jul 2002
Ort: Frankfurt/M.
|
Hi Steffen,
vielen, vielen Dank für Deine Hilfe - ich hab dir gerade eine Zip-Datei mit der Klasse und einem entsprechendem Script geschickt.
In der Mail stehen auch noch ein paar Erklärungen dazu,
aber eigentlich hab ich es zurechtgemacht, daß entpacken->aufrufen ausreichen sollte. Bin schwer gespannt....
grüße,
Daniel
|
|
|
20.04.2005, 15:55
|
#8
|
|
TP-Supporter
Registriert seit: Jul 2002
Ort: Frankfurt/M.
|
Hi Steffen
aus deiner Mail:
Code:
> Hi Daniel,
>
> Ich habe das getestet - sowohl lokal als auch auf meinem Server.
>
> Lokal: 3 sek.
> Server: 2sek.
>
> Es liegt also nicht am Script, sondern an Deiner Verbindung.
> Überprüfe mal Firewall / Cache / Proxy ...
das halte ich nun ehrlich gesagt wiederrum für echt sensationell.
auf was für einem Server hast du denn gestestet?
Wie ist deine Anbindung?
Mein Server steht hinter einem normalen DSL-Router mit Firewall, der auch ein Portforwarding bei einem Request von außen auf Port 80 macht.
Das komische ist nur:
Der SOAP Request geht ja komplett über Port 80 - und der Verkehr über Port 80 ist eigentlich sauschnell... ;-)
hast du (oder sonstwer) eine idee, woran es noch liegen könnte, oder wie man diesem problem auf die schliche kommen könnte?
zum vergleich:
dieser aufruf hier:
http://halla.homelinux.net/
dauert bis zu 40 Sekunden.
Dasselbe Script geht lt. Steffen bei ihm in 2-4 Sekunden.
Und meine Anbindung ist eigentlich nicht die schlechteste:
http://halla.homelinux.net/_project/...d_hands-up.jpg
das bild hat über ein halbes MB und braucht nur ein paar sekunden zu laden....
grüße,
daniel
p.s.: vielen dank, steffen, mir fällt schon mal ein stein vom herzen !!!
danke fürs testen von dem script !
|
|
|
20.04.2005, 16:04
|
#9
|
|
TP-Supporter
Registriert seit: Jun 2004
|
wird bei portforwarding die firewall ausgelassen? ich glaube nicht. kann dein router DMZ? versuch mal den rechner dahin zu stellen zum testen.
__________________
Ich bin bereit, meinem Schöpfer gegenüberzutreten.
Ob mein Schöpfer ebenso bereit ist, diese Begegnung über sich ergehen zu lassen, ist eine andere Sache.
|
|
|
20.04.2005, 16:18
|
#10
|
|
TP-Supporter
Registriert seit: Jul 2002
Ort: Frankfurt/M.
|
hmm... den rechner einfach mal testweise in die DMZ zu stellen, ist eine idee.
hatte ich mir auch schon überlegt, aber irgendwie glaube ich nicht, daß es daran liegt - ich meine, eine verbindung über port 80 geht über port 80, und der ist frei.... irgendwie ergibt das alles keinen sinn ?!?
|
|
|
20.04.2005, 16:20
|
#11
|
|
TP-Special Mod
Registriert seit: Feb 2005
Ort: Haan / NRW
|
Also ich habe eine ganz normale Anbindung:
DSL 1000 mit Router, allerdings kein Portforwarding auf 80.
Der Server ist ein Alturo Server. (naja, 1 sek. schneller is nicht der Rede wert)
Was ist, wenn Du das Skript bei Dir lokal aufrufst ?
Was für ein Provider ist das ? Vielleicht steht der bei Amazon auf der Blacklist
EDIT: Ich habe gesehen, das du eine Domain benutzt, die wohl via dyndns oder ähnlich läuft. Daher die Verzögerung.
Geändert von steffenk (20.04.2005 um 16:22 Uhr).
|
|
|
20.04.2005, 16:20
|
#12
|
|
TP-Supporter
Registriert seit: Jun 2004
|
meist ist da viel mehr dahinter, als der oberflächliche schein so hergibt. vllt läuft das ganze intern über einen anderen protokoll oder so was in der art.
mich wundert garnichts mehr, nach dem ich seit mehreren tagen an unserem vpn dran sitze 
__________________
Ich bin bereit, meinem Schöpfer gegenüberzutreten.
Ob mein Schöpfer ebenso bereit ist, diese Begegnung über sich ergehen zu lassen, ist eine andere Sache.
|
|
|
20.04.2005, 16:49
|
#13
|
|
TP-Supporter
Registriert seit: Jul 2002
Ort: Frankfurt/M.
|
Zitat:
|
Zitat von St@eff.en
Ich habe gesehen, das du eine Domain benutzt, die wohl via dyndns oder ähnlich läuft. Daher die Verzögerung.
|
hi steffen,
hmm.. ja, das wäre vielleicht das einzige woran es liegen könnte.
ich arbeite auch lokal (dank flatrate) mit dem dynDNS account auf meinem testserver. normalerweise macht das keine probleme, andere scripte die kein AWS integriert haben, gehen superschnell.
aber wer weiß welchen weg die daten da von amazon im netzwerk nehmen und wie DynDNS da intern tickt.
andererseits:
wenn ich eine URL aufrufe bei der Amazon angefunkt wird, sehe ich sehr schnell wie sich die seite aufbaut - nur beim amazon-teil hakt es.
zu diesem zeitpunkt müßte die anfrage an dyndns aber eigentlich schon gelaufen sein, und meine IP müßte bekannt sein.
wieauchimmer: eine andere Idee habe ich nicht - von daher werde ich es mal versuchen, wenn ich zuhause bin und lokal zugreifen kann....
grüße,
daniel
|
|
|
20.04.2005, 17:20
|
#14
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
interresant wäre zu wissen WAS so lange dauert... das einlesen und verarbeiten der WSDL oder die einzelnen Soap-Calls? Irgendwas, dass den Upload bremst hast du nicht an, oder? (sorry, aber ich MUSS das fragen  )
Gruss
Jan
|
|
|
20.04.2005, 18:31
|
#15
|
|
TP-Supporter
Registriert seit: Jul 2002
Ort: Frankfurt/M.
|
hi,
aaaaalso, ich habe das jetzt nochmals getestest.
mein server stand in einer DMZ und ich habe direkt mit der "äußeren" IP, also unter umgehung der NAT und dynDNS darauf zugegriffen.
Ergebnis: dauert genauso lange.....
Steff hat das ja auch schon getestet (danke nochmal!!),
aber von einem "richtigen" provider aus sieht das so aus:
http://www.baseball-cheerleading.de/nusoap/
im Vergleich dazu derselbe code auf meinem server:
http://84.58.12.133/ (ohne dyDNS)
bzw. nach der nächsten zwangstrennung mit dnyDNS:
http://halla.homelinux.net
auf dem server läuft eigentlich nix, was ihn ausbremsen könnte,
ein ps aux ergibt diese ausgabe:
Code:
castor:~ # ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 500 72 ? S Mar08 0:04 init [3]
root 2 0.0 0.0 0 0 ? SW Mar08 0:00 [keventd]
root 3 0.0 0.0 0 0 ? SW Mar08 0:00 [kapmd]
root 4 0.0 0.0 0 0 ? SWN Mar08 0:00 [ksoftirqd_CPU0]
root 5 0.0 0.0 0 0 ? SW Mar08 4:44 [kswapd]
root 6 0.0 0.0 0 0 ? SW Mar08 0:02 [bdflush]
root 7 0.0 0.0 0 0 ? SW Mar08 0:02 [kupdated]
root 8 0.0 0.0 0 0 ? SW Mar08 0:11 [kinoded]
root 10 0.0 0.0 0 0 ? SW Mar08 0:00 [mdrecoveryd]
root 13 0.0 0.0 0 0 ? SW Mar08 1:17 [kreiserfsd]
root 51 0.0 0.0 0 0 ? SW< Mar08 0:00 [lvm-mpd]
root 371 0.0 0.0 1456 232 ? S Mar08 0:01 /sbin/syslogd
root 374 0.0 0.0 2308 288 ? S Mar08 0:00 /sbin/klogd -c 1 -2
root 419 0.0 0.0 0 0 ? SW Mar08 0:00 [khubd]
bin 499 0.0 0.0 1392 4 ? S Mar08 0:00 /sbin/portmap
root 517 0.0 0.0 4072 4 ? S Mar08 0:00 /usr/sbin/snmpd -c /etc/snmpd.conf -r -A -l /var/log/ucd-snmpd.log -P /var/run/snmpd.pid
root 561 0.0 0.0 3840 184 ? S Mar08 0:12 /usr/lib/postfix/master
postfix 567 0.0 0.0 3864 440 ? S Mar08 0:04 qmgr -l -t fifo -u
root 620 0.0 0.0 4224 304 ? S Mar08 0:52 /usr/sbin/sshd -o PidFile /var/run/sshd.init.pid
at 780 0.0 0.0 1492 104 ? S Mar08 0:00 /usr/sbin/atd
root 794 0.0 0.0 1520 168 ? S Mar08 0:00 /usr/sbin/cron
root 813 0.0 0.0 100920 144 ? S Mar08 0:39 /usr/sbin/httpd -f /etc/httpd/httpd.conf
root 838 0.0 0.0 12084 348 ? S Mar08 0:03 /usr/sbin/nscd
root 842 0.0 0.0 1500 4 tty1 S Mar08 0:00 /sbin/mingetty --noclear tty1
root 843 0.0 0.0 1500 4 tty2 S Mar08 0:00 /sbin/mingetty tty2
root 844 0.0 0.0 1500 4 tty3 S Mar08 0:00 /sbin/mingetty tty3
root 845 0.0 0.0 1500 4 tty4 S Mar08 0:00 /sbin/mingetty tty4
root 846 0.0 0.0 1500 4 tty5 S Mar08 0:00 /sbin/mingetty tty5
root 847 0.0 0.0 1500 4 tty6 S Mar08 0:00 /sbin/mingetty tty6
root 848 0.0 0.0 12084 348 ? S Mar08 0:00 /usr/sbin/nscd
root 849 0.0 0.0 12084 348 ? S Mar08 0:02 /usr/sbin/nscd
root 850 0.0 0.0 12084 348 ? S Mar08 0:00 /usr/sbin/nscd
root 851 0.0 0.0 12084 348 ? S Mar08 0:00 /usr/sbin/nscd
root 852 0.0 0.0 12084 348 ? S Mar08 0:00 /usr/sbin/nscd
root 853 0.0 0.0 12084 348 ? S Mar08 0:00 /usr/sbin/nscd
root 918 0.0 0.0 2384 4 ? S Mar08 0:00 /bin/sh /usr/bin/safe_mysqld --user=mysql --pid-file=/var/lib/mysql/mysqld.pid --socket=/var/l
mysql 949 0.0 0.3 23060 1828 ? S Mar08 0:03 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysq
mysql 950 0.0 0.3 23060 1828 ? S Mar08 0:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysq
mysql 951 0.0 0.3 23060 1828 ? S Mar08 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/lib/mysq
root 28998 0.0 0.0 5392 272 ? S Apr12 0:00 /usr/lib/samba/classic/smbd -D -s /etc/samba/smb.conf
wwwrun 4342 0.0 1.3 103964 7400 ? S Apr15 2:22 /usr/sbin/httpd -f /etc/httpd/httpd.conf
wwwrun 4364 0.0 1.2 104240 6660 ? S Apr15 2:15 /usr/sbin/httpd -f /etc/httpd/httpd.conf
postfix 18265 0.0 0.2 3812 1200 ? S 17:24 0:00 pickup -l -t fifo -u
root 18324 0.8 0.4 6056 2380 ? S 18:06 0:07 /usr/lib/samba/classic/smbd -D -s /etc/samba/smb.conf
root 18359 0.4 0.3 4888 1980 ? S 18:19 0:00 /usr/sbin/sshd -o PidFile /var/run/sshd.init.pid
root 18360 0.1 0.2 2596 1576 pts/1 S 18:19 0:00 -bash
root 18376 0.0 0.1 2520 660 pts/1 R 18:20 0:00 ps aux
die restlichen verbindungen sind auch top - sowohl up- als auch download.
zugriffe auf den server, bei dem AWS im spiel ist, gehen ruck-zuck (siehe download/upload des bilder 2 postings darüber).
was zum geier ist da nur los?
wenn der unterschied nur ein paar sekunden betragen würde, würde ich es ja abschreiben, aber mehr als eine halbe (!!!) minute geht gar nicht.
zumal der source, der da ausgeführt wird, wirklich einfach ist:
PHP-Code:
<?php
require_once("nusoap.class.php");
$soapclient = new soapclient("http://soap.amazon.com/schemas2/AmazonWebServices.wsdl",true);
$proxy = $soapclient ->getProxy();
$params = array(
'asin' => 'B00022TPSY',
'type' => 'heavy',
'locale' => 'de',
'tag' => 'tonfilterde-21',
'devtag' => 'XXXXXXXXX' );
$soapclient -> debug_flag = $config['aws']['debug_level'];
$aws_result = $proxy -> ASINSearchRequest($params);
echo "<pre>".print_r($aws_result)."</pre>";
?>
das ist schon alles - mehr kommt da nicht (mein Dev-Tag ist ausge'xxx't)
wie kann ich denn die ausführungszeit des scripts, bzw einzelner teile daraus testen? oder fällt irgendwem was auf?
wie gesagt, meine leitung ist definitv schnell genug und port 80 wird in keinem fall ausgebremst...?
irgendwas muss da doch faul sein?
Grüße,
Daniel
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
| | |