![]() |
![]() |
![]()
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? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 5 Dołączył: 8.11.2004 Skąd: trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
Cytat 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. Przecież z tego co napisałeś wcale nie wynika, żeby file_exists Ci dużo czasu zajmował? Ten post edytował php programmer 29.06.2007, 10:07:13 |
|
|
![]()
Post
#3
|
|
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. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 045 Pomógł: 5 Dołączył: 8.11.2004 Skąd: trójmiasto Ostrzeżenie: (0%) ![]() ![]() |
Może masz błąd w niektórych ścieżkach np brak bacvkslasha
i ściąga bo myśli że zdjeć nie ma |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 2 921 Pomógł: 269 Dołączył: 11.08.2005 Skąd: 127.0.0.1 ![]() |
Jeśli wiesz o co może chodzić to lepiej nie pisz.
Jeśli ścieżki byłyby źle napisane, wówczas fotki by się nie zapisały. Ścieżki są poprawne, instrukcje warunkowe i pętle też. Zmniejszyć ilości zapytań też już się nie da (dlatego skrypt się wykonuje 30 min. bez zasysania zdjęć). Ten post edytował batman 29.06.2007, 10:42:40 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 15:56 |