多台VPS进行JMeter分布式压力测试

最近想研究下Jmeter的分布式测试,于是在Linode云主机上折腾了下,此厂商的主机可以自选硬件配置,收费按照小时计算,所以操作的时候可要手快啊。   一、环境信息 1  被测服务器 日本VPS主机 1152GB硬盘 16核心CPU 内存65536MB IP地址:peloo.net 2  jmeter主控制机 美国VPS主机 内存2048MB 单核心CPU 30GB硬盘 IP地址:173.255.243.59 3  jmeter从机 配置同主控制机,位置同在美国,属于同一个机房 IP地址:173.255.220.37  173.255.223.112     二、环境配置 1  被测服务器 被测服务器上搭建了WordPress网站,架构为Nginx+PHP+MySQL 2  jmeter主控制机配置 (1)  下载官网jmeter tgz文件到tmp目录并解压 wget -c -P /tmp http://mirrors.cnnic.cn/apache//jmeter/binaries/apache-jmeter-3.1.tgz cd /tmp tar zxvf apache-jmeter-3.1.tgz (2)  复制解压目录到/usr/local cp -rv /tmp/apache-jmeter-3.1 /usr/local ln -sv /usr/local/apache-jmeter-3.1 /usr/local/jmeter (3)  添加jmeter环境变量  …

Continue Reading

awk一行和多行之间的转换

    很多时候我们需要把一行字符串按照一定的分割符切割成多行来打印,反之也经常碰到把多行字符串合并为一行显示(例如SQL语句操作多个userid,select * from user where mobile in (monile1,monile2,……….)),下面来给出解决方法   1  一行分散成多行显示 文件file的内容如下, 1 2 3 4 5 6 命令: awk  '{ for (i=1;i<=NF;i++) printf "%s\n",$i }' file   2  多行合并为一行显示 文件file的内容如下, 1 2 3 4 5 6 命令: awk '{ printf "%s "$0 }'

Continue Reading

AWK指定多个空格作为分隔符

  在查看nginx日志里被get的目录时,使用AWK命令指定多个分隔符可以解决问题,命令如下:   awk -F'(GET )|[ ]+' '{print $7}' /var/log/nginx/access.log  | sort -nr | uniq -c | sort -n | tail   对应的示例输出结果如下,   530 /wp-includes/js/jquery/jquery-migrate.min.js?ver=1.4.1     544 /wp-content/plugins/sidebar-login/assets/css/sidebar-login.css?ver=2.7.3     595 /wp-content/themes/boston/assets/fonts/Norwester-Regular.ttf     850 /wp-content/themes/boston/assets/fonts/Norwester-Regular.woff     917 /robots.txt    3851 /wp-admin/admin-ajax.php    4632 /xmlrpc.php    4990 /   27450 /wp-login.php   37397 /wp-includes/js/wp-emoji-release.min.js?ver=4.6.1  

Continue Reading

Fiddler域名重定向设置

    APP实际测试中接口兼容性测试,经常会用上个版本的APP包来测试新开发的接口是不是也可正常运行, 经常在一个手机上安装卸载新旧APP包,麻烦, 域名重定向可以帮你减轻重复劳动。       比如你要验证生产环境的APP包是否可以在测试环境的新接口上运行正常,可以在设置好手机代理后,对fiddler进行如下设置,     打开tools—HOSTS,勾选域名重定向,第一个填写请求重定向后的域名或IP地址,第二个填写原始请求的域名或IP地址  

Continue Reading

Jira+Confluence集成环境的搭建(敏捷Agile)

       公司准备实行敏捷开发,经过一番工具选择,最终选定了jira和confluence,jira用作项目管理,confluence用于文档管理,下面说说这两个系统的搭建过程和集成设置。 一、软硬件准备 1  jira7.2.6软件       官网下载地址  https://downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-7.2.6.tar.gz     备用下载地址  https://peloo.net/download/jira/atlassian-jira-software-7.2.6.tar.gz 2  jdk1.8.0_112  下载页面  http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html     备用下载地址  https://peloo.net/download/jdk/jdk-8u112-linux-x64.tar.gz 3  confluence5.10.8       官网下载地址  https://downloads.atlassian.com/software/confluence/downloads/atlassian-confluence-5.10.8.tar.gz     备用下载地址  https://peloo.net/download/jira/atlassian-confluence-5.10.8.tar.gz 4  mysql-server 5.6.34  下载地址   http://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.34.tar.gz 5  mysql-connector jar包       MySQL官网下载地址  http://120.52.72.23/cdn.mysql.com/c3pr90ntc0td//Downloads/Connector-J/mysql-connector-java-5.1.40.tar.gz     备用下载地址  https://peloo.net/download/db/mysql-connector-java-5.1.40.tar.gz 6  操作系统  CentOS6.X 7  服务器两台,强烈建议独立物理机,本人的服务器ip地址分别为172.25.0.105和172.25.0.107,分别部署jira和confluence 二、基础环境搭建 1  Java环境安装与配置…

Continue Reading

linux ACL权限的设置

对于文件的权限,简单的用命令chmod设定,在允许特定用户访问的时候,显得不够精细。   举个例子,目录/var/www/download的权限设定位755,属主用户是pc,属组也是pc,如下图, 现在此目录需要配置在nginx服务器上用于网站下载,如何设定目录权限???   问题分析: 1  nginx进程的启动用户是nginx,所以需要增加用户nginx对目录download以及子目录的读访问权限 2  目录download新增加的文件或文件夹,nginx用户也应该继承读权限 问题解决: setfacl参数解释, -m : 修改ACL权限 -R :  递归目录下的所有子目录及文件。   在目录download下创建个新文件并查看nginx用户是否有读权限,   另外,删除目录所有ACL权限使用如下命令  setfacl -R -b /var/www/download/      

Continue Reading

Linux操作系统tcpdump抓包分析详解(转)

 Linux操作系统tcpdump抓包分析详解   PS:tcpdump是一个用于截取网络分组,并输出分组内容的工具,简单说就是数据包抓包工具。tcpdump凭借强大的功能和灵活的截取策略,使其成为Linux系统下用于网络分析和问题排查的首选工具。 tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的Linux系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。 一、概述 顾名思义,tcpdump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。   # tcpdump -vv tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 11:53:21.444591 IP (tos 0x10, ttl  64, id 19324, offset 0, flags [DF], proto 6, length: 92) asptest.localdomain.ssh > 192.168.228.244.1858: P 3962132600:3962132652(52) ack 2726525936 win 1266 asptest.localdomain.1077 > 192.168.228.153.domain: [bad udp cksum 166e!]  325+ PTR?…

Continue Reading

Linux命令行配置高强度密码(转)

  设置一个高强度的密码是非常重要的,这样才能够很好的保护自己的账号或者服务器以及确保自己的数据的安全。通常来说,一个高强度密码至少有 14 个字符,包括大小写字母、数字和特殊字符,并且要牢记永远不用那些字典中的单词。使用长密码比短密码要来的安全,因为密码越长越难猜测。在本文中,我将给你介绍几个不同方法,让你可以在 Linux 命令行下生成一个高强度密码。   使用 openssl 生成高强度密码 这里使用 openssl 的 rand 方法,它会生成一个 14 位字符的随机字符: openssl rand -base64 14 使用 urandom 生成高强度密码 这里我们将使用 tr 条件来过滤 /dev/urandom 的输出,从而删掉那些不想要的字符,并打印出第一个出现的 14 位字符。 < /dev/urandom tr -dc A-Za-z0-9 | head -c14; echo 使用 pwgen 生成高强度密码 pwgen 是一个生成随机、无特殊含义但可以正常拼读的密码。 安装 pwgen,运行: sudo apt-get install pwgen 安装好之后,使用以下命令来生成一个 14 位随机字符: pwgen 14 1 你也可以使用以下标记: -c 或 –capitalize…

Continue Reading

NGINX配置高并发(转)

一、一般来说nginx 配置文件中对优化比较有作用的为以下几项: 1.  worker_processes 8; nginx 进程数,建议按照cpu 数目来指定,一般为它的倍数 (如,2个四核的cpu计为8)。 2.  worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000; 为每个进程分配cpu,上例中将8 个进程分配到8 个cpu,当然可以写多个,或者将一 个进程分配到多个cpu。 3.  worker_rlimit_nofile 65535; 这个指令是指当一个nginx 进程打开的最多文件描述符数目,理论值应该是最多打开文 件数(ulimit -n)与nginx 进程数相除,但是nginx 分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。 现在在Linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535。 这是因为nginx调度时分配请求到进程并不是那么的均衡,所以假如填写10240,总并发量达到3-4万时就有进程可能超过10240了,这时会返回502错误。 查看linux系统文件描述符的方法: [root@web001 ~]# sysctl -a | grep fs.file fs.file-max = 789972 fs.file-nr = 510 0 789972 4.  use epoll; 使用epoll 的I/O…

Continue Reading