<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>php Anzahl forks der CPU Auslastung anpassen</title>
    <link>http://forum.geizhals.at/feed.jsp?id=875419</link>
    <description>Geizhals-Forum</description>
    <item>
      <title>Re(8): php Anzahl forks der CPU Auslastung anpassen</title>
      <link>http://forum.geizhals.at/t875419,7600560.html#7600560</link>
      <description>&lt;blockquote&gt;&lt;em&gt; Ein "Deadlock" kann aus reiner CPU-Load (ohne RT-Priority bzw. einen Bug im&lt;br&gt;Scheduler) nicht folgen; die Verwendung dieses Begriffs ist hier falsch.&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Das war eher in dem Sinn gemeint, dass durch CPU Überlastung queries länger dauern, somit länger locks setzen, und dadurch wiederrum die Queries länger dauern. Das verselbstständigt sich ab einem gewissen Punkt und sorgt für eine Performancesenkung statt einer Steierung. Aber danke für den Tipp, schau ich mir an&lt;br/&gt;</description>
      <pubDate>Tue, 23 Feb 2016 08:48:11 GMT</pubDate>
      <guid>http://forum.geizhals.at/t875419,7600560.html#7600560</guid>
      <dc:creator>zeddicus</dc:creator>
      <dc:date>2016-02-23T08:48:11Z</dc:date>
    </item>
    <item>
      <title>Re(7): php Anzahl forks der CPU Auslastung anpassen</title>
      <link>http://forum.geizhals.at/t875419,7600553.html#7600553</link>
      <description>&lt;pre&gt;sched_setscheduler(2)&lt;br&gt;nice(2)&lt;/pre&gt;&lt;br&gt;&lt;br&gt;Diese beiden Syscalls sind (unter Linux) die Loesung fuer dein Problem, ohne dass du grosz an einem eigenen Fork-Manager herumbasteln musst.&lt;br&gt;&lt;br&gt;Ein "Deadlock" kann aus reiner CPU-Load (ohne RT-Priority bzw. einen Bug im Scheduler) nicht folgen; die Verwendung dieses Begriffs ist hier falsch.&lt;br/&gt;</description>
      <pubDate>Tue, 23 Feb 2016 08:32:15 GMT</pubDate>
      <guid>http://forum.geizhals.at/t875419,7600553.html#7600553</guid>
      <dc:creator>colo</dc:creator>
      <dc:date>2016-02-23T08:32:15Z</dc:date>
    </item>
    <item>
      <title>Re(7): php Anzahl forks der CPU Auslastung anpassen</title>
      <link>http://forum.geizhals.at/t875419,7598769.html#7598769</link>
      <description>Das heißt, du willst bewußt neben deinen Prozessen etwas headroom überlassen. Vielleicht solltest du das im Originalbeitrag auch erwähnen!&lt;br&gt;&lt;br&gt;Das würde ich eher übers Betriebssystem lösen&amp;nbsp;&amp;nbsp;- CPULIMIT oder was immer Linux da bietet.&lt;br&gt;&lt;br&gt;mfg lukas&lt;br/&gt;</description>
      <pubDate>Fri, 19 Feb 2016 12:16:55 GMT</pubDate>
      <guid>http://forum.geizhals.at/t875419,7598769.html#7598769</guid>
      <dc:creator>Paulas_Papa</dc:creator>
      <dc:date>2016-02-19T12:16:55Z</dc:date>
    </item>
    <item>
      <title>Re(6): php Anzahl forks der CPU Auslastung anpassen</title>
      <link>http://forum.geizhals.at/t875419,7598767.html#7598767</link>
      <description>&lt;blockquote&gt;&lt;em&gt; Ehrlich, ich verstehe dein Problem&lt;br&gt;nicht!&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Das glaub ich dir &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;&lt;em&gt; "CPU dicht" ist der Wunschzustand jedes Betreibers! Genau um das geht es ja.&lt;br&gt;Dann rennt das Werkel am effektivsten. &lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Nein. CPU dicht ist der Wunschzustand wenn du nur einen Prozess hast. Wenn nebenbei aber andere Sachen laufen ist es das ganz und gar nicht. Dann kommt es auf das nice handling, den Aufbau der anderen Prozesse etc. an. Das artet dann eher in Glücksspiel aus. &lt;br/&gt;</description>
      <pubDate>Fri, 19 Feb 2016 12:10:42 GMT</pubDate>
      <guid>http://forum.geizhals.at/t875419,7598767.html#7598767</guid>
      <dc:creator>zeddicus</dc:creator>
      <dc:date>2016-02-19T12:10:42Z</dc:date>
    </item>
    <item>
      <title>Re(6): php Anzahl forks der CPU Auslastung anpassen</title>
      <link>http://forum.geizhals.at/t875419,7598768.html#7598768</link>
      <description>&lt;blockquote&gt;&lt;em&gt; Ehrlich, ich verstehe dein Problem&lt;br&gt;nicht!&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Das glaub ich dir &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;&lt;em&gt; "CPU dicht" ist der Wunschzustand jedes Betreibers! Genau um das geht es ja.&lt;br&gt;Dann rennt das Werkel am effektivsten. &lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Nein. CPU dicht ist VIELLEICHT der Wunschzustand wenn du nur einen Prozess hast. Kann aber zu Deadlocks führen. Wenn nebenbei aber andere Sachen laufen ist es das sowieso ganz und gar nicht. Dann kommt es auf das nice handling, den Aufbau der anderen Prozesse etc. an. Das artet dann eher in Glücksspiel aus. &lt;br/&gt;</description>
      <pubDate>Fri, 19 Feb 2016 12:10:42 GMT</pubDate>
      <guid>http://forum.geizhals.at/t875419,7598768.html#7598768</guid>
      <dc:creator>zeddicus</dc:creator>
      <dc:date>2016-02-19T12:10:42Z</dc:date>
    </item>
    <item>
      <title>Re(5): php Anzahl forks der CPU Auslastung anpassen</title>
      <link>http://forum.geizhals.at/t875419,7598741.html#7598741</link>
      <description>"CPU dicht" ist der Wunschzustand jedes Betreibers! Genau um das geht es ja. Dann rennt das Werkel am effektivsten. &lt;br&gt;&lt;br&gt;Ehrlich, ich verstehe dein Problem nicht!&lt;br&gt;&lt;br&gt;mfg lukas&lt;br/&gt;</description>
      <pubDate>Fri, 19 Feb 2016 11:26:36 GMT</pubDate>
      <guid>http://forum.geizhals.at/t875419,7598741.html#7598741</guid>
      <dc:creator>Paulas_Papa</dc:creator>
      <dc:date>2016-02-19T11:26:36Z</dc:date>
    </item>
    <item>
      <title>Re(4): php Anzahl forks der CPU Auslastung anpassen</title>
      <link>http://forum.geizhals.at/t875419,7598731.html#7598731</link>
      <description>Äh, nochmal:&lt;br&gt;Das RAM ist nicht das Problem. Die CPU ist dicht, oder idlet zu sehr. Das ist genau der Grund warum ich nach Anpassung an CPU Auslastung frage, und nicht nach RAM &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;br/&gt;</description>
      <pubDate>Fri, 19 Feb 2016 11:10:17 GMT</pubDate>
      <guid>http://forum.geizhals.at/t875419,7598731.html#7598731</guid>
      <dc:creator>zeddicus</dc:creator>
      <dc:date>2016-02-19T11:10:17Z</dc:date>
    </item>
    <item>
      <title>Re(3): php Anzahl forks der CPU Auslastung anpassen</title>
      <link>http://forum.geizhals.at/t875419,7598664.html#7598664</link>
      <description>Wenn dir die Returnzeit des einzelnen fork egal ist, fork das Ding zu bis das RAM dicht ist. Der Gesamtdurchsatz ist dann maximal.&lt;br&gt;&lt;br&gt;mfg lukas&lt;br/&gt;</description>
      <pubDate>Fri, 19 Feb 2016 08:46:04 GMT</pubDate>
      <guid>http://forum.geizhals.at/t875419,7598664.html#7598664</guid>
      <dc:creator>Paulas_Papa</dc:creator>
      <dc:date>2016-02-19T08:46:04Z</dc:date>
    </item>
    <item>
      <title>Re(2): php Anzahl forks der CPU Auslastung anpassen</title>
      <link>http://forum.geizhals.at/t875419,7598663.html#7598663</link>
      <description>&lt;blockquote&gt;&lt;em&gt; Meine Erfahrung aus der Dampfcomputerzeit ist, dass es mehr Sinn macht, auf&lt;br&gt;die Auslastung des RAM's zu achten. Bei den aktuellen Betriebssystemen und&lt;br&gt;CPU's ist der Kontextswitch höchst effizient implementiert. Ob da 500 oder 600&lt;br&gt;Threads parallel laufen, ist relativ egal. Wichtig ist, dass kein Thrashing&lt;br&gt;einsetzt. &lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Meine Erfahrung aus meinem Anwendungsfall ist, dass es mehr Sinn macht auf die CPU zu achten, weil meine Forks kaum RAM brauchen aber jede Menge CPU, darum die Frage nach der CPU &lt;img src="zwinker.gif" width="16" height="19" align="absmiddle" alt=";)"/&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote&gt;&lt;em&gt; Wenn es für dich hingegen wichtig ist, dass einige deiner forks&lt;br&gt;"deterministisch" innerhalb gewisser Timelimits fertig werden, ist das eine&lt;br&gt;andere Aufgabe. Dann mußt du klarerweise auf die CPU achten.&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Ist überhaupt nicht meine Anforderung.&lt;br/&gt;</description>
      <pubDate>Fri, 19 Feb 2016 08:41:08 GMT</pubDate>
      <guid>http://forum.geizhals.at/t875419,7598663.html#7598663</guid>
      <dc:creator>zeddicus</dc:creator>
      <dc:date>2016-02-19T08:41:08Z</dc:date>
    </item>
    <item>
      <title>Re: php Anzahl forks der CPU Auslastung anpassen</title>
      <link>http://forum.geizhals.at/t875419,7598660.html#7598660</link>
      <description>Meine Erfahrung aus der Dampfcomputerzeit ist, dass es mehr Sinn macht, auf die Auslastung des RAM's zu achten. Bei den aktuellen Betriebssystemen und CPU's ist der Kontextswitch höchst effizient implementiert. Ob da 500 oder 600 Threads parallel laufen, ist relativ egal. Wichtig ist, dass kein Thrashing einsetzt. &lt;br&gt;&lt;br&gt;&lt;a href="https://en.wikipedia.org/wiki/Thrashing_(computer_science" rel="noopener" target="_blank"&gt;https:/&lt;wbr/&gt;/&lt;wbr/&gt;en.wikipedia.org/&lt;wbr/&gt;wiki/&lt;wbr/&gt;Thrashing_(computer_science&lt;/a&gt; )&lt;br&gt;&lt;br&gt;Wenn es für dich hingegen wichtig ist, dass einige deiner forks "deterministisch" innerhalb gewisser Timelimits fertig werden, ist das eine andere Aufgabe. Dann mußt du klarerweise auf die CPU achten.&lt;br&gt;&lt;br&gt;mfg lukas&lt;br/&gt;</description>
      <pubDate>Fri, 19 Feb 2016 08:35:45 GMT</pubDate>
      <guid>http://forum.geizhals.at/t875419,7598660.html#7598660</guid>
      <dc:creator>Paulas_Papa</dc:creator>
      <dc:date>2016-02-19T08:35:45Z</dc:date>
    </item>
    <item>
      <title>Re: php Anzahl forks der CPU Auslastung anpassen</title>
      <link>http://forum.geizhals.at/t875419,7598419.html#7598419</link>
      <description>&lt;blockquote&gt;&lt;em&gt; $core_nums = trim(shell_exec("grep -P '^processor' /proc/cpuinfo|wc -l"));&lt;br&gt;&lt;/em&gt;&lt;/blockquote&gt;&lt;br&gt;&lt;br&gt;Falls das ein Linux Host ist:&lt;br&gt;Die Anzahl der CPUs/Kerne/Threads könntest du auch über nproc herausfinden (das spart ein paar pipes/processes).&lt;br&gt;&lt;br&gt;lg. mb&lt;br/&gt;</description>
      <pubDate>Thu, 18 Feb 2016 17:02:49 GMT</pubDate>
      <guid>http://forum.geizhals.at/t875419,7598419.html#7598419</guid>
      <dc:creator>matchbox</dc:creator>
      <dc:date>2016-02-18T17:02:49Z</dc:date>
    </item>
    <item>
      <title>php Anzahl forks der CPU Auslastung anpassen</title>
      <link>http://forum.geizhals.at/t875419,7598364.html#7598364</link>
      <description>Ich hab bei mir ein php script, welches kontinuierlich läuft, eine Anzahl von forks erzeugt, und in den children jeweils einen Teil der Daten abarbeitet, wartet bis die forks fertig sind, dann im parent bissl was macht und dann geht das ganze wieder von vorn los.&lt;br&gt;&lt;br&gt;Jetzt ist es so, dass sich, speziell nach einem Serverreboot dieses script erst "einlaufen" muss. Sprich, solange der Cache leer ist, braucht es relativ viel CPU, nach und nach immer weniger, und ich kann eigentlich öfter forken, will ja die CPU nicht brach liegen lassen.&lt;br&gt;&lt;br&gt;wäre folgende Herangehensweise einigermaßen zielführend, oder gibts da ev. was anderes wie man das macht, oder ...?&lt;br&gt;&lt;br&gt;&amp;lt;?php&lt;br&gt;&lt;br&gt;$noForks = 2;&lt;br&gt;$upperLimitCPU = 75;&lt;br&gt;$targetCPU = 65;&lt;br&gt;&lt;br&gt;while(true&lt;br&gt;{&lt;br&gt;&lt;br&gt;$loads = sys_getloadavg();&lt;br&gt;$core_nums = trim(shell_exec("grep -P '^processor' /proc/cpuinfo|wc -l"));&lt;br&gt;$load = round($loads[1]/($core_nums + 1)*100, 2);&lt;br&gt;&lt;br&gt;if ($load &lt; $targetCPU)&lt;br&gt;&amp;nbsp;&amp;nbsp;$noForks++;&lt;br&gt;else if ($load &gt; $upperLimitCPU &amp;&amp; $noForks &gt; 2)&lt;br&gt;&amp;nbsp;&amp;nbsp;$noForks--;&lt;br&gt;&lt;br&gt;&lt;br&gt;//=&gt; create $noForks forks...&lt;br&gt;.&lt;br&gt;//do some stuff&lt;br&gt;.&lt;br&gt;//close forks&lt;br&gt;&lt;br&gt;}&lt;br/&gt;</description>
      <pubDate>Thu, 18 Feb 2016 15:00:39 GMT</pubDate>
      <guid>http://forum.geizhals.at/t875419,7598364.html#7598364</guid>
      <dc:creator>zeddicus</dc:creator>
      <dc:date>2016-02-18T15:00:39Z</dc:date>
    </item>
  </channel>
</rss>
