网站服务器响应变慢应该怎么办?-服务器
网站优化一般从这几个方面考虑:
第一:最简单暴力的方式是升级服务器配置,升级cup,内存,硬盘,网络带宽,这是最简单直接的方式;但比较花钱。
那么这几样要素是怎样影响网站响应速度的呢?硬盘有个读写效率问题,如果你的网站需要读取存储在服务器上的文件等东西,那么这个磁盘io就会影响效率;内存又是如何影响的呢?内存和硬盘的影响比较类似,但内存存储的是较为及时数据,和程序联系更为紧密一点,存储处理效率
在很大因素上能直接受到影响。最后就是网络带宽了,当网络带宽较低,数据传输的效率就会被限制,即使你的服务器各方面配置很ok,那也是没办法的,就如同被限制了高消费的富豪一样,你有限范围内有钱花不出去。。
第二:分析具体瓶颈,对应解决。
如果网站用户规模较大,响应频繁,这个时候就要考虑网站本身研发的质量如何?优化相关代码,如将页面静态化,减少页面和服务端响应次数,减少服务端接口响应的数据量,去除代码中低端耗时的部分,减少数据库操作,优化sql执行效率,前后端分离等等,手段非常多;这些都是在代码层面进行优化。
前端是在公网提供服务的的,所以前端带宽越大,访问速度肯定有所加快!而你的代理服务器跟后端服务器是在一个局域网内,所以你说的后端10M,现在随便一个网卡都是百兆,服务器更是千兆!反正速度慢,你可以扩大带宽和优化你的服务器。
这种问题挺复杂的,有些原因真的很出意料,一般程式化的方法还找不到。
1先用浏览器F12控台查看一下网页加载资源的情况,看是不是某些资源加载慢的缘故。
2如果不是的话, 那就检查一下是不是网络问题。
3如果都不是上面的问题,你再去看下服务器的状况,应该有后台可以看,看下是不是带宽不足。(或者用top,iptraf命令看一下)
4最后还有问题的话看下你php代码是不是有问题,用xhprof看下代码哪里慢。
---------
例1:
服务器: 戴尔 PowerEdge R620 Rack Mount Chassis
今天公司的 web服务器响应异常的慢 平常 200ms 执行完毕的一个action,现在要 2秒多才能执行那个完毕。
之前也出现过这种状况,但再重启之后就一般及解决了。
遍历网上
说是
1、网络原因 2、系统原因 3、硬件原因
首先分析网络原因 我 ping 服务器的 接收到响应要1ms,平常都是小于 1ms
2、系统原因
我查看了任务管理器发现 CPU 横容易就奔向100%了。
4 个cpu 核心 马上冲向顶端持平了。
3、硬件原因
听网上说可能还有一部分磁盘 i/o 也会导致运行速度大减的
2、3 部分当时很着急解决问题没有截图、
下面是今天晚上服务器 恢复正常后的基本空闲时的cpu 状况、和磁盘读取状况
想问一下、普通我这种刀片服务器正常运行时oracle 的一般最高读写速度、为什么怎样找到程序中那个可能正执行死循环的程序
经过之前一天的推测,觉得应该是服务器上的另一个应用服务器,出现了死循环,联系了此程序开发人员让其恢复了上一个版本,问题就没有了。
就是那一个个验证推测麻烦,花了我一天的时间,想直接知道哪里死循环。
经过之前一天的推测,觉得应该是服务器上的另一个应用服务器,出现了死循环,联系了此程序开发人员让其恢复了上一个版本,问题就没有了。
就是那一个个验证推测麻烦,花了我一天的时间,想直接知道哪里死循环。
例2:
我的WIN2003独立服务器(P4 28G/1G的方正商用机,非专业服务器),ACCESS数据库有800多兆,同时在线会员100多人。浏览速度很慢,日发帖从1000多锐减到200多贴,网友怨声载道,不得已才转换到DZ。
转换后DZ的数据库有600多兆。刚开始挺快的,随后升级到DZ61,现在过了才1个多月,服务器响应越来越慢。CPU占用并不高,通常不到20%,内存占用好像也正常。就是经常硬盘灯一直亮(是常亮,不是闪亮),每到这时论坛页面就打不开,有时光显示页面头部,要等很长时间。硬盘灯不常亮的时候速度挺快。
以前是一两天出现一次,后来越来越频繁,现在过不多大会儿就出现一次,简直受不了了。
相信很多人在用windows2003服务器或者vps,而且一开始用,速度都相当的快,但是过了几天速度变慢了很多,也会遇到有时候网站打开卡等现象,即使网站没什么流量也会出现。
有时候就会怀疑是不是我的服务器或者vps很差劲,买到假货了?其实不然。
其实这些问题作祟的都是w3wpexe这个iis进程在捣鬼。
在WINDOWS2003+IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢。
遇到这些现象,我们可以用以下方法进行解决,不影响网站运营及系统问题。
可以做以下配置修改进行改善:
1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。
2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。同时,设置同时运行的web工作进程数目为1。再设置当内存或者cpu占用超过多少,就自动回收内存。
一般来说就可以解决了。但仍然会出现个别网站因为程序问题,不能正确释放。
那么,怎么样才能找到是哪一个网站的?解决办法:
1、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid
2、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池
3、到iis中察看该应用程序池对应的网站,就可以了。
nginx做负载均衡之后,会根据相关的配置规则来访问后端服务器
如果后端服务器某台机器响应较慢,则nginx表现为响应慢
如果nginx与后端服务器之间的网络质量不好,导致超时,进而使得nginx访问其他后端服务器,则最终结果也是返回慢
一、在主题文件中添加代码解决
1
登陆Wordpress后台,进入仪表盘。
2
进入后台仪表盘后,鼠标移动到“外观”,然后找到“编辑”后点击。
3
找到模版函数文件(functionsphp),在这个文件最下面添加如下代码:
// 后台禁用Google Open Sans字体,加速网站
add_filter( 'gettext_with_context', 'wpdx_disable_open_sans', 888, 4 );
function wpdx_disable_open_sans( $translations, $text, $context, $domain ) {
if ( 'Open Sans font: on or off' == $context && 'on' == $text ) {
$translations = 'off';
}
return $translations;
}
4
最后点击“更新文件”就可以了。
END
二、用添加插件的方法解决Wordpress后台速度慢的问题
1
登陆Wordpress后台,进入仪表盘。
2
进入后台仪表盘后,找到“插件”选项,然后再在右边找到“安装插件”选项,点击。
3
在“搜索插件”这个方框中输入“Disable Google Fonts”,按回车键进行搜索。
4
找到“Disable Google Fonts”插件,点击“现在安装”进行安装。
5
等插件解压完成,然后点击“启用插件”就可以了。
END
三、在程序文件中添加代码解决
登陆FTP,找到wp-includes目录,然后打开。
打开wp-includes目录后找到script-loaderphp文件,把这个文件下载到电脑桌面,然后用记事本打开。
打开后依次点击“编辑”和“查找”,在弹出的对话框中输入“fontsgoogleapiscom”。
通过上述步骤找到“fontsgoogleapiscom”。
找到“fontsgoogleapiscom”后用“fontsusesocom”进行替换。
然后点击“文件”选择“保存”,最后把script-loaderphp这个文件上传到wp-includes目录中进行替换就可以了。这个时候打开后台看看,是不是速度变快了不少呢?
本回答由网友推荐
刚到公司的时候为了追求快,所以后台系统的设计跟性能是一塌糊涂。后来反思了一下准备推翻重新写!
1、确定框架
因为之前一直在用cake,因为我自己喜欢使用新鲜的东西,所以选用了30,但是不得不吐槽中文文档是真的少,所以权衡利弊最红还是选择的了thinkphp50,最起码有完整的中文文档,并且也是中国人开发的。
2、解耦模块
把所有的数据层、控制器层完全分离出来
3、分析性能差的原因
后台系统一共分为 商品中心、订单中心、运营中心、用户中心、销售中心。
公司的性质为电商平台,平时主要数据为订单数据、商品数据。而后台慢的原因主要是以下原因:
①列表页无分页
②大部分使用异步
③数据过大
④服务器配置过低(公司规模不是很大以技术层面不动服务器的东西)
4、解决
①添加列表分页
②把百分之90的异步换成了form表单提交,这样代码简洁、不易错、效率快
③对于查询数据量过大的我要着重讲一下:
后台系统的用户中心、销售中心是查询数据量最大的程序,因为查询的都是整年的销售、用户分析数据,基本上数据百万条(自我吐槽一下每次查询时间长一点都得用将近1分钟)。
我首先做的尝试优化程序,把所有的程序多于的逻辑进行删减,最大的程度减少foreach去循环数据,去用SQL直接可以处理。经过这样的处理程序的执行时间从1分钟到20秒左右。
但是感觉20秒还不是极限,又静下来想了想办法,最终决定把每天的统计数据用定时程序去统计,然后程序只需要查询统计完的数据结果,经过这个修改完,销售重新从之前的 20秒快到 1秒!!!!
接下啦就是用户中心,用户中心的核心处理办法和销售中心是一样的,但是感觉速度依旧不理想,后来发现用户中心的数据实在是太咋了,所以把不同功能的模块都分离,放到不同的页面,速度也提升到了1-3秒。
0条评论