Wielowątkowa i współbieżność Core Distribution
#1

Korzystaliśmy z platformy produktów silnikowych przepływu pracy i zintegrowaliśmy z nią naszą aplikację internetową. W ciągu miesięcy i lat mieliśmy problemy z wydajnością. Zawsze nauczaliśmy, że to z powodu złego kodu aplikacji, dopóki nie znaleźliśmy tego klejnotu.   Po wyjęciu pulę wątków roboczych ustawiono na 20.   Wątek roboczy to dowolna forma API, którą zapewniają .... np.   1. Zapytanie o oczekujące zadania 2. Rozpocznij przepływ pracy 3. Wykonywanie akcji w przepływie pracy 4. Zatwierdzenie e-maila 5. Zarządzanie api   Wszystkie te funkcje będą stanowić wątek roboczy.     Jednak oprogramowanie jest zaprojektowane do uruchamiania jednego wątku na rdzeń procesora.   Jeśli masz 2 podstawowe ustawienia, maksymalnie 2 wątki współbieżne w dowolnym punkcie t0. Jeśli masz 8 podstawowych ustawień, maksymalnie 8 wątków współbieżnych w dowolnym punkcie t0 i tak dalej. Wszelkie inne wątki, które uderzyły w sufit, są umieszczane na bloku oczekiwania aż do uwolnienia rdzenia.     Czy ktoś się zgadza, że to jest projekt dźwiękowy? Dla mnie to jest przerażające. Dlaczego miałbym chcieć sztucznie ograniczyć to jądro, powinienem pozwolić systemowi / kernelowi rozłożyć obciążenie.   Nawet jeśli mam bestię maszyny, najszybszy procesor, największą pamięć RAM, największy i najszybszy dysk twardy, wciąż jestem ograniczony przez sufit rdzeń procesora.   Wyobraź sobie basen, bez względu na to, jak wielki będzie basen, maksimum, 2/8/16/32 .... pływacy są dozwolone.     Doceń wszelkie komentarze. Dzięki!
Reply
#2

davidktw napisał: W przypadku silnika workflow maksymalna ilość pamięci RAM i dysku twardego nie jest częścią równania. Najszybszy procesor pomoże. Zwykle wątki nie są ograniczone do rdzeni, system operacyjny często rozprzestrzenia ładunek wątków dookoła, chyba że posiadasz wyraźną regułę powinowactwa. To, co opisałeś, przypomina raczej ograniczenie licencyjne, a nie decyzję o wydajności. Pracownik prawdopodobnie nie odnosi się do wątków systemu operacyjnego. Jest to wątek roboczy mechanizmu workflow. W ten sposób zwykle sprzedają pojemność swojego systemu. Jeśli potrzebujesz więcej pracowników na silnik workflow, musisz kupić od dostawcy. Aby odpowiedzieć na pytanie DLACZEGO, to wszystko BIZNES Jednak model wyceny licencji był przez serwer, więc nie ma ograniczenia cpu w aspekcie prawnym. Podejrzewałem, że jest to chwyt sprzedażowy ... powiedzieli, że twoja konfiguracja nie może obsłużyć obciążenia, więc musisz kupić więcej licencji na serwer i dodać do swojej farmy przepływu pracy. lub Myślą, że mogą wykonać lepszą pracę niż jądro.
Reply
#3

silver09 napisał: Jednak model wyceny licencji był przez serwer, więc nie ma ograniczenia cpu w aspekcie prawnym. Podejrzewałem, że jest to chwyt sprzedażowy ... powiedzieli, że twoja konfiguracja nie może obsłużyć obciążenia, więc musisz kupić więcej licencji na serwer i dodać do swojej farmy przepływu pracy. lub Myślą, że mogą wykonać lepszą pracę niż jądro. Według konsultanta produktu każdy wątek roboczy jest obsługiwany przez każdy rdzeń procesora. Nie mogę tego potwierdzić, ponieważ nie widzę źródła, czy powyższe jest prawdziwe, czy tylko ograniczenie ograniczeń oprogramowania.
Reply
#4

silver09 napisał: Jednak model wyceny licencji był przez serwer, więc nie ma ograniczenia cpu w aspekcie prawnym. Podejrzewałem, że jest to chwyt sprzedażowy ... powiedzieli, że twoja konfiguracja nie może obsłużyć obciążenia, więc musisz kupić więcej licencji na serwer i dodać do swojej farmy przepływu pracy. lub Myślą, że mogą wykonać lepszą pracę niż jądro. Czy jesteś pewien, że model licencjonowania jest TYLKO na serwerze i nie ma ograniczeń dotyczących przepływu pracy? Pamiętam, że natrafiłem na silniki przepływu pracy z ograniczeniami wątków na serwer. Bardzo łatwo jest uzasadnić ładunek i poprosić sprzedawcę lub konsultanta, aby to potwierdził. Jeśli roszczenia dotyczące poszczególnych rdzeni zostaną załadowane, jeśli silnik przepływu pracy ma taką samą współbieżność, jak w przypadku rdzenia w systemie, należy poprosić ich o wykazanie, który przepływ pracy wykorzystuje całą moc obliczeniową i wykazać obciążenie procesora o wartości zbliżonej do 100%, gdy jest tak dużo konkurencja
Reply
#5

silver09 napisał: Według konsultanta produktu każdy wątek roboczy jest obsługiwany przez każdy rdzeń procesora. Nie mogę tego potwierdzić, ponieważ nie widzę źródła, czy powyższe jest prawdziwe, czy tylko ograniczenie ograniczeń oprogramowania. Nie jestem pewien, czy jesteś w stanie skonfigurować swój silnik workflow do pracy przy maksymalnym obciążeniu, co oznacza, że wszystkie wątki są zajęte non-stop. Jeśli tak, po prostu wykryj rzeczywiste użycie zasobów procesora. Oprogramowanie można projektować z dowolnymi ograniczeniami, jakich wymagali deweloperzy. To oznacza, że mamy 1 nitkę na rdzeń. Może to być uzasadnione, gdy wątki są związane z CPU. Jeśli nie, to nie ma sensu. Istnieje oprogramowanie, które będzie miało konfigurację do konfiguracji lub automatycznego wykrywania liczby rdzeni / procesora i ustawi współbieżność dla tej liczby, jeśli wie, że operacje są związane z CPU, a nie z we / wy (sieć / pamięć masowa). Kodowanie wideo jest jednym z takich programów.
Reply
#6

davidktw napisał: Czy jesteś pewien, że model licencjonowania jest TYLKO na serwerze i nie ma ograniczeń dotyczących przepływu pracy? Pamiętam, że natrafiłem na silniki przepływu pracy z ograniczeniami wątków na serwer. Bardzo łatwo jest uzasadnić ładunek i poprosić sprzedawcę lub konsultanta, aby to potwierdził. Jeśli roszczenia dotyczące poszczególnych rdzeni zostaną załadowane, jeśli silnik przepływu pracy ma taką samą współbieżność, jak w przypadku rdzenia w systemie, należy poprosić ich o wykazanie, który przepływ pracy wykorzystuje całą moc obliczeniową i wykazać obciążenie procesora o wartości zbliżonej do 100%, gdy jest tak dużo konkurencja Sprawdziłem z moim dyrektorem sprzedaży, opiera się on na serwerze / pudełku. Dałem im przypadek testowy wykorzystujący tylko swoją platformę, na której mogę wyczerpać limit, a interfejs workflow zostaje w ten sposób okaleczony. Początkowo próbowali twierdzić, że po zaprojektowaniu, po debacie i sporze, powrócili do zespołu inżynierów ds. Produktu z powrotem w USA. Wszyscy moi rówieśnicy, koledzy z zespołu, inni technicy mówią, że to jest opóźnione ..... Próbuję znaleźć jedną osobę, która może nie zgadzać się ze mną, która nie jest stronnicza w stosunku do produktu. Myślałem, że moje zajęcia z informatyki okazały się daremne, gdy natknąłem się na to ......
Reply
#7

davidktw napisał: Nie jestem pewien, czy jesteś w stanie skonfigurować swój silnik workflow do pracy przy maksymalnym obciążeniu, co oznacza, że wszystkie wątki są zajęte non-stop. Jeśli tak, po prostu wykryj rzeczywiste użycie zasobów procesora. Oprogramowanie można projektować z dowolnymi ograniczeniami, jakich wymagali deweloperzy. To oznacza, że mamy 1 nitkę na rdzeń. Może to być uzasadnione, gdy wątki są związane z CPU. Jeśli nie, to nie ma sensu. Istnieje oprogramowanie, które będzie miało konfigurację do konfiguracji lub automatycznego wykrywania liczby rdzeni / procesora i ustawi współbieżność dla tej liczby, jeśli wie, że operacje są związane z CPU, a nie z we / wy (sieć / pamięć masowa). Kodowanie wideo jest jednym z takich programów. Istnieje konfiguracja zwiększająca pulę, ale nie związana z rdzeniem procesora. W samym oprogramowaniu byłby wewnętrzny. Co spowodowałoby, że pula wzrośnie na próżno, ponieważ jesteś ograniczony przez rdzeń procesora .....
Reply
#8

davidktw napisał: Cóż, znalazłeś tutaj jedną bezstronną recenzję. Poza ograniczeniami biznesowymi, nie uważam, że silnik workflow powinien być ograniczony do jednego wątku na rdzeń, ponieważ często jest dużo synchronizacji z jednego procesu przepływu pracy do drugiego, więc blokowanie logiki biznesowej często powoduje dużo luki w procesorze . Również dlatego, że przepływy pracy muszą być dobrze kontrolowane i przechowywane w celu zapewnienia atomowości, będzie wystarczająca liczba operacji we / wy między bazą danych a silnikiem w celu utworzenia współzależności. Podczas gdy oprogramowanie może zalecać optymalizację, ostrzegając o tym, że liczba wątków roboczych nie powinna przekraczać określonego czynnika w stosunku do liczby procesorów / rdzeni, nie ma potrzeby, aby silniki przepływu pracy technicznie ograniczały jeden wątek na rdzeń. Dzięki!!!! Teraz mam pewność, że moje opłaty za naukę comp nie zostały zmarnowane .... Dałem im szansę na odpowiedź, jeśli wrócą i powiedzą, że jest to zgodne z projektem i nie ulegnie zmianie, ujawnię produkt. Ludzie muszą wiedzieć o tym nonsensie ...
Reply


Forum Jump:

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5


Users browsing this thread: 2 Guest(s)