专业网站建设_企业品牌营销 · 北京汇仁智杰科技有限公司

Web前端知識

首頁 > 免費 > Web前端知識 >

你知道高流量站點NGINX與PHP-fpm配置是如何優化的嗎?

來源:北京匯仁智杰科技有限公司   時間:2016-04-09   點擊:

  很多時候,我沒都會問一個問題,那些高流量的站點是如何做到有那么多的流量的?他們配置后又是如何優化的呢?那么今天匯仁智杰的程序大師就和大家說說我們該如何優化。
  1. 將TCP切換為UNIX域套接字
  UNIX域套接字相比TCP套接字在loopback接口上能提供更好的性能(更少的數據拷貝和上下文切換)。
  但有一點需要牢記:僅運行在同一臺服務器上的程序可以訪問UNIX域套接字(顯然沒有網絡支持)。
  upstream backend
  {
      # UNIX domain sockets
      server unix:/var/run/fastcgi.sock;

      # TCP sockets
      # server 127.0.0.1:8080;
  }
  2. 調整工作進程數
  現代計算機硬件是多處理器的,NGINX可以利用多物理或虛擬處理器。
  多數情況下,你的Web服務器都不會配置為處理多種任務(比如作為Web服務器提供服務的同時也是一個打印服務器),你可以配置NGINX使用所有可用的處理器,NGINX工作進程并不是多線程的。
  運行以下命令可以獲知你的機器有多少個處理器:
  Linux上 -
  cat /proc/cpuinfo | grep processor
  FreeBSD上 -
  sysctl dev .cpu | grep location
  將nginx.conf文件中work_processes的值設置為機器的處理器核數。
  同時,增大worker_connections(每個處理器核心可以處理多少個連接)的值,以及將"multi_accept"設置為ON,如果你使用的是Linux,則也使用"epoll":
  # We have 16 cores
  worker_processes 16;

  # connections per worker
  events
  {
  worker_connections 4096;
  multi_accept on;
  }
  3. 設置upstream負載均衡
  以我們的經驗來看,同一臺機器上多個upstream后端相比單個upstream后端能夠帶來更高的吞吐量。
  例如,如果你想支持最大1000個PHP-fpm子進程(children),可以將該數字平均分配到兩個upstream后端,各自處理500個PHP-fpm子進程:
  upstream backend {
  server unix:/var/run/php5-fpm.sock1 weight=100 max_fails=5 fail_timeout=5;
  server unix:/var/run/php5-fpm.sock2 weight=100 max_fails=5 fail_timeout=5;
  }
  4. 禁用訪問日志文件
  這一點影響較大,因為高流量站點上的日志文件涉及大量必須在所有線程之間同步的IO操作。
  access_log off;
  log_not_found off;
  error_log /var/log/nginx-error.log warn;
  若你不能關閉訪問日志文件,至少應該使用緩沖:
  access_log /var/log/nginx/access.log main buffer=16k;
  5. 啟用GZip
  gzip on;
  gzip_disable "msie6";
  gzip_vary on;
  gzip_proxied any;
  gzip_comp_level 6;
  gzip_min_length 1100;
  gzip_buffers 16 8k;
  gzip_http_version 1.1;
  gzip_types text/plain text/css application/json application/x-javascript text/xml   application/xml application/xml+rss text/javascript;
  6. 緩存被頻繁訪問的文件相關的信息
  open_file_cache max=200000 inactive=20s;
  open_file_cache_valid 30s;
  open_file_cache_min_uses 2;
  open_file_cache_errors on;
  7. 調整客戶端超時時間
  client_max_body_size 500M;
  client_body_buffer_size 1m;
  client_body_timeout 15;
  client_header_timeout 15;
  keepalive_timeout 2 2;
  send_timeout 15;
  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  8. 調整輸出緩沖區大小
  fastcgi_buffers 256 16k;
  fastcgi_buffer_size 128k;
  fastcgi_connect_timeout 3s;
  fastcgi_send_timeout 120s;
  fastcgi_read_timeout 120s;
  reset_timedout_connection on;
  server_names_hash_bucket_size 100;
  9. /etc/sysctl.conf調優
  # Recycle Zombie connections
  net.inet.tcp.fast_finwait2_recycle=1
  net.inet.tcp.maxtcptw=200000

  # Increase number of files
  kern.maxfiles=65535
  kern.maxfilesperproc=16384

  # Increase page share factor per process
  vm.pmap.pv_entry_max=54272521
  vm.pmap.shpgperproc=20000

  # Increase number of connections
  vfs.vmiodirenable=1
  kern.ipc.somaxconn=3240000
  net.inet.tcp.rfc1323=1
  net.inet.tcp.delayed_ack=0
  net.inet.tcp.restrict_rst=1
  kern.ipc.maxsockbuf=2097152
  kern.ipc.shmmax=268435456

  # Host cache
  net.inet.tcp.hostcache.hashsize=4096
  net.inet.tcp.hostcache.cachelimit=131072
  net.inet.tcp.hostcache.bucketlimit=120

  # Increase number of ports
  net.inet.ip.portrange.first=2000
  net.inet.ip.portrange.last=100000
  net.inet.ip.portrange.hifirst=2000
  net.inet.ip.portrange.hilast=100000
  kern.ipc.semvmx=131068

  # Disable Ping-flood attacks
  net.inet.tcp.msl=2000
  net.inet.icmp.bmcastecho=1
  net.inet.icmp.icmplim=1
  net.inet.tcp.blackhole=2
  net.inet.udp.blackhole=1
  10. 監控
  持續監控打開連接的數目,空閑內存以及等待狀態線程的數目。
  設置警報在超出閾值時通知你。你可以自己構建這些警報,或者使用類似ServerDensity的東西。
  確認安裝了NGINX的stub_status模塊。該模塊默認并不會編譯進NGINX,所以可能你需要重新編譯NGINX -
  ./configure --with-http_ssl_module --with-http_stub_status_module --without-  mail_pop3_module
  --without-mail_imap_module --without-mail_smtp_module
  make install BATCH=yes
  以上呢!就是匯仁智杰小編和大家說的,希望對你有所幫助,今天的內容就分享這些啦。

網絡營銷推廣 . 北京匯仁智杰科技有限公司!

地址:北京市昌平區回龍觀龍冠大廈5層
咨詢:13370157521
業務QQ:373002979
E - mail:sales @ huirenzhijie.com
企業網站備案:京ICP備15021091號-1

匯仁智杰與眾不同

  • 有網絡推廣經驗
  • 有網站建站隊伍
  • 有大型網站建設經驗
  • 致力于營銷型網站建設
  • 始終堅持技術和服務同樣重要
查看PC版網站
備案號:京ICP備15021091號-1 版權所有:匯仁智杰

主站蜘蛛池模板: 济南德固机械|膨化食品生产线|早餐谷物玉米片生产线|拉丝蛋白生产线|速食米饭生产线 | 台式氙灯老化箱-光伏组件-真空老化试验箱|中科万通仪器官网 | 芜湖液压配件-液压过滤器滤芯-水过滤器-芜湖新俊液压设备有限公司 | 上海珑析仪表有限公司 | 山东净化车间_净化工程_净化公司-山东海蓝净化装饰工程有限公司 山东金起起重机械有限公司[官网]-金桥银路悬臂吊,金起龙门吊,山东金起起重行吊,单梁起重机 | 消防排烟风机|3C排烟风机|正压送风机|高温排烟风机|柜式排烟风机-山东锦松环境设备有限公司 | 软文营销推广-新闻稿发布-软文撰写-百科词条编辑-品牌全案策划推广网络营销传播-喜尚传媒 | 上饶环亚电脑会计培训学校--电脑学校|上饶电脑学校|上饶电脑培训|会计培训|上饶会计培训|上饶县会计培训|广丰会计培训|玉山会计培训|横峰会计培训|上饶网店培训 上进电缆(嘉兴)股份有限公司官网 - 光伏电缆|防火电缆|电力电缆|铝合金电缆专业生产厂家 | 空气消毒机厂家-医用空气消毒机-医用空气净化器-山东佳境医疗 | 潍坊亿宏重工机械有限公司,破碎机,高性能立磨机,颚式破碎机,锤式破碎机反击式破碎机,重锤式破碎机,高性能反击式破碎机,圆锥式破碎机,给料机系列,链板给料机系列,简易给料机系列,振动给料机 | 气体检测仪,多功能气体检测仪,四合一检测仪,氯气检测仪,有机挥发气体检测仪,气体报警器-南京诺邦电子科技有限公司 | 狠狠穞A片一區二區三區-免费网站在线观看人数更新时间-欧洲尺码日本尺码专线不卡顿,国产大尺度禁片未删减版,baomaav | 湖南长沙癫痫病医院_湖南癫痫病专科医院_湖南治疗癫痫病专业医院_长沙和谐医院有限公司 | 加力管钳,液压动力钳,液压转盘-加力管钳,液压动力钳,液压转盘,山东临朐静远石油机械有限公司 | 浙江云野科技有限公司_智慧旅游规划_智慧景区管理系统_全域旅游解决方案-云野科技旅游大数据管理平台 | 中山电子控制板|中山工业控制板|中山市云禾电子科技有限公司 | 扬州市德友线缆有限公司-业从事高端特种线缆研发、制造、销售与服务。 | 重庆木门_重庆木门十大品牌_重庆套装门_重庆烤漆门_重庆套装门十大品牌_重庆木门一线品牌_重庆川田木门 | 铸铁平台,三维柔性焊接平台,划线平台,大理石平台,检验平板,花岗石平台_泊头市恒量机械设备有限公司 | 真空清洗炉_电磁感应真空清洗炉-盐城市盛逸化纤机械有限公司 | 全自动视觉点胶机|在线式点胶机|精密点胶阀设备厂家-杭州迈伺特科技有限公司 | 青岛相控阵检测_无损探伤检测机构_相控阵超声检测公司-青岛发现检验技术咨询 | 紫铜箔(带)导电胶带定做,定做紫铜箔(带)导电胶带厂家[价格]-艾飞敏铜箔 | 江苏广分检测技术有限公司、电力安全工具检测、苏州绝缘工具检测、昆山电力安全工具检测-广分检测技术(苏州)有限公司 | 疲劳试验机|电子万能试验机|摩擦磨损试验机|冲击试验机|济南全力测试技术有限公司 | 萘系减水剂|缓凝|早强|聚羧酸|混凝土|石膏板|管桩减水剂厂家-潍坊英宏建材有限公司 | 升降机_举升机_液压升降机_化工防爆升降平台_山东华雄机械有限公司 | 直流电机调速器,直流电机控制器,直流电机调速电源-淄博诚铖创惠电子有限公司 | 南京三维动画制作公司,企业视频制作,视频拍摄,FLASH动画设计,宣传片拍摄,广告片制作 | 聚焦吉林-城市晚报官方网站 | 山西配电柜,高低压成套柜,太原高低压柜,山西开关柜,箱变壳体_山西雷隆电柜电气设备有限公司 | 玉米加工机械_玉米深加工机械_玉米加工设备--河南工粮机械设备有限公司 | 江门高空车出租|高空作业设备出租|中特设备租赁有限公司 | 眉山净源居环保科技有限公司,眉山除甲醛公司,眉山甲醛治理,眉山保洁服务,眉山家政保洁,眉山家电维修 - 眉山净源居环保科技有限公司,眉山除甲醛公司,眉山甲醛治理,眉山保洁服务,眉山家政保洁,眉山家电维修 | 铝合金百叶窗_西安百叶窗厂家-西安市未央区通达建材物资部 | 数字多媒体展厅设计,智慧科技互动企业展馆展厅设计公司-深圳炫之风 | 企好网 - 中国B2B产业互联网践行者|百度爱采购官方授权一级服务商 | 行情网 - 钢材行情,金属行情,废金属行情,农产品行情,化工行情,水泥行情 | 宁夏密集型母线槽厂家-封闭式母线槽-电力工程安装-天地经纬电力 宁波允泰仪器有限公司-硬度计、拉力试验机、盐雾试验箱、影像测量仪、气动量仪 | 上海办公室租赁-写字楼出租、创意产业园区厂房招商、孵化器众创联合办公空间出租网 | 金坛区成辉仪器厂-精密増力电动搅拌器,石英亚沸蒸馏水器- |