性能优化
<h2>操作系统层面</h2>
<ul>
<li>提升CPU的利用效率</li>
<li>提升内存的利用效率</li>
<li>提升磁盘IO的利用效率</li>
<li>提升网络的利用效率</li>
<li>资源应当尽可能被用户空间的应用程序利用,而不是消耗在内核空间</li>
</ul>
<h2>典型问题</h2>
<ul>
<li>sys的CPU利用率过高</li>
<li>磁盘IO使用率较高,持续大于80%</li>
<li>JAVA程序设计不当死循环导致线程死锁,CPU飙升到100%</li>
</ul>
<h2>原件层面</h2>
<ul>
<li>更换性能更好的CPU</li>
<li>关键应用程序数据使用固态盘</li>
<li>更换速度更高的网卡,例如万兆网卡</li>
<li>更换更大更快的内存</li>
</ul>
<h2>nginx调度CPU的机制</h2>
<ul>
<li>1个核心的CPU,只能同时调度执行一个进程,不能同时执行多个进程</li>
</ul>
<h2>优化nginx使用CPU遵循原则</h2>
<ul>
<li>尽可能占用全部的CPU资源</li>
<li>尽可能占用更大的CPU时间片、减少进程间切换</li>
</ul>
<h2>优化nginx使用CPU策略</h2>
<pre><code class="language-nginx"># 指定worker子进程个数
worker_processes auto;
# 将worker子进程与每个CPU绑定
worker_cpu_affinity 01 10 01 10;
# 提高worder子进程的进程优先级
worker_priority -20;
# 延迟处理新连接
listen 80 deferred;</code></pre>