![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 17.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
witam,
mam prawie gotowy projekt tworzenia plików na serwerze, skrypt pobiera dane z formularza ok (30 pól) i generalnie tworzy mi 500 katalogów w kazdym po 2 pliki, nazwy generuje losowo. Zajmuje to około 30 sekund. 2 tygodnie temu otrzymałem informację, że jest ktoś zainteresowany tym skryptem ale ma mu utworzyć 1000 katalogów w każdym po 1000 plików a do tych 30 pól ma pobierać dane z 5 plików tekstowych każdy po 25K linii. Obecnie jest jedna strona i dane są wprowadzane na tej jednej stronie po wprowadzeniu jest przycisk SUBMIT i czekam na efekt w postaci plików. Nie ma żadnej bazy wszystko odbywa się tylko przy użyciu pól formularza. Nie mam takiego doświadczenia, żeby stwierdzić czy PHP nadaje się do takiej pracy czy może lepiej napisać to w Javie. Jak w PHP to jak to optymalnie rowzwiązać, żeby takie generowanie nie zajęło mu za dużo czasu i nie rozłożyło serwera (IMG:style_emoticons/default/smile.gif) Dziękuję za podpowiedzi |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 3 Dołączył: 17.09.2011 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ja pod kątem optymalizacji, to bym podzielił to na wątki np. po 250 katalogów na każdy i sru. Dodajesz fajny loader i po sprawie. No niezła optymalizacja, nie dość, że zarżniesz I/O to jeszcze CPU (jak ostatnio sprawdzałem dyski nie miały 250 niezależnych głowic a procesory 250 rdzeni). Jeszcze w PHP, czyli do uruchomienia takiego potworka będzie potrzebne z 4GB ramu (IMG:style_emoticons/default/wink.gif) Cytat Po kiego pisać coś, co już istnieje? Gearman, Celery. Gearman do takiego projektu (IMG:style_emoticons/default/smile.gif) No coraz lepiej (IMG:style_emoticons/default/wink.gif) Uruchomić 250 wątków, przepuścić milion operacji przez dodatkową warstwę abstrakcji... może lepiej od razu po tworzeniu każdego pliku zrobić sleep(1) wtedy będzie najwolniej (IMG:style_emoticons/default/smile.gif) Ten post edytował xdev 27.10.2012, 12:08:34 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 13:57 |