![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 13.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
Mój sktypt działa na bazie kilku milionów rekordów i porównuje każdy z tych rekordów z każdym innym.
W każdym razie nie chodzi o sposób działania tylko o fakt, że zanim mi wszystko sprawdzi to chyba z rok minie :/ Skrypt praktycznei w ogóle nie obciążą serwera. Czy jest możliwość aby odpalić np 100.000 instancji tego skryptu, tak aby wykorszystał pełne zasoby maszyny no i żeby mi wszystko przeliczył w miarę szybko ? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Pisanie aplikacji wielowątkowych w PHP do najmilszych nie należy, jednak jest to do zrobienia.
2. W jaki sposób pojedynczy rekord jest porównywany z całą resztą pozostałych? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 56 Dołączył: 3.06.2010 Skąd: Tarnowskie Góry Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 13.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
Serwer jest na mocnym i7 + 32Gb Ram, i nie widzę praktycznie żadnej różnicy, gdy skrypt jest odpalony lub nie, zapisów na dysk też raczej wiele nie ma, więc stąd moje pytanie, jak
wykorzystać lepiej dostęne zasoby ? 2. W jaki sposób pojedynczy rekord jest porównywany z całą resztą pozostałych? W skrócie: są 2 pętle while. Pierwsza pobiera wszystkie rekordy, tam sobie je jakoś obrabia i porównuje każdy z rekordami pobranymi za pomocą drugiej pętli while. Każde takie porównanie to tak naprawdę kilka porównań, bo po drugim while jest jeszcze pętla for... W każdym razie skoro piszecie, że pisanie aplikacji wielowątkowych nie jest łatwą sprawą, to może da się to jakoś obejść prostym 'chłopskim sposobem' odpalajać np skrypt wielokrotnie lub coś w tym stylu, tak żeby to chociaż trochę szybciej działało niż w tym momencie ? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat W każdym razie skoro piszecie, że pisanie aplikacji wielowątkowych nie jest łatwą sprawą, to może da się to jakoś obejść prostym 'chłopskim sposobem' odpalajać np Jest nieco bardziej skomplikowane, ale nie jest to jakaś wyjątkowo trudna sprawa. Po prostu PHP jest do tego bardzo słabą platformą, gdyż nigdy nie była projektowana w tym celu i brakuje jej całej masy narzędzi do takiej pracy.skrypt wielokrotnie lub coś w tym stylu, tak żeby to chociaż trochę szybciej działało niż w tym momencie ? Czy jesteś wstanie pokazać kod? To czy będzie się dało w PHP to jakoś "zrównoleglić" zależy od wielu czynników. Ewentualnie dopisz dokładnej na czym polega i jak działa to obrabianie. Jednym z prostszych sposobów jest po prostu odpalenie danego skryptu n razy, gdzie n to np. liczba rdzeni CPU, i ustawienie by dany skrypt odpalał co n-ty rekord. Ale to czy takie coś można zastosować czy nie zależy od wielu rzeczy, jak już pisałem. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 13:27 |