Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wydajność mysql i apache
dado
post
Post #1





Grupa: Zarejestrowani
Postów: 194
Pomógł: 2
Dołączył: 12.04.2004
Skąd: Częstochowa

Ostrzeżenie: (10%)
X----


Mam problem dość spory dotyczący granic możliwości przerobowych mysql i php.
Mam skrypt który ściąga dane w postaci xml i wrzuca je do bazy.
W czasie wykonywania skryptu parsuje on 6 plików xml (simplexml) o wadze 300mb każdy razem okoł 3 milionów rekordów które następnie wrzucam do bazy mysql. Jak dotąd

- skutecznie wieszam kompa lub
- dostaje komunikat o koncu limitu czasu wykonywania skryptu który wydłużam do 2700 sec.
- lub o czyms takim "Fatal error: Out of memory (allocated 702808064) (tried to allocate 16 bytes) "

(działa póki co na localhost amd64 3,4 ghz, 1gb ram, winXp). czy ktoś z was miał podobne projekty do realizacji ? i czy jest na to jakiś sposób w ramach php+mysql (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował dado 1.03.2007, 09:38:35
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Sorki za OT'a:

~Sh4dow śledzę ten wątek od początku i muszę przyznać, że z każdym Twoim postem wątek coraz bardziej się nadaje na Humor.
Czy Ty zdajesz sobie sprawę jakie pierdoły gadasz?

Przecież każdy argument i wypowiedź ~splatcha kładzie na łopatki Twoje. A jednak się bezsensownie miotasz. Przecież dostałeś konkretne benchmarki.
Czy Ty w ogóle masz doświadczenie w tym temacie? Po tym co czytam: wątpię.

Jedyne co do czego masz rację to że lepiej parsować strumieniowo xml'a.

Proszę napisz coś jeszcze: bawisz mnie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
Sh4dow
post
Post #3





Grupa: Zarejestrowani
Postów: 569
Pomógł: 0
Dołączył: 17.08.2003
Skąd: Dąbrowa Górnicza

Ostrzeżenie: (0%)
-----


Cytat(mike_mech @ 22.03.2007, 01:23:09 ) *
Proszę napisz coś jeszcze: bawisz mnie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)


Nie no oczywiscie ze mam zielonego pojescia a dla ciebie szczegolnie pisze cos zeby poprawic ci humor w taki szary dzien jak dzis
zgodze sie ze zapytanie bedzie sie wykonywac dluzej. Ale niepodejzewam zeby biblioteka w c++ odzwiercieglala zachowanie skryptu w php bardzo dokladnie

test pierwszy 100 rekordow 1 zapytanie sql
Kod
Memory Usage: 262144
Time: 0.04914s.
Iteracje: 100


100 rekordow 100 zapytanie sql
Kod
Memory Usage: 524288
Time: 0.0274s.
Iteracje: 100


drugi test 5000 rekordow 1 zapytanie
Kod
Memory Usage: 6291456
Time: 0.55521s.
Iteracje: 5000


5000 rekordo 5000 zapytan
Kod
Memory Usage: 262144
Time: 1.28052s.
Iteracje: 5000


trzeci test 10000 rekordo 1 zapytanie
Kod
Memory Usage: 12058624
Time: 1.09467s.
Iteracje: 10000


10000 rekordow 10000 zapytan sql
Kod
Memory Usage: 262144
Time: 2.83552s.
Iteracje: 10000


czwarty test 50000 rekordow 1 zapytanie
Kod
#1153: Got a packet bigger than 'max_allowed_packet' bytes
Memory Usage: 58195968
Time: 0.44581s.
Iteracje: 50000

zapytanie sie nie udalo

50000 rekordow 50000 zapytan sql
Kod
Memory Usage: 262144
Time: 14.05176s.
Iteracje: 50000


dla ostatniego testu byłem zmuszony zwiekszyc ilosc pamieci dla skryptu do 64 MB

Nie mowie ze sie nie zgadzam ze splatch'em. Ale podaje rozwiazanie na tyle optymalne ze nie ogranicza mnie wielkosc xml'a bedzie to dzialac dla 10 rekordow i dla 100 GB xml'a poprostu bedzie dłuzej sie wykonywac. Nie musze kombinowac i sprawdzac jak duze packi beda mi przechodzic. Jesli pojawi sie blad w zapytaniu, z jakiego kolwiek powodu. Powiedzmy ze chodzi o dane z xml'a to niezaladuje sie jedno zapytanie a nie cala paczka. Wszystko zalezy od tego jak krytyczny jest skrypt. Skrypt uzalezniasz od tego jak ma dzialac. Jesli administrator zmniejszy wartosc max_allowed_packet na serwerze mysqla to ? A no i jeszcze jedno, ja nie testowalem tego na tablicy gdzie sa dwa inty ale na 6 kolumnach gdzie 3 to int i 3 to varchar.

Podkreslam jeszcze raz, ze nie neguje tego co pisał splatch. Ja stwierdzam cos co zauwazylem kiedys pracujac z duzymi plikami xml ktore obslugiwalem przez php.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 22:30