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

admin3年前服务器43

我觉得首先要选择一个合适的环境,对于大多数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,速度也不是一个级别的,原理和文件缓存一样。

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


免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

Windows上安装Apache2、PHP5、MySQL5及与Resin配合实现多系统之整合

谁知坎坷颇多,故觉得有必要记录下来,一来为了备忘,二来希望对后来者有所助益,避免走不必要的弯路。本人的安装操作过程也参考了很多前辈们的经验,在此一并表示感谢。另外在进入正题前,再说几句题外话。下文的安...

云主机有何用处,云主机的作用是什么

云主机是一种基于云计算技术的虚拟主机,并且拥有更高的可靠性、扩展性和灵活性。它与传统的主机相比,有着更为丰富的功能和更为强大的性能。云主机的优点灵活性云主机可以根据业务需求进行横向或纵向的扩容,可以应...

服务器空间网站数据搬家方法 如何进行网站虚拟主机搬迁

有时候,因为升级或其他原因,我们需要更换网站空间,那么怎么快速的进行服务器网站空间的搬家呢?下面来看下吧。一:更换虚拟主机的前期准备——检查虚拟主机不能乱更换,首先应该检查你所...

如何购买美国虚拟主机,了解美国虚拟主机的购买流程

美国虚拟主机是指一种通过网络连接的虚拟主机服务,顾客可以根据需要租用相应的虚拟空间进行网站设计和开发,主要应用于个人博客、小型企业、以及中小型网站等。购买美国虚拟主机的流程如下:选择一个可靠的虚拟主机...

理解web服务器和数据库的负载均衡以及反向代理

但是若该网站平均每秒的请求是200多次,那么问题就来了:这已经是最好的web服务器了,我该怎么办?同样的情景也适用于数据库。要解决这种问题,就需要了解“负载均衡”的原理了。we...

宝塔面板打不开重启也不行的处理方法

宝塔面板不能登陆,重启面板,数据库,apache,都没有恢复,宝塔面板打不开,网站正常,端口监听不到,重启面板也不行.如果出现这样的问题,可以试着修复面板进入ssh输入以下命令修复面板(3.x/4.x...