Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Erfahrungsaustausch pthreads or forks

  1. #1
    Registrierter Benutzer Avatar von Mattburger
    Registriert seit
    11.05.2001
    Ort
    Reutlingen
    Beiträge
    69

    Erfahrungsaustausch pthreads or forks

    Hi all,

    ich habe gerade eine kleine Web-Applikation geschrieben und benutze hierzu die Indy Componenten. Als naechstes plane ich diese durch direkte API's zu ersetzen. Entweder werden hierzu mehrere Prozesse abgespalten (fork) oder es werden die pthreads verwendet.
    Die Prozesse sind langsamer und brauchen mehr Resourcen / Performance - laufen dafuer jedoch stabiler.
    Die Threads sind schneller jedoch nicht so sicher.

    Hat jemand Erfahrung mit der Programmierung von Web-Servern ?
    Was wurdet Ihr empfehlen ?

    Gruesse

    Mike

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    macht der Prozess-Overhead unter Linux wirklich was aus?

    Ich glaube die vorteile von Threads sind
    • unter Windows: schnelleres Task-Switching
    • gemeinsame Speicherstrukturen -> evtl. vereinfachte Kommunikation zwischen threads


    da unter Linux abgesehen von einigen Strukturen "thread == prozess" gilt, kommt es glaubich nicht so drauf an...

    Aber ich habe _keine_ Erfahrung in der Programmierung von Webservern

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer Avatar von Mattburger
    Registriert seit
    11.05.2001
    Ort
    Reutlingen
    Beiträge
    69
    macht der Prozess-Overhead unter Linux wirklich was aus?
    - Generell Ja. Es wird ja der komplette Prozess kopieret und damit auch der Speicher.
    Das Programm ist jedoch nicht so gross und daher Nebensache.

    kommt es glaubich nicht so drauf an.
    - Eben !
    Ich werd wahrscheinlich ohnehin beide Versionen entwickeln und das ganze konfigurierbar machen. Ich dachte mir nur 'mal sehen was andere dazu meinen bzw. welche Erfahrungen gesammelt wurden'.

  4. #4
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Wenn zwischen den Prozessen wenig kommuniziert werden muss, dann hat Process nicht so viele Nachteile, aber ist eben sicherer.

    Apache httpd 1.x benutz dieses Konzept ziemlich erfolgreich unter Unix.
    Apache httpd 2.x hat da mehrere Möglichkeiten:
    http://httpd.apache.org/docs-2.0/mpm.html

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  5. #5
    Registrierter Benutzer
    Registriert seit
    08.11.2002
    Ort
    Hennef
    Beiträge
    106
    hallo,

    Generell Ja. Es wird ja der komplette Prozess kopieret und damit auch der Speicher.
    Das Programm ist jedoch nicht so gross und daher Nebensache.
    Der Prozess wird nicht kopiert in dem Sinne das das programm jetzt doppelt
    im Speichet existiert.
    Es wird nur ein neuer Instruction-pointer erzeugt der dann auf das selbe Text-Segment
    (Programm) zeigt das von beiden Prozessen dann benutzt wird..
    Der Rest also Data-,Stacksegment werden erst kopiert wenn der Kindprozess auch tatsächlich drauf zugreift (COW -> Copy on write). Also FD 's usw.

    nur mal so als Hint.
    Das mit dem "Prozess kopieren" ist immer so irreführend

    gruß

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •