博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RUBiS PHP 版本安装
阅读量:6895 次
发布时间:2019-06-27

本文共 6127 字,大约阅读时间需要 20 分钟。

hot3.png

一、实验环境介绍

  1. 系统      :CentOS 5.5
  2. JDK        : java-1.6.0-openjdk.x86_64,java-1.6.0-openjdk-devel-1.6.0.41-1.13.13.1.el5_11
  3. Mysql   :mysql-5.0.95-5.el5_9、mysql-server-5.0.95-5.el5_9
  4. PHP      :php-cli-5.1.6-45.el5_11、php-5.1.6-45.el5_11、php-pdo-5.1.6-45.el5_11、
                    php-common-5.1.6-45.el5_11、php-mysql-5.1.6-45.el5_11、
                    php-ldap-5.1.6-45.el5_11
  5. Apache :httpd-2.2.3-92.el5.centos
  6. Sysstat  :sysstat-7.0.2-13.el5  
  7. Gnuplot:gnuplot-4.0.0-14.el5
  8. RUBiS     : RUBiS-1.4.3.tgz 
  9. 部署apache服务器B  ip:192.168.0.2
    部署mysql数据库  A  ip:192.168.0.1
    部署client客户端   C  ip:192.168.0.3
  10. RUBiS位置:/home/RUBiS

二、部署过程

    CentOS的yum源的服务器一般在国外,下载速度极慢,需要进行安装镜像源地址进行更改

  1. mysql数据库-服务器 A 

        a. 安装mysql数据库

yum install mysql-server-5.0.95-5.el5_9 -yyum install mysql.i386 0:5.0.95-5.el5_9 -y

        b. 安装监控软件sysstat

yum install sysstat -y

        c. 配置mysql用户远程访问权限

#查看mysql状态service mysqld status#启动mysql服务service mysqld start#第一次安装mysql需要设置密码#PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !#To do so, start the server, then issue the following commands:#/usr/bin/mysqladmin -u root password 'new-password'/usr/bin/mysqladmin -u root password 'new-password'mysql -u root -p

            创建新用户rubis,并使其可以远程或者本地连接mysql服务器:

            命令:CREATE USER 'username'@'host' IDENTIFIED BY 'your_password';

>> CREATE USER 'rubis'@'%' IDENTIFIED BY 'your_password';>> CREATE USER 'rubis'@'localhost' IDENTIFIED BY 'your_password';>> GRANT ALL PRIVILEGES ON *.* TO 'rubis'@'%';>> GRANT ALL PRIVILEGES ON *.* TO 'rubis'@'localhost';

        d. 初始化rubis数据库

cd /home/RUBiS/databasemysql -urubis -pYour_password < rubis.sqlmysql -urubis -pYour_password rubis < regions.sqlmysql -urubis -pYour_password rubis < categories.sql

    2. apache服务器 B

        a. 安装apache、php、sysstat模块

#安装 apacheyum install httpd-2.2.3-92.el5.centos -y#安装 php、php-mysqlyum install php-5.1.6-45.el5_11 -yyum install php-mysql-5.1.6-45.el5_11 -y#安装 sysstatyum install sysstat -y

        b. 通过建立连接的方式,将RUBiS的PHP代码放置在apache服务器里

ln -s /home/RUBiS/PHP /var/www/html/PHP

        c.修改PHP目录中 .php 文件里已废弃的命令,主要是:$HTTP_POST_VARS 改为 $_POST,$HTTP_GET_VARS   改为 $_GET

cd /home/RUBiS/PHP/grep -ci "HTTP_POST_VARS" *.phpgrep -ci "HTTP_GET_VARS" *.phpsed -i "s/HTTP_POST_VARS/_POST/g" *.phpsed -i "s/HTTP_GET_VARS/_GET/g" *.php

        d. 配置数据库参数,打开/home/RUBiS/PHP/PHPPrinter.php文件,修改getDatabaseLink函数:

 将mysql_pconnect()里面的三个参数依次填为apache服务器ip、mysql用户名及其密码

        e.开启apache服务,检查是否配置成功,关闭或设置防火墙(一般情况下,centos 防火墙只开启端口22)

service httpd startchkconfig httpd on#关闭防火墙,不然80端口不可访问service iptables stopchkconfig iptables off#apache 访问权限问题setenforce 0

        浏览器:http://192.168.0.2/PHP/index.html若出现下图,则服务配置成功:

    3.Client服务器 C

    client主要负责  发起模拟请求,监控各节点数据,生成测试报告;以及初始化数据库

        a. 安装监控以及绘图软件

yum install sysstatyum install gnuplot

        b.修改配置文件, /home/RUBiS/Client/rubis.properties

# HTTP server informationhttpd_hostname = 192.168.0.2 #修改1:改为PHP服务器B的IPhttpd_port = 80+# C-JDBC server informationcjdbc_hostname = 192.168.0.1 #修改1:改为数据库服务器A的IP# Precise which version to use. Valid options are : PHP, Servlets, EJBhttpd_use_version = PHP #修改2:改为PHP版本ejb_server = sci20ejb_html_path = /ejb_rubis_webejb_script_path = /ejb_rubis_web/servletservlets_server = sci21servlets_html_path = /Servlet_HTMLservlets_script_path = /servletphp_html_path = /PHPphp_script_path = /PHP# Workload: precise which transition table to useworkload_remote_client_nodes = workload_remote_client_command = /usr/local/java/jdk1.3.1/bin/java -classpath /home/RUBiS/ edu.rice.rubis.client.ClientEmulator#修改3:修改jdk路径#修改4:修改RUBiS 模拟器路径workload_number_of_clients_per_node = 240workload_transition_table = /home/RUBiS/workload/transitions.txt #修改5:修改对应路径workload_number_of_columns = 27workload_number_of_rows = 29workload_maximum_number_of_transitions = 1000workload_number_of_items_per_page = 20workload_use_tpcw_think_time = yesworkload_up_ramp_time_in_ms = 120000workload_up_ramp_slowdown_factor = 2workload_session_run_time_in_ms = 900000workload_down_ramp_time_in_ms = 60000workload_down_ramp_slowdown_factor = 3#Database informationdatabase_server = 192.168.0.1 #修改6:改为数据库服务器A的IP# Users policydatabase_number_of_users = 10000# Region & Category definition filesdatabase_regions_file = /home/RUBiS/database/ebay_regions.txt #修改7:修改对应路径database_categories_file = /home/RUBiS/database/ebay_simple_categories.txt #修改8:修改对应路径# Items policydatabase_number_of_old_items = 10000 database_percentage_of_unique_items = 80database_percentage_of_items_with_reserve_price = 40database_percentage_of_buy_now_items = 10database_max_quantity_for_multiple_items = 10database_item_description_length = 1024 #修改9:改为小一点,1024# Bids policydatabase_max_bids_per_item = 20# Comments policydatabase_max_comments_per_user = 20database_comment_max_length = 2048# Monitoring Informationmonitoring_debug_level = 0monitoring_program = /usr/bin/sarmonitoring_options = -n DEV -n SOCK -rubcwmonitoring_sampling_in_seconds = 1monitoring_rsh = /usr/bin/sshmonitoring_scp = /usr/bin/scpmonitoring_gnuplot_terminal = jpeg

        c.修改配置文件,/home/RUBiS/config.mk

###############################    Environment variables   ###############################JAVA_HOME=/usr/local/java/jdk1.3.1 #修改1:设置JAVA_HOMEJAVA  = $(JAVA_HOME)/bin/javaJAVAC = $(JAVA_HOME)/bin/javac#JAVAC = /usr/bin/jikesJAVACOPTS =# +E -deprecationJAVACC = $(JAVAC) $(JAVACOPTS)RMIC = $(JAVA_HOME)/bin/rmicRMIREGISTRY= $(JAVA_HOME)/bin/rmiregistryCLASSPATH = .:/usr/local/java/jdk1.3.1/jre/lib/rt.jar:$(PWD)#修改2:改为java路径JAVADOC = $(JAVA_HOME)/bin/javadocJAR = $(JAVA_HOME)/bin/jarGENIC = ${JONAS_ROOT}/bin/unix/GenICMAKE = gmakeCP = /bin/cpRM = /bin/rmMKDIR = /bin/mkdir# EJB server: supported values are jonas or jbossEJB_SERVER = jonas# DB server: supported values are MySQL or PostgreSQLDB_SERVER = MySQL%.class: %.java        ${JAVACC} -classpath ${CLASSPATH} $<

        d.编译客户端

#到该步骤,应该可以编译成功cd /home/RUBiSmake client

        e. 初始化数据库

cd /home/RUBiSmake initDB PARAM='all'

需要注意的几点:

    1) make initDB后边的PARAM一共有5种选择:all,生成所有数据;users,只生成用户;items,只生成物品;bids,生成竞拍;comments,生成注释。
    2) 如果前面讲到的PHP代码中需要修改的地方已经更正了的话,数据是可以写入到数据库中的。
    3) 在配置rubis.properties的时候,如果database_item_description_length的数值太大的话。会出现Unable to Open URL http://....的错误。文件默认给的值就太大,建议修改为1024即可。

初始化正常运行如下图:

初始化后,网站会正常 显示出 商品信息

 

 

        f.启动模拟器,生成的报告会出现在/home/RUBiS/bench/目录下,需要做下免密登录

cd /home/RUBiSmake emulator

转载于:https://my.oschina.net/LinJunXin/blog/857871

你可能感兴趣的文章
Xmemcached 1.2.2发布——支持遍历所有key
查看>>
Spark Streaming 1.6 流式状态管理分析
查看>>
ANTLR快餐教程(2) - ANTLR其实很简单
查看>>
dhtmlxCombo ztree
查看>>
第16期-Linux运维挑战赛
查看>>
Java的类型擦除
查看>>
好程序员web前端教程分享js闭包
查看>>
可以给redis的hash中的hashKey设置expire吗?
查看>>
Python获取本机 IP/MAC(多网卡)
查看>>
jQuery EasyUI 学习资料链接整理
查看>>
iOS textView 选中指向左上角
查看>>
OpenSSL学习(十二):基础-指令gendsa
查看>>
mac:python:pycharm:osx:可怕的case-sensitive硬盘格式
查看>>
MySQL备份与恢复
查看>>
Unsupported major.minor version
查看>>
PHP框架高级编程——应用Symfony、CakePHP和Zend
查看>>
读取xml节点值生成一个实体类,读取xml所有节点值,读取所有xml所有节点名称
查看>>
RAC 归档目录不同的备份
查看>>
配置管理小报100122:能者上、平者让、庸者下
查看>>
配置管理小报100204:产品路线图
查看>>