如何检测哪个功能最常使用cpu? 我通常达到20 reqs / s,但CPU使用率大约为%50,这很糟糕。我对服务器的性能毫不怀疑,因为它是我的。
我需要找出脚本中最消耗CPU的函数,但我不知道该怎么做。我使用自定义脚本,已全部编写。
答案 0 :(得分:1)
使用以下内容创建文件/etc/yum.repos.d/mongo-org-3.4.repo
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
安装MongoDB – sudo yum install mongodb-org
service mongod start
sudo yum install php-pear
pecl install mongodb
php.ini
并重新启动PHP-FPM extension=mongodb.so
使用以下内容创建文件/etc/yum.repos.d/tideways.repo
[tideways]
name = Tideways
baseurl = https://s3-eu-west-1.amazonaws.com/qafoo-profiler/rpm
导入RSA密钥-rpm --import https://s3-eu-west-1.amazonaws.com/qafoo-profiler/packages/EEB5E8F4.gpg
sudo yum install tideways-php
编辑配置/etc/php-5.6.d/40-tideways.ini
并禁用autoprepending
tideways.auto_prepend_library=0
tideways.auto_start=0
tideways.sample_rate=100
重新启动PHP-FPM – service php-fpm restart
/var/www
中,并将文件夹从xhgui-master
重命名为xhgui
chmod 777 /var/www/xhgui/cache
/var/www/xhgui/webroot
在 MongoDB
中创建索引 $ mongo
> use xhprof
> db.results.ensureIndex( { 'meta.SERVER.REQUEST_TIME' : -1 } )
> db.results.ensureIndex( { 'profile.main().wt' : -1 } )
> db.results.ensureIndex( { 'profile.main().mu' : -1 } )
> db.results.ensureIndex( { 'profile.main().cpu' : -1 } )
> db.results.ensureIndex( { 'meta.url' : 1 } )
> db.results.ensureIndex( { 'meta.simple_url' : 1 } )
> exit
导航到/var/www/xhgui
并运行安装程序– php install.php
在autoprepend
中设置php.ini
指令,然后重新启动PHP-FPM
auto_prepend_file = /var/www/xhgui/external/header.php
要限制 MongoDB 的磁盘使用情况(例如5天= 432000秒)
$ mongo
> use xhprof
> db.results.ensureIndex( { "meta.request_ts" : 1 }, { expireAfterSeconds : 432000 } )