功能小笔记-redis指定目录安装-svn checkout不要根目录-nologin禁止用户登录-linux加载顺序-mysql的max_connections及请求平均用时分析shell脚本

一、功能小笔记汇总

1,redis指定目录安装

sudo wget http://download.redis.io/releases/redis-3.2.8.tar.gz
tar zxvf  redis-3.2.8.tar.gz
cd redis-3.2.8
mkdir -p /opt/modules/redis3.2
make && make PREFIX=/opt/modules/redis3.2 install
上面即可实现把redis安装在指定的目录里

2,SVN Checkout是不要包括源文件夹根目录,直接把代码checkout到当前目录

例如要checkout主干trunk下面的所有文件,但不要包括trunk文件夹,在svn文件夹后面打个空格,在加个.点号就行。
示例:svn co http://192.168.1.1/svn/test/trunk/ .即可。
svn co参数解释:svn co svn的http路径 [本地目录全路径] --username 用户名 --password 密码
所以如果不用.点号指定本地目录全路径,则会检出到当前目录下。

3,关于nologin命令以及禁止用户登录

    nologin命令实现的功能就是阻止shell登录,并在终端输出This account is currently not available信息友好的提示用户不能登录,并在log里添加记录。一般设置这样的帐号是给启动服务的账号所用的,只是让服务启动起来,但是不能登录系统。禁止用户登录时我们可以使用以下方法:

passwd -l 007cn

    此命令会锁定04007cn用户,用户就不能登录了。相反passwd -u 007cn是对锁定的用户进行解锁。使用nologin在添加用户的时候就能直接实现,正常使用useradd添加的用户在/etc/passwd中的存储是:

007cn:x:30507:30508::/home/007cn:/bin/bash

  ( 可以看到最后面的这个shell是/bin/bash)如果使用命令:

usermod 007cn-s /sbin/nologin

    修改用户的登录shell为nologin,则用户登录就没有可执行的shell,只会显示nologin命令执行的结果(也就是上面的提示信息) 快速实现禁止所有用户登录:touch /etc/nologin 这样除root以外的其它所有用户就不能登录了。

4,linux启动时加载的环境信息文件的顺序

    先加载:/etc/profile:系统环境信息,所有用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.
    再加载:/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
    再加载:~/.bash_profile:此为用户目录中的配置,即用户专用的shell信息,当该用户登录时,执行一次。
    最后加载:~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取.

    综合:先加载系统级(即/etc/目录中的profile和bashrc配置,再加载用户级(~/目录)中的profile和bashrc配置。~/.bash_logout:当每次退出系统(退出bash shell)时,执行该文件.(比如你编辑此文件写入输出再见的命令,用户退出时就会显示这个信息)

5,mysql的max_connections配置

        此为mysql的最大并发连接数,如果当前的mysql连接数达到了这个值,则后面的连接将无法建立,使用命令:

show variables like \'max_connections\';

可查看当前的mysql的最大连接数配置,当前MYSQL已使用的连接数可使用SQL:select * from information_schema.processlist;或者使用show processlist查看(列表最下面会有统计数量)
如果需要建立更多的连接数,则可以修改my.cnf中此项配置。或者执行命令:
set GLOBAL max_connections=200

二、连续请求URL测试平均请求用时的shell脚本

    因为对公司的签名系统进行了改造,想对比看一下两种签名的用时对比,在使用浏览器请求时发现时间消耗上没法得出个优劣,postman里又不能做连续多次请求,单靠手工请求几个URL,一是数量有限,二是波较大,得到的数据意义不大。于是想着写一个shell批量请求一下接口,连续请求多次来进行对比,这样的比较值也比较有意义。shell脚本如下:

#/bin/bash
times=$1
succ=0
fail=0
st='200'
start_time=$[$(date +%s%N)/1000000]
for loop in $(seq 1 $times)
do
    curl -s -H "Host: api.com" "182.182.5.14/showpage/index?uid=864677032679953&screen=1&ver=5.1&&s=4517A59AAFD4A8B2D97BDDF66F297DC9CD010113
done;

end_time=$[$(date +%s%N)/1000000]
cost=$(($end_time-$start_time))
echo -n "共执行$times次curl签名请求 ,平均用时ms:"
echo "scale=2;$cost/$times" | bc

    将上述脚本保存为test.sh执行命令:./test.sh 1000和5000次进行对比,能发现性能确实有提升。原签名认证系统执行./test.sh 1000 后结果如下:

    新签名./test.sh 1000 执行后的结果如下,这样对比就一目了然。可以随便变换次数,甚至多启几个进程进行测试对比。

  • 16
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林戈的IT生涯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值