server
magicmatze
habe ein problem und weiss nicht woran es liegt habe 2 server auf den einen die mysql datenbank und auf den anderen der webserver nun ist es so das es auch sehr schnell geht doch manchmal bleib er für ca 5 sec stehen obwohl beide server nicht ausgelastet sind ca 40% sind beide ausgelastet? beide server liegen im gleichen netztwerk jedoch werden die durch die internet ip verbunden?
GreenRover
also beide server haben eien öffentliche IP ?
Server 1 hat eine mysql server und server 2 hat eine apache laufen?
Oder wie ?
Und welche max und avg datenrate liegt zwischne dne beiden systemen
magicmatze
also auf den ersten server ist der iss webserver drauf und auf den 2ten server mysql und beide haben eine feste ip also ne öfentliche dadurch verbinde ich ja auch beide server
GreenRover
ja soweit ist es klar, doch welche anbindung liegt zwischen den Servern? 100Mbit 650Mbit 56kb/s Oder was ?
Und hackelt die kommunikation zwischen dne systemen genrell oder wie?
Wiso hast du das überhaupt auf getrennten maschienen ?
welches OS ist auf den Maschiennen ?
magicmatze
also es soll eine 460 mbit anbidung haben ne die verbindung hackt nicht immer leuft einige zeit flüssig und dann hackt er ab und zu dann bleicbt er für 5 sec stehen obwohl die cpu auslastung auf 30-40 % liegt.
habe windows server 2003 auf beiden drauf der eine ist ein p4 mit 2gb ram und der andere ist ein amd operon 64 bit mit 2 gb ram!
GreenRover
OS == Operating System == Betriebsystem.
Oder sind beide Maschienen W2K3 ?
Und wodurch kommst du zu solcher CPU Last?
Was für Netztwerkkarten sind drinn?
Welche Netzwerklast hast du ?
Kann es sein das der CPU Load nur kurtzfristig in die höhe schnellt?
Hast du es schon mal mit verfolgt wenn es hackelt?
Liegt es definitiv an der DB verbindung oder kann es auch am IIS an sich scheitern. Also das der hackelt.
magicmatze
beide haben 2003 nur der eine hat die 64 bit version und die cpus sind wegen der zugriffe in die datenbank und den bilder so ausgebraucht aber normaler weise müsste es doch nicht daran liegen beide netztwerk karten sind 10/100 mbit karten und habe es auch schon mal verfolgt aber mir ist nicht aufgefallen?
GreenRover
Also hast du max 100Mbit zwischen den beiden Systemen.
Was sagt der Netzwerk Load.
Und hackeln nur die sicher nur die Seiten mit Datenbank zugriff oder auch die ohne?
magicmatze
ja nur die die mit der daten bank verbinden wollen willst du dir das mal angucken wie das hackt wenn ja das ist so eine chatseite ne meld dich einfach da an nur so zum gucken geh eifach auf
www.counterforpage.de achte aber darauf das die url oben counterforpage2.de ist nicht counterforpage2.de den das ist die seite vom datenbankserver dort leuft alles super schnell!
GreenRover
Hmm das portal hat ja nocht nicht wirklich viele benutzter, das sollte einer der beiden maschienen beides locker schaffen.
Auf jeden Fall unter linux.
Aber unter Windows eigentlich auch.
Also versuche wir es mal zu debuggen.
| php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
|
<?PHP
$start=microtime();
mysql_connect('localhost', 'root', '');
echo "\n\nmysql_connect";
echo microtime()-$start;
echo "\n";
mysql_select_db('test2');
echo "\n\nmysql_select_db";
echo microtime()-$start;
echo "\n";
for($i=0; $<1000; $i++)
{
echo "FOO $ ibaa";
}
echo "\n\nPHP schleiffe";
echo microtime()-$start;
echo "\n";
$result=mysql_query("SELECT `nick` FROM `members`"); ## selecte da irgent die komplette meber datenbank, also nur die namen
while($row=mysql_fetch_row($result))
{
echo $row[0];
}
echo "\n\ngroße DB abfrage";
echo microtime()-$start;
echo "\n";
?> |
|
passe das script mal an und poste mal den link dazu, das soltle ein gutes debuging ermöglichen.
GreenRover
jo stimmt, habem ich verschreiben,
| php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
|
<?PHP
$start=microtime();
mysql_connect('localhost', 'root', '');
echo "\n\nmysql_connect";
echo microtime()-$start;
echo "\n";
mysql_select_db('test2');
echo "\n\nmysql_select_db";
echo microtime()-$start;
echo "\n";
for($i=0; $i<1000; $i++)
{
echo "FOO $i ibaa";
}
echo "\n\nPHP schleiffe";
echo microtime()-$start;
echo "\n";
$result=mysql_query("SELECT `nick` FROM `members`"); ## selecte da irgent die komplette meber datenbank, also nur die namen
while($row=mysql_fetch_row($result))
{
echo $row[0];
}
echo "\n\ngroße DB abfrage";
echo microtime()-$start;
echo "\n";
?> |
|
tue es mal auf beide Server, aber vorher halt noch das mysql connect, und mysql_select_db anpassen ,also mit dne korreckten daten, dann noch das Smysql_query anpassen, so das es sinvolle daten ausgiebt. Ich kenne ja deien DB strucktur nicht.
magicmatze
so auf den ersten server
GreenRover
ja aber der teil mit dem datenbank auslesen wird doch garnicht verarbeitet, hast du das mysql connect und das select usw auch wirklich alles angepasst ??
GreenRover
Vorallem, läuft ein mysql_max oder mysql_safe prozess???
magicmatze
versuchs jetzt mal!
magicmatze
was haben die zu bedeuten?
mysql_max oder mysql_safe
GreenRover
du kansnt den MYsql server in unterscheidlichen laufmodien starten.
und versuche es sonst mal mit mysql_pconnect so das du persitent verbinungen nutzt.
Weil entweder liegt das prob am tcp ip stag, das der server keien neuen verbindungen mehr aufbauen kann, für einen momment. Oder das der mysql server einfach von den latezen her nicht klar kommt.
und hast den WinMySQlAdmin laufen??
Wenn nicht guck mal in dem setup folder vom ysql server, da liegt der drinn,
da hast du dann unter my.ini ganz viele optionen die nicht optimal sind.
vorallem hast du links eine liste mit file, guck mal was du davon auswählen kannst. .. max-nt währe das beste ....
magicmatze
also WinMySQlAdmin habe ich nicht ich hab die aller neuste version das ist heisst das MySQL Administrator 1.0 das meinst du doch auch oder?
GreenRover
dann update doch mal die db uns sichere vorher alles...
Ja dne meine ich, ich habe hier eien 1.4 obwohl die auch shcon ca 1,5 jahre alt ist.