服务器刚启动后一切都正常,但是运行一段时间后(如果服务器本身访问量比较大的话,也许运行不久就会出现)就感觉服务器变慢了,甚至感觉非常慢。
变慢变卡具体主要表现形式有:
- Windows 远程桌面连接不上,或者连接很缓慢,或者连接上后操作和响应都很缓慢
- 网站访问变慢,甚至非常慢
(由于Linux通过主要ssh命令行访问,比起Windows要传送画面而言不太容易感觉操作卡)
1、内存不足
2、CPU占用过高
3、网络不畅或线路不好
4、本地路由器或电脑问题
5、网站/服务器中木马或者病毒
6、程序代码bug或者很不优化
7、日志增长等导致硬盘100%占用
8、其它情况
===========================
3-8 请见
网站或服务器访问缓慢原因分析及解决办法
===========================
绝大部分原因集中在如下情况,按比例从高到低排
- 内存资源不足导致
主要集中在256M内存服务器上,物理内存用完后,系统将硬盘作为内存使用从而保持系统不崩溃。
但是一旦使用硬盘作为内存后,性能将急剧下降,从而导致操作响应变慢,甚至非常慢;直到系统崩溃挂起完全不能访问为止。
- CPU持续占用过高导致
一般情况下CPU占用率在50%以下,偶尔峰值到80%-90%也没问题。但是一旦CPU占用率持续在70%以上,甚至80%,90%多以上后,
系统响应将急剧下降,从而导致系统变慢,直至不能响应。
这种情况主要由于(无先后顺序):
服务器/网站访问量突然大幅增大
搜索引擎爬虫短时间内大量爬取网站页面(尤其是有大量页面的网站)
服务器中病毒、木马导致
服务器被入侵,被人运行大量占用计算资源的程序等
数据库等没有做优化或者没有限制资源占用率,累计运行后导致占用大量CPU资源没能及时释放;
错误/不优化的SQL语句(如联合查询/多表查询等)导致。
网站程序本身有bug/不够优化,导致死循环等情况,影响到IIS/PHP-CGI/FCGI/APACHE等,形成僵死进程耗尽资源。
一些客户端程序本身计算资源要求高或者CPU计算资源回收做的不好,导致卡机/死机
解决办法:
首先,找专业人士,进系统根据上述项目逐项分析排除,找出原因然后加以解决。停用不需要的服务,仅留必须的程序/软件,优化系统/数据库,查日志排查程序及代码问题。
其次,在上述问题排查解决后,如果还存在资源不足的话,则需要升级服务器配置加以解决
再次,可以进系统设置服务器按一定周期自动重启(也可以人工重启),定期强行回收资源(windows和Linux都可以定期执行重启,需要自行设置定期任务);
这种方法治标不治本,有时候任务并不能正常执行,而且对大多数情况并不适用,同时建议任务放到半夜或者凌晨执行(减少白天对用户的影响)。
说明:上述故障原则上需客户自行解决;我们提供人工重启服务/重新安装系统服务(服务器上数据,客户需事先自行备份);
我们的服务仅限于确保网络通畅和服务器可正常访问和使用。
(衡量标准:如果提供给客户的新装的系统正常访问和运行,则说明我们的网络和服务器本身没有问题。系统内的问题,原则是客户自行解决的,正常情况下我们也不会进入客户系统)。
实例分析 ==================================================
实例1)

这个是256M内存的 Linux 系统。系统中显示249M物理内存,并且已经用掉224M,剩余24M。
Swap(即硬盘虚拟的内存)总共509M,已经用掉了213M,剩余296M。
注意Swap即是硬盘虚拟的内存,是应急使用的,保持系统在物理内存用光后不会马上崩溃。
正常情况下512M的 Swap使用量应该在 50M以下,这里明显已经大大超过这个数值了;这个系统由于物理内存太少,
系统已大量使用硬盘虚拟的内存,响应/性能已大幅下降,非常危险。
实例2)

这个是 256M 内存的 Windows VPS服务器,CPU 2.4 GHz的,算是高的了。
实际内存使用298M,已经使用硬盘虚拟的内存已经50多M了;虽然系统没有崩溃,但是CPU占用率已经100%了。
这个服务器的响应速度和性能已经大幅下降,不卡才怪。
如何调出任务管理器?

实例3)

这个是系统中应用程序耗尽/基本耗尽物理内存后,大量使用硬盘虚拟的虚拟内存。除了导致硬盘性能急剧下降而反应缓慢外,
系统本身已经开始对一些应用程序的请求不能响应了。这个是由于Windows本身的资源要求和系统设计决定的,从而更好避免系统
直接崩溃;但对用户而言的中后期直接表现是,远程桌面连接不上,网站不能访问等死机症状。
这种情况不是简单通过增加硬盘虚拟的内存可以解决的。
|