Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> file_exists, curl i długie wykonywanie skryptu., Strojenie wydajności
batman
post
Post #1





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Napisałem skrypt, aktualizujący ofertę sklepu. Skrypt ten chodzi w cronie raz na dobę i zaciąga pliki xml od różnych producentów.

Po ściągnięciu i zapisaniu pliku xml lokalnie, następuje jego walidacja oraz przetwarzanie. Zauważyłem, że wąskim gardłem całego systemu jest curl (też mi nowina (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) ). Oferta składa się z około 1000 produktów. Do każdego z nich podczepione jest kilka obrazków (średnio 8). Każdy obrazek waży mniej więcej 20 kB. Zaciąganie takiej ilości obrazków za każdym razem jest bez sensu, dlatego też sprawdzam przy pomocy funkcji file_exists, czy aktualnie wybrany obrazek jest już ściągnięty. I teraz pojawia się problem. Jeśli obrazki są ściągane, wówczas skrypt mieli 2 - 3 h. Bez sprawdzania czy zdjęcia istnieją około 4h. Bez ściągania zdjęć 30 min.

Czy funkcja file_exists rzeczywiście tak zamula, czy mam szukać "wąskiego gardła" w innym miejscu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Jak nie wynika?

Nie ściągam zdjęć - 30 min.
Ściągam zdjęcia ze sprawdzaniem czy istnieją - 2-3 h.
Ściągam zdjęcia bez sprawdzania - 4h.

Oczywiste jest, że curl-a używam dopiero w momencie, gdy nie ma zdjęcia. A to czy nie ma zdjęcia spradzam używając file_exists.

Tak się składa, że zdjęcia istnieją, więc teoretycznie powinno działać znacznie szybciej.
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: 4.10.2025 - 21:34