Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Jak przesłać na FTP dużą ilość małych plików?, szybko
AboutMe
post 21.07.2009, 12:10:12
Post #1





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Witam,

Mam do przesłania kilkadziesiąt tysięcy małych (1-5kb) plików na serwer. Łącznie ważą 20 mb więc przesłanie ich powinno zająć niecałe pół godziny, jednak trwa to wiele godzin ponieważ total commander przy kazdym pliku odczekuje sekundę. Czy istnieje jakiś inny sposób na szybkie przesłanie dużej liczby małych plików?
Go to the top of the page
+Quote Post
sowiq
post 21.07.2009, 12:13:20
Post #2





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


FileZilla -> ustawiasz np. 10 równoczesnych połączeń (w ustawieniach zaawansowanych połączenia) i w mgnieniu oka wszystko leci na serwer. BTW - najlepszy klient FTP z jakim miałem do czynienia.

[edit]
Tu masz pokazane jak ustawić ilość połączeń

Ten post edytował sowiq 21.07.2009, 12:14:42
Go to the top of the page
+Quote Post
ayeo
post 21.07.2009, 12:18:57
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 202
Pomógł: 117
Dołączył: 13.04.2007
Skąd: 127.0.0.1

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


Witam!

FTP to dziwny protokół. W przypadku wielu plików więcej transferu zjedzą Ci komendy protokołu niż faktyczny plik. Najlepiej to spakować te pliki i wysłać jako jeden, a na serwerze rozpakować. Oczywiście warunkiem jest dostęp do shela.

Pozdrawiam!


--------------------
Go to the top of the page
+Quote Post
AboutMe
post 21.07.2009, 12:49:19
Post #4





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Odpaliłem tą filezillę i idzie jak burza, akurat mam dozwolony limit połączeń do 8.
Aby mieć dostęp do shella niestety muszą przesłać dokumenty tożsamości do hostingu więc trochę zachodu jest.
Go to the top of the page
+Quote Post
erix
post 21.07.2009, 13:10:21
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Najlepiej to spakować te pliki i wysłać jako jeden, a na serwerze rozpakować. Oczywiście warunkiem jest dostęp do shela.

Bujasz. [;

Mnie też małe pliki denerwują, a rozwiązanie banalne: robisz TGZ z tymi plikami, kopiujesz na serwer i obok prosty plik PHP:
  1. <?php
  2. `tar -xzf plik.tgz`;
  3. ?>

i odpalasz przez przeglądarkę.

Proste, często działa (wymaga exec" title="Zobacz w manualu PHP" target="_manual) i praktycznie bezproblemowe, shella nie trzeba.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
AboutMe
post 21.07.2009, 13:16:16
Post #6





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


WTF? Widzę że filezilla ma limit do 2000 plików na katalog
Output truncated to 2000 matche

total commanderem wrzucałem po kilkadziesiąt tysięcy plików na 1 katalog a tu takie ograniczenie?

Ten post edytował AboutMe 21.07.2009, 13:19:29
Go to the top of the page
+Quote Post
sowiq
post 21.07.2009, 13:31:07
Post #7





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Cytat(AboutMe @ 21.07.2009, 14:16:16 ) *
WTF? Widzę że filezilla ma limit do 2000 plików na katalog
Output truncated to 2000 matche
Output, czyli wyświetlanie. Jak Ci zacznie ładować listę 50k plików, to Ci się zdeczka komp przymuli :] Jestem pewien, że jak przeciągniesz cały katalog z tymi plikami, to wszystko Ci pobierze.

BTW - po co aż tyle plików w katalogu? Było kilka tematów na forum o wydajności systemu plików i wszyscy zgodnie pisali, że powyżej 1k plików na katalog szybkość odnajdowania plików leci na łeb...
Go to the top of the page
+Quote Post
AboutMe
post 21.07.2009, 13:46:18
Post #8





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Chyba faktycznie będę musiał zmniejszyć ilość plików na katalog. Przy 10k plikach za każdym razem ładuje thumb wielkości 100kb.
Go to the top of the page
+Quote Post
Fifi209
post 21.07.2009, 13:52:49
Post #9





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Cytat(AboutMe @ 21.07.2009, 13:16:16 ) *
WTF? Widzę że filezilla ma limit do 2000 plików na katalog
Output truncated to 2000 matche

total commanderem wrzucałem po kilkadziesiąt tysięcy plików na 1 katalog a tu takie ograniczenie?


Erix napisał Ci abyś spakował je i wypakował na serwie.

P.S. Po co Ci tyle tych pliczków?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
AboutMe
post 21.07.2009, 13:57:09
Post #10





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Cytat
Erix napisał Ci abyś spakował je i wypakował na serwie.


Pliki już są na serwerze tyle że niewidoczne

Cytat
P.S. Po co Ci tyle tych pliczków?


Archiwum usenetu mam w nich.



Ma ktoś może link do tego testu wydajności?

Cytat
...testował chyba 100 000 (albo 1 000 000) plików o rozmiarze ~2kB. Trzymanie wszystkich plików w jednym katalogu okazało się najwydajniejsze...


Ten post edytował AboutMe 21.07.2009, 13:58:20
Go to the top of the page
+Quote Post
erix
post 21.07.2009, 14:18:39
Post #11





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Może kiedyś tak było. Ale zważ na to, że współczesne systemy plików posiadają journaling, który nie jest bez wpływu na wydajność.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
AboutMe
post 3.08.2009, 11:41:47
Post #12





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Mógłbym prosić o jeszcze 1 wyjaśnienie? Skoro mój hosting ogranicza wyświetlanie plików do 2000 sztuk na katalog, więc czy to w katalogu znajduje się 2.000 czy 10.000 plików to zawsze ładuje się thumb wielkości ~100kb więc czy to oznacza że obciążenie jest takie samo przy 2k i 10k plikach?

2. pytanie, czy ten thumb nie jest przypadkiem cashowany przez przegladarki lub roboty sieciowe? Bo np. klient FTP to cashuje.
Go to the top of the page
+Quote Post
erix
post 3.08.2009, 11:51:40
Post #13





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
~100kb więc czy to oznacza że obciążenie jest takie samo przy 2k i 10k plikach?

Jaśniej?

Cytat
2. pytanie, czy ten thumb nie jest przypadkiem cashowany przez przegladarki lub roboty sieciowe? Bo np. klient FTP to cashuje.

Zależy.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
AboutMe
post 3.08.2009, 12:30:38
Post #14





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


O ile dobrze rozumiem to obciążenie generuje wielkość pliku thumb. Jeśli wchodzę do katalogu który zawiera 2000 plików to ładuje się 100 kb komend, natomast jeśli w pliku znajduje się 10.000 plików to powinno się załadować 500 kb ale ładuje się 100 kb poniważ hosting wyświetla tylko 2000 plików. Więc obciążenie jest takie samo przy 2k plikach jak i przy 10k?
Go to the top of the page
+Quote Post
faran
post 3.08.2009, 13:59:02
Post #15





Grupa: Zarejestrowani
Postów: 99
Pomógł: 2
Dołączył: 27.10.2006
Skąd: CyberRZECZYWISTOŚĆ

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


Z moich obserwacji wynika, że sama ilość plików nie generuje obciążenia żadngo i nie ma pływu na działanie serwera...
Obciążenie generuje to co sie z nimi robi. Np. majac 10 000 plików w jednym katalogu przy zapytaniu typu: czy istnieje plik i następnie wyświetlenie go to obciążenie jest takie samo jak by ten plik był tylko sam w katalogu. Natomiast podczas zalogowania sie menedzerem ftp do katalogu z dużą ilością plików następuje odczyt nazw plików, ich rozmiary, daty modyfikacji itp. w tym przypadku ilość plików ma negatywny wpływ na działanie serwera(obciążenie). Ta sama zasada tyczy się robienia kopii zapasowych, jeśli jest ich dużo to serwer musi troche przetworzyć danych i robi sie to dość długo.
Kiedyś robiłem sporo testów tego typu i najefektywniejsze rozwiązanie to pliki w jednym katalogu tylko poprostu trzeba nimi mądrze zarządzać, aby nie zmuszać serwera do przetwarzania ich wszystkich.
Go to the top of the page
+Quote Post
aso824
post 3.08.2009, 17:01:35
Post #16





Grupa: Zarejestrowani
Postów: 46
Pomógł: 1
Dołączył: 2.08.2009

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


Ja jakoś nie mogę sobie tego wyobrazić, jak by mi się przyciął klient FTP wbudowany w eksplorator systemowy gdybym otworzył taki katalog biggrin.gif (Linux Ubuntu).
Co do tematu: nie można tych plików połączyć w jeden (np. 10 plików łączonych w jeden) a potem je oddzielać skryptem? Takie rozwiązanie co prawda by ładowało calutki plik ale jak ktoś słusznie zauważył, koszt transferu by spadł (Wysłanie jednego pliku to chyba przynajmniej 3 komendy w FileZilli, w TotalCommanderze jest o parę więcej z tego co pamiętam), jeżeli ci na prędkości nie zależy.
Zanim poznałem bazy danych (i bylem baaardzo początkujący smile.gif ) robiłem bazy danych w plikach. Heh na 10 userów miałem ~500 plików w katalogu, wtedy nie znałem funkcji PHP. Ale znalazłem explode i udało mi się wyciągnąć ~50 plików smile.gif
Go to the top of the page
+Quote Post
erix
post 3.08.2009, 17:28:59
Post #17





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Co do tematu: nie można tych plików połączyć w jeden (np. 10 plików łączonych w jeden) a potem je oddzielać skryptem?

Ok, ale pomyśl że masz te pliki modyfikować i co wtedy?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
faran
post 3.08.2009, 21:07:53
Post #18





Grupa: Zarejestrowani
Postów: 99
Pomógł: 2
Dołączył: 27.10.2006
Skąd: CyberRZECZYWISTOŚĆ

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


Jeśli chodzi o wgrywanie plików na serwer to dobrym rozwiązaniem jest złączenie ich bo wtedy będzie dużo szybciej sie je wgrywało..... Jak łączyć to nie dziesieć, dwadziecia plików tylko do rozmiaru jakie pozwala łącze internetowe w efektywnym czasie wgrać je na serwer.
Ja wykorzystywałem łączenie plików, ale po to aby je ściągnąć z serwera. Ilość plików jakie miałem ściągnąć wynosiła kilkanaście tysięcy, po kilku godzinach ściągania doszłem do wniosku, że dużo szybciej jest coś napisać co je złączy i ściągnie na dysk lokalny. Jeśli chodzi o zarządzanie takimi złączonymi plikami na serwerze to nie wiem czy jest w tym sens, bo trzeba by je za każdym razem rozłączać, a to będzie zbędna operacja która będzie generować niepotrzebne obciążenie.

Ten post edytował faran 3.08.2009, 21:15:00
Go to the top of the page
+Quote Post
aso824
post 4.08.2009, 21:51:37
Post #19





Grupa: Zarejestrowani
Postów: 46
Pomógł: 1
Dołączył: 2.08.2009

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


No cóż dawno to było jak ja takie numery robiłem i wtedy nawet nie orientowałem się co to transfer (o_O) i pracowałem na Win 98 tongue.gif
Do tematu: a zip-y odpadają? Na kompie wszystko spakować do zip-a (nawet z zerową kompresją) a na serwerze to rozdzielić (wiem, istnieją serwery bez tej funkcjonalności) za pomocą PHP - kiedyś tak robiłem gdy instalowałem phpBB - przy moim łączu to trwało (wrzucenie FTP) pół godziny a w zipie ok. 10-15 minut. Na serwerze się pisało skrypt który to rozdziela i oszczędzałem całe 10min no i się uczyłem ciekawych funkcji PHP smile.gif
Go to the top of the page
+Quote Post
erix
post 4.08.2009, 23:40:17
Post #20





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Do tematu: a zip-y odpadają? Na kompie wszystko spakować do zip-a (nawet z zerową kompresją) a na serwerze to rozdzielić (wiem, istnieją serwery bez tej funkcjonalności) za pomocą PHP

Lepiej TAR, gdyż obsługa jest mniej problematyczna.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 11:21