rubis配置和使用-基于虚拟化实验室309的RUBIS安装镜像
这里主要讲的是rubis安装之后的配置问题。
1.配置3个虚拟机,操作系统为ubuntu12.04,下面是它们的ip地址。
vm01 :webserver 10.214.6.91
vm02 :数据库 10.214.6.92
vm03: 模拟器 10.214.6.93
(mac地址不要重~\(≧▽≦)
2.修改配置文件
vm01:
- 修改数据库链接,PHPprinter.php文件
root@vm01:/var/www/PHP# vi PHPprinter.php
修改$link = mysql_pconnect的 ip地址(数据库的ip地址)有户名 密码
- 修改链接上限:
root@vm01:/etc/apache2# vim apache2.conf
例如最大链接数设置为3000.
<IfModule mpm_prefork_module>中:
在maxclient上面加一行
ServerLimit 4000
再改
MaxClients 3000
BTW: ServerLimit的最大值是20000,这对于大多数站点是足够了,但如果你一定要再加大的话,那么这个值位于源代码树下的server/mpm/prefork/prefork.c中。里面的
#define DEFAULT_SERVER_LIMIT 256
#define MAX_SERVER_LIMIT 20000
这两行就对应着MaxClients和ServerLimit的限制值。但我相信很少有人可以用到20000的并发连接数。
在配置完webserver后可在浏览器中输入配置的网站的网站,测试是否能正常访问。例如:10.214.6.91/PHP
会出现如下网页:
webserver中点击Browse如果能正常浏览产品,说明数据库设置正常,如图:
vm 02:修改数据库绑定地址
/etc/mysql/my.cnf
bind-address = ip地址
vm03:修改数据库和webservice的地址(主要是初始化数据库和模拟请求)
查找rubis.properties文件(find / -name rubis.properties),修改其中 几处ip地址。
httpd_hostname=apache文件的ip
database_server=数据库的ip地址
3.根据需要修改负载配置文件:在:vm03上,
在客户端浏览模拟的实现上,一个会话包含了同一用户发送的一系列请求。对于每一个会话,客户端模拟器都打开一个与服务器持久HTTP链接并在会话结束是将其关闭。每个模拟的客户端都会在发送下一个请求之前等待数秒。下一操作则是由一个名为事务状态转换表的矩阵决定的,此矩阵中定义了从一种操作转换至另一种操作的概率。
rubis.properties
/usr/local/rubis/Client/${build}/RUBiS-1.0/
workload_number_of_clients_per_node = 240 节点数量
运行时间
workload_session_run_time_in_ms = 450000 缓存期
workload_up_ramp_time_in_ms = 120000 平稳运行期
workload_down_ramp_time_in_ms = 60000 结束期
详细可查看:
4.执行:
在vm03上:
脚本
也可直接命令
root@vm03:/usr/local/rubis# make emulator (注意目录)
在vm01上,root@vm01:/etc/apache2# ps -aux|grep apach |grep -v grep|wc -l可查看vm01当前的链接数。
5.结果
结果在bench文件夹当中
6.重要指标:
吞吐量
响应时间
7:修改监控
首先要做目标上安装sysstat
root@vm03:/usr/local/rubis/Client/edu/rice/rubis/client# nano ClientEmulator.java
文件中的
// Process debian1Monitor = null;
// Process debian2Monitor = null;
等相应语句
同时要注意配置文件
#monitoring_options = -n DEV -n SOCK -rubcw
monitoring_options = -n DEV -n SOCK -rubSw 1
的格式。