Jak przyśpieszyc skrypt php?

Witam. Zrobiłem skrypt który przeszukuje strony internetowe. Nie wiem dla czego strasznie wolno chodzi. Jego proces działania wygląda następująco:

  1. Pobieranie linku do przeszukania

  2. cURLem pobieram kod html na którym zbudowana jest strona

  3. Kod HTML zapisuje do pliku

  4. Analizowanie zawartości pliku w poszukiwaniu linków

  5. konwertowanie linków

  6. zapis linków do bazy danych

Czy da się jakoś przyspieszyc skrypt używając innych metod? Przeszukanie jednej strony zajmuje ok 20s :?

Najdłużej będzie trwać:

jest to zależne od szybkości łącza Twojego serwera i szybkości łącza żądanego serwera. Na to nic nie poradzisz. Pisząc taki kod jak Twój trzeba się z tym liczyć.

Reszta kodu w porównaniu z powyższym nie powinna zabierać tak wiele czasu.

Można próbować jakoś optymalizować kod (zamieniając pewne funkcje na ich mniej wymagające odpowiedniki, zamieniając niepotrzebne cudzysłowy na apostrofy, ograniczając liczbę zmiennych), ale IMO byłaby to walka z wiatrakami.

W sumie możesz pokazać kod, to może coś wymyślimy :slight_smile:

  1. Wróżką nie jestem. Może zaprezentujesz kod?

  2. Patrząc po poprzednich skryptach - sądzę że robisz coś w stylu

pętla{

/wywołanie funkcji echo…

}

$tablica = array('1','2'); //dajmy na to, że jest ich z 1000 

for($x=0; $x
echo $x.'
';

}

W tej pętli są 2 znaczące błędy - wraz z każdym przebiegiem pętli (dajmy na to że do 1000), zliczana jest liczba elementów tablicy oraz wywoływana funkcja echo.

Poprawniej by było w ten sposób:

$tablica = array('1','2'); //dajmy na to, że jest ich z 1000 

$ile = count($tablica);

for($x=0; $x<$ile; $x++){ 

$y .= $x.'
'; //zbieranie do zmiennej

}

echo $y; //jedno wywołanie f. echo

Jednak jak pisałem - nie ma szans na celną odpowiedź, jeżeli nie ma zamieszczonego kodu :expressionless:

Reszta tak jak kutar - łącze serwera.

dokładnie robię wyszukiwarkę plików. A jak to się dzieje że na niektórych stronach wyszukuje w locie (wiem bo w opisie skryptu jest)?Trwa to kolka sekund

cóż, jeżeli pracujesz na plikach, to pamiętaj, że zapis i odczyt takowych, zwłaszcza gdy danych jest sporo, jest róniesz bardzo powolnym mechanizmem

i tak jak poprzednicy - nie ma kodu, nie ma szczegółów…

Zapewne chodzi Ci o sytuacje, gdzie wyszukiwarka działa w oparciu o wcześniej pobrane kopie stron i zapisane w bazie danych. I cały proces odbywa się już na tych danych na naszym serwerze (przez co nie pobieramy każdorazowo strony ze zdalnego serwera). Tak działa każda szukajka (google).

>dokładnie robię wyszukiwarkę plików. A jak to się dzieje że na niektórych stronach wyszukuje w locie (wiem bo w

>opisie skryptu jest)?Trwa to kolka sekund

Skrypt który widziałem nie działa na bazie danych

http://allegro.pl/item294333239_wlasna_ … taka_.html