raksmart活动促销

分享

写回答

发帖

VPS遭遇CPU危机,内存富余,该如何优化呢?

回答|共 14 个

eyering

发表于 2009-2-23 00:10:02 | 显示全部楼层

谢谢大家的热情回帖,本人对于VPS的操作实在是太低级,很多都是摸着石头过河

回dawnh,webserver类型为Apache,php类型?这个怎说?我就用的默认的。

附上Top信息


top - 00:05:27 up  3:09,  1 user,  load average: 0.67, 0.79, 0.74
Tasks:  48 total,   1 running,  47 sleeping,   0 stopped,   0 zombie
Cpu(s):  9.7%us,  4.3%sy,  0.0%ni, 85.7%id,  0.3%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    786432k total,   145120k used,   641312k free,        0k buffers
Swap:        0k total,        0k used,        0k free,        0k cached

top.jpg


[ 本帖最后由 eyering 于 2009-2-23 12:19 AM 编辑 ]

eyering

发表于 2009-2-23 00:16:49 | 显示全部楼层

原帖由 angeldd 于 2009-2-22 11:05 PM 发表
恩 開啟cache 將一些數據緩存到ram中
使重複訪問的數據不經過cpu直接發送出去
可以節省很多cpu...

你要學會一些東西,我的個人建議最好不用lxadmin
儘量手動操作,可以增長技術 ...



angeldd,谢谢你的指教,但我开启了xcache,结果cpu使用升高了,很是郁闷。

来论坛也是个学习的过程。

angeldd

发表于 2009-2-23 00:58:48 | 显示全部楼层

eyering 朋友,cache設置不好可能會造成當機.請一定注意下面是方法

MaxRequestsPerChild 10000

</IfModule>



LoadModule cache_module modules/mod_cache.so

LoadModule disk_cache_module modules/mod_disk_cache.so

LoadModule mem_cache_module modules/mod_mem_cache.so


<IfModule mod_cache.c>

CacheForceCompletion 100

CacheDefaultEXPire 3600

CacheMaxExpire 86400

CacheLastModifiedFactor 0.1


<IfModule mod_disk_cache.c>

CacheEnable disk /

CacheRoot “/var/cache/mod_proxy”

CacheSize 327680

CacheDirLength 4

CacheDirLevels 5

CacheGcInterval 4

</IfModule>

<IfModule mod_mem_cache.c>

CacheEnable mem /

MCacheSize 8192

MCacheMaxObjectCount 10000

MCacheMinObjectSize 1

MCacheMaxObjectSize 51200

</IfModule>

</IfModule>



####################################################

参考数据

mod_cache:

CacheEnable: 启动 mod_cache,其后接两个参数。第一个参数指定快取的种类,应设为 mem (内存快取) 或 disk (磁盘高速缓存) 之其一;第二个参数指定使用快取的 URI 路径,如果对整个网XP (或虚拟主机) 进行快取,简单指定为根目录(/) 即可。

CacheForceCompletion: 这个值指定当 HTTP request 被取消时,内容的产生动作要完成的百分比;预设是 60(%)。

CacheDefaultExpire: 指定快取的预设过期秒数;默认值是一小时 (3600)。

CacheMaxExpire: 指定快取最大的过期秒数;默认值是一天 (86400)。

CacheLastModifiedFactor: 用来从响应里 Last Modified 信息算出 expir date。计算方式是:expire period (过期时距) = 最后更新后至今的时间间距 *CacheLastModifiedFactor而expire date = 目前时间 + expire period不过无论如何,过期时间不能超过 CacheMaxExpire 的设定值。


mod_disk_cache:

CacheRoot: 指定磁盘高速缓存所使用的目录。

CacheSize: 以 KByte 为单位指定快取使用的磁盘空间大小。

CacheDirLength: 指定各目录 (的键值) 存在于快取阶层 (hierarchy) 中所使用的字符数。

CacheDirLevels: 指定快取的目录层数; CacheDirLength 与此 CacheDirLevels设定值相乘不能超过 20。

CacheGcInterval: 指定收垃圾 (Garbage Collection) 的动作间隔时间;单位是小时。不过根据 Apache2 文件,这个指令还 没有被实作 。

mod_mem_cache:

MCacheSize: 以 KByte 为单位指定快取使用的内存空间大小。

MCacheMaxObjectCount: 指定快取对象数目的最大值;默认值是 1009。

MCacheMaxObjectSize: 指定最大可快取对象的大小,单位是 Byte;默认值是10000 (Bytes)。

MCacheMinObjectSize: 指定最小可快取对象的大小,单位是 Byte;默认值是 0 (Bytes)。

dawnh

发表于 2009-2-23 10:46:20 | 显示全部楼层

原帖由 eyering 于 2009-2-23 12:10 AM 发表
谢谢大家的热情回帖,本人对于VPS的操作实在是太低级,很多都是摸着石头过河

回dawnh,webserver类型为Apache,php类型?这个怎说?我就用的默认的。

附上Top信息


top - 00:05:27 up  3:09,  1 user,  load average: 0. ...


Cpu(s):  9.7%us,  4.3%sy,  0.0%ni, 85.7%id,  0.3%wa,  0.0%hi,  0.0%si,  0.0%st
这个数值看不出CPU资源有任何问题,你是从哪里得知你的CPU吃紧的?

eyering

发表于 2009-2-23 20:15:56 | 显示全部楼层

谢谢angeldd朋友给出的详细参数,按照参考值优化后效果有明显改善。

回dawnh:上面的top图是凌晨截的,加上前期已经降低了部分cpu,所以图上看不出来。是客服告诉我我cpu使用率太高的,由于平时网站访问正常,也没太留意cpu使用情况,经提醒后查看发现确实占用太多了。

等我优化完了,或者还有什么问题我会上来报告的,非常感谢大家的热情回复。
您需要登录后才可以回帖 登录 | 注册

本版积分规则