Qual è l'impatto di aumentare la priorità del process httpd (negativo piacevole)?

Ripristinare un process a un livello negativo piacevole aumenta la priorità di pianificazione del process. I processi ad alta priorità vengono eseguiti prima dei processi a bassa priorità. Essi sono anche autorizzati a correre più a lungo prima di essere pre-empted (hanno tempi più lunghi-fette).

In un server web, eseguire processi httpd con un valore negativo piacevole dovrebbe ridurre la commutazione di context e quindi migliorare le performance complessive .

  • Apache 2.4 Autenticazione ridondante LDAP
  • Nuovo CentOS 7 installare (Google Compute), non può aggiungere voci VirtualHost a /etc/httpd/conf.d/
  • Come configurare l'authentication di base negli host virtuali Apache httpd?
  • Problemi con ProxyPass e ProxyPassReverse quando si proxy a localhost e una port TCP diversa
  • script per testare automaticamente se è disponibile un sito web
  • Che esegue lo spazio di swap sui server web, cosa fare?
  • Qualcuno ha cercato di farlo? Che differenza fa? Il tempo di risposta è migliorato? La deviazione standard del tempo di risposta aumenta o diminuisce? Il throughput è migliorato?

    Edit:

    Non sto cercando di ridurre la priorità di altri processi; e non sto cercando di riparare un sistema sovraccarico. Mi chiedo se effetti netti negativi riducono gli switch di context e, in caso affermativo, quale sia l'impatto di questo su tempi e tempi di risposta.

    2 Solutions collect form web for “Qual è l'impatto di aumentare la priorità del process httpd (negativo piacevole)?”

    Direi di non fare questo. Se il tuo server è così caricato che apache non ottiene il tempo necessario per la CPU, la rinuncia a un process avrà un effetto molto minimo, se presente. Inoltre, apache avrà molti processi diversi in esecuzione in qualsiasi momento. Potresti rifare il process padre e i suoi figli erediteranno la bellezza del padre, ma tutti i processi httpd si combatteranno a vicenda per volta.

    Negli antichi noccioli (dire i tardi anni '90 / primi anni '90), ho trovato che ci sono un certo valore nei processi di rinnovamento (anche se di solito ho solo diminuito la priorità, non aumentato). Con lo scheduler dei kernel moderni, non ho mai trovato che sia necessario o addirittura vale la pena pensare.

    In conclusione, per risolvere i problemi di performance, ci sono una pletora di altre aree che vorrei prestare attenzione a prima di iniziare a incolpare la priorità del process.

    Attenzione: IANAKD (non sono uno sviluppatore del kernel 🙂

    Supponendo che stiamo parlando di Linux, puoi leggere su come è bella implementata:

    http://www.kernel.org/doc/Documentation/scheduler/sched-nice-design.txt

    Per cercare di rispondere alla tua domanda, non influirà sul throughput perché i processi vengono depristorizzati mentre bloccano l'I / O e un server Web che serve a contenuti statici è più probabile che sia associato a I / O.

    Vedere anche il command "ionice", anche se non è utile a less che i diversi processi non contendano per I / O.

    In ultima analisi non credo che ridurre gli switch di context farà la differenza. Molto probabilmente un server Web che serve a contenuti statici sta spendendo tutto il tempo facendo I / O (networking o disco) e la CPU è relativamente intriggers. I processri sono molto più potenti dei sottosisthemes I / O che in questi giorni sono raramente il collo di bottiglia in molti scenari di server. (Ovviamente il numero di creazione di un numero puro o il rendering 3D e tali sono eccezioni a questo proposito.) Se stai pensando di implementare questo aspetto su un vero server per migliorare le performance, suggerisco di controllare il sistema innanzitutto utilizzando strumenti come il top, iostat, vmstat, dstat ecc. per vedere where sta spendendo la maggior parte del suo tempo. Una volta che hai dati sul collo di bottiglia, sarai in una buona posizione per cercare soluzioni.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.