资讯专栏INFORMATION COLUMN

lnmp高并发优化简介

vincent_xyb / 1019人阅读

摘要:一优化思路二优化配置层面中配置子进程允许打开的文件数结束响应后立即断开连接。表示完成响应后,继续保持连接多久。如果网站并发比较大,可以用静态方式一次性生成多个子进程,保持的内存中。

一、优化思路

二、nginx优化配置
//nginx层面
//nginx.conf中配置
worker_rlimit_nofile 10000;   //子进程允许打开的文件数
keepalive_timeout 0;          //结束响应后立即断开tcp连接。
//keeplive_timeout表示tcp完成响应后,继续保持连接多久。如果这个值过大,会造成资源无效占用。
events{
    worker_connections 10240;
}
//系统层面
echo 500000 > /proc/sys/net/core/somaxconn  //设置最大连接数
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle  //加快tcp回收
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse    //空的tcp允许回收利用
echo 0 > /proc/sys/net/ipv4/tcp_syncookies  //关闭洪水抵御

ulimit -n 30000
三、nginx&php-fpm优化配置

nginx将请求转发给php-fpm处理,当nginx转发很多请求时,php-fpm进程不够用,就会生成子进程。然而生成子进程需要内核来调度,比较耗时。如果网站并发比较大,可以用静态方式一次性生成多个子进程,保持的内存中。

//修改phjp-fpm.conf
pm=static   //让php-fpm进程始终保持,不需要动态生成
pm.max_children=32 始终保持的子进程数量
四、php&mysql优化
思路

内核层面:加大连接数,加快tcp回收

mysql层面:增大连接数

php层面:用长连接,节省连接数

用内存缓存(memcached),减轻mysql压力

注意

内存缓存适用于缓存复杂的sql查询。因为php与memcached也要建立tcp连接,所以简单的sql查询不需要用缓存。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/23100.html

相关文章

  • lnmp并发优化简介

    摘要:一优化思路二优化配置层面中配置子进程允许打开的文件数结束响应后立即断开连接。表示完成响应后,继续保持连接多久。如果网站并发比较大,可以用静态方式一次性生成多个子进程,保持的内存中。 一、优化思路 showImg(https://segmentfault.com/img/bVOXVv?w=659&h=303); 二、nginx优化配置 //nginx层面 //nginx.conf中配置 ...

    android_c 评论0 收藏0
  • 【nginx网站性能优化篇(4)】理解nginx的并发原理及其配置调优

    摘要:使用了多路复用技术的,就成了并发事件驱动的服务器。进程主要负责收集分发请求。同时进程也负责监控的状态,保证高可靠性进程一般设置为跟核心数一致。所以才使得支持更高的并发。配置调优调整指要生成的数量最佳实践是每个运行个工作进程。 Nginx 是如何实现高并发的? Nginx 采用的是多进程(单线程) & 多路IO复用模型。使用了 I/O 多路复用技术的 Nginx,就成了并发事件驱动的服务...

    CODING 评论0 收藏0
  • PHP程序员学习路线

    摘要:第一阶段基础阶段基础程序员重点把搞熟练核心是安装配置基本操作目标能够完成基本的系统安装,简单配置维护能够做基本的简单系统的开发能够在中型系统中支持某个功能模块的开发。本项不做重点学习,除非对前端有兴趣。 第一阶段:基础阶段(基础PHP程序员) 重点:把LNMP搞熟练(核心是安装配置基本操作) 目标:能够完成基本的LNMP系统安装,简单配置维护;能够做基本的简单系统的PHP开发;能够在P...

    genedna 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<