wydajność - aplikacje wielowątkowe lub wieloprocesowe

W celu opracowania wysoce intensywnej aplikacji serwera na Linuksie, jaki rodzaj architektury jest preferowany? Pomysł polega na tym, że ta aplikacja zwykle działa na maszynach z wieloma rdzeniami (wirtualnymi lub fizycznymi). Biorąc pod uwagę, że wydajność jest kluczowym kryterium, czy lepiej jest skorzystać z aplikacji wielowątkowej lub z projektem wieloprocesowym? Wiem, że współdzielenie zasobów i synchronizacja z dostępem do takich zasobów z wielu procesów jest dużym obciążeniem programistycznym, ale jak wspomniano wcześniej, ogólna wydajność jest kluczowym wymaganiem, więc możemy zignorować te rzeczy. A językiem programowania byłby C / C ++.

Słyszałem, że nawet aplikacje wielowątkowe (pojedynczy proces) mogą korzystać z wielu rdzeni i niezależnie uruchamiać każdy wątek na innym rdzeniu (o ile nie ma problemów z synchronizacją). A to planowanie jest wykonywane przez jądro. Jeśli tak, czy nie ma dużej różnicy w wydajności między aplikacjami wielowątkowymi a aplikacjami wieloprocesowymi? Nginx wykorzystuje architekturę wieloprocesową i jest naprawdę szybki, ale czy można uzyskać taką samą wydajność w aplikacjach wielowątkowych?

Dzięki.

questionAnswers(2)

yourAnswerToTheQuestion