当前位置:  操作系统/服务器>linux

单台web服务器如何尽可能的提高网站性能

    来源: 互联网  发布时间:2014-08-25

    本文导语:  我觉得首先要选择一个合适的环境,对于大多数php站点来说,运行在lnmp(linux+nginx+mysql+php)环境下是个理想的选择. 首先一点linux对比win的优势我就不说了。 其次nginx的优势总结起来就是负载均衡,高并发性能优异。 这里php采...

我觉得首先要选择一个合适的环境,对于大多数php站点来说,运行在lnmp(linux+nginx+mysql+php)环境下是个理想的选择.

首先一点linux对比win的优势我就不说了。

其次nginx的优势总结起来就是负载均衡,高并发性能优异。

这里php采用fastcgi的方式接入nginx,php5.3 自带的php-fpm已经很好了,相比于apache的php模块方式,这里由php自己直接处理php请求是比较好的,并且可调控进程数量以优化并发性能。

上面说的是基本环境,我有一台q6600的老四核,4G内存的linux服务器,上面跑了几十个站点,最高跑到90M带宽,成功hold住!

下面说说程序方面的优化。

我们知道,静态页面的速度比动态页面要快,尤其是在nginx下,静态页面直接由nginx提供服务,性能尤其高。而动态页面,虽然fastcgi也很好,但是相比于nginx直接处理静态页面,还是有点差距的。

这里介绍两个好东西,一个是nginx自身的缓存功能proxy_cache和fastcgi_cache,然后还有一个nginx模块ngx_cache_purge用于清理指定url的缓存。

这里单台服务器我们主要使用的是fastcgi_cache,可以指定的url下,将php脚本的执行结果缓存到磁盘和内存上,并可以指定过期时间,第二次访问的时候,由nginx直接取缓存文件,就相当于静态页面了,效率当然很高。

说完nginx再说说php,nginx用于缓存整个页面,而有的页面我们不需要缓存全部,只需要缓存一些短数据,比如一些数组,访问记录之类的临时新内容。传统的php是直接采用文件式缓存,就像dedecms里data/cache目录,里面存放的就是很多缓存文件,主要是用来避免频繁的数据库查询。一般情况下,文件缓存也够了,但是要追求极致,尤其是高并发下,不如试试memcached吧,很好的一个东西,作用是将一些字符串以键值对的形式存放到服务器内存中,指定过期时间,下次用的时候直接从内存中取,不消耗磁盘I/O,速度也不是一个级别的,原理和文件缓存一样。

暂时能想到的就是这么多,其实主旨就是一个:缓存。只是缓存的方式不同罢了。那么如何选择合适的缓存方式,就是我们开发人员需要考虑的事情了。


    
 
 

您可能感兴趣的文章:

  • 高性能Web服务器 Lighttpd
  • Web应用 性能和压力测试 Wapt
  • 高性能web代理程序 hyk-proxy
  • 实战Nginx:取代Apache的高性能Web服务器
  • 高性能Web服务器 Cherokee
  • Web 应用性能检测工具 Bucky
  • iPlanet Directory Server和iPlanet Web Server性能、价格各几何?
  • web性能测试工具 OpenSTA
  • 请大家各抒己见介绍一下各种web服务器的性能及与IIS的联系!谢谢!
  • 高性能Web服务器 Nginx
  • 高性能web/反向代理服务器 kangle
  • 高性能 Web 服务器 Lwan
  • 高性能web服务器框架Tornado简单实现restful接口及开发实例
  • python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
  • WEB服务器性能/压力测试工具 SuperWebBench
  • 轻量级高性能移动web框架 Javascript Mobile Framework
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 全新的B/S结构开发方式,用纯JS+HTML实现了类似C/S的强大浏览器交互,查询及分页浏览速度提高几倍,可以成批录入数据,有完整的数据库表访问和纯web打印
  • 全新的B/S结构开发方式,用纯JS+HTML实现了类似C/S的强大浏览器交互,查询及分页浏览速度提高几倍,可以成批录入数据,有完整的数据库表访问和纯web打印,统计图等
  • :全新的B/S结构开发方式,用纯JS+HTML实现了类似C/S的强大浏览器交互,查询及分页浏览速度提高几倍,可以成批录入数据,有完整的数据库表访问和纯web打印,统计图...
  • 提高网页的效率 Use YSlow to know why your web Slow第1/2页
  • web网页自动跳转方法:Html body onload自动跳转举例
  • aria2的Web接口 a2web
  • Python3通过request.urlopen实现Web网页图片下载
  • SVN的Web管理界面 svn-web-admin
  • Web前端设计:Html强制不换行<nobr>标签用法代码示例
  • 嵌入式的Scala Web服务器 SOCKO WEB
  • Web前端开发如何利用css样式来控制Html中的h1/h2/h3标签不换行
  • Web相册 Dumi Web Gallery
  • Web前端设计:html上标<sup>标签与下标<sub>标签详解
  • 请问:authorization of web services和authenication of web services什么区别?
  • Web服务器 Gatling Web Server
  • 小型Web服务器 nweb Web Server
  • C#取得Web程序和非Web程序的根目录的N种取法总结
  • 有没有什么方法或思路把web服务器上的文件上传到另外一个web服务器?
  • Java Web应用框架 WEB4J
  • 用Java开发web程序,用什么做web服务器最好?
  • LINUX下面的WEB Service如果编写?是用.NET写吗?WINDOW下面的web service能在LINUX下面用吗?
  • Web爬虫框架 Smart and Simple Web Crawler
  • 在单网卡的linux web服务器上虚拟Windows系统搭建多个.net web网站,有谁做过?
  • 问tomcat中在tomcat启动时,哪个包加载了/WEB-INF下的web.xml文件?要多少给多少分
  • 有没有什么方法或思路把web服务器上的文件上传到另外一个web服务器? iis7站长之家


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3