yjiang's cake

比webbench结果更详细的压力测试工具 -- siege

<h4>使用同webbench一样简单</h4>

aptitude install siege #安装
siege -c 100 --time=10S http://yjiang.cn/  #使用
siege -c 100 -0time=10S "http://yjiang.cn/login.php POST username=foo&passwd=bar" #post

<h4>详细的测试结果</h4>

<p>QQ图片20140529102633</p>

nginx监控工具 -- ngxtop

又一款小巧实用的python小程序 -- ngxtop

安装简单,用来实时监控nginx请求状态很不错

pip install ngxtop
ngxtop -l [nginx log file]

运行截图

ngxtop

实际使用中发现,在访问量非常大的时候,随着日志文件快速增长,会导致大量占用cpu,所以并不适合长时间使用

mongodb监控与索引优化工具 -- dex

监控

#连接mongo客户端,执行  
db.setProfilingLevel(1)   #开启prifile监控, 0 关闭,1 记录慢命令,2 记录全部
db.getProfilingLevel()    #查看当前监控等级
db.system.profile.find()  #查看监控日志

索引优化工具 -- dex

1. pip install dex 
2. 连接mongo shell, 执行` db.setProfilingLevel(1) `开启监控,等待监控几天生成日志
3. 运行 dex -p mongodb://myUser:myPass@myHost:12345/myDb 查看有待优化的字段

mongo_dex

执行后如上图,工具会生成建议的索引优化命令,在mongo shell里执行即可.

mongo副本集安全认证

普通实例下开启mongo认证只需增加--auth参数来启动即可,但是运行在副本集状态下时,与普通模式有点区别:

  • 副本集模式需要使用key来认证,参数 --keyFile;并且增加此参数后将自动启用用户认证;
  • 使用key认证则必须指定log文件,参数 --logpath

使用openssl生成key文件

openssl rand -base64 580  > mongo_rst.key 
chmod mongo_rst.key 300    # key文件权限必须为 x00 ,即用户组及其它无任何权限,例如300

示例

mongod --replSet myrst --dbpath=/opt/mongo/db1/ --port 30001 --keyFile /opt/mongo/mongo_rst.key --bind_ip=127.0.0.1,192.169.0.2 --logpath=/opt/mongo/logs/rst1.log

mongo副本集本地测试启动脚本

#!/bin/sh
function command(){
    ###################################
    rst_name=myrst
    port=3000$1                                                                                                                                                                                                   
    log_path=/opt/mongo/logs/rst$1.log
    bind_ip=127.0.0.1
    key_file=/opt/mongo/mongo_rst.key
    db_path=/opt/mongo/db$1/
    ###################################
    nohup mongod --replSet $rst_name --dbpath=$db_path --port $port --keyFile=$key_file --bind_ip=$bind_ip --logpath=$log_path > /dev/null 2>&1 &
}
command 1
command 2
command 3

Copyright © 2016 yjiang's cake

返回顶部