TPC-W安装与配置(威斯康星大学Java版)

tpcw 纽约大学版 立即下载

系统:CentOS 5.6

TPC-W 官方介绍:http://www.tpc.org/tpcw/

下载TPC-W(java版):http://pharm.ece.wisc.edu/tpcw/tpcw.tar.gz

解压缩后就是一个文件夹tpcw1.0

(说明:下面的操作命令大多都是在tpcw1.0所在目录下开始进行的)


安装与配置过程如下:

1.软件安装:    

下载并安装JDK

http://www.oracle.com/technetwork/java/javase/downloads/index.html

安装版本:jdk-6u22-linux-i586.bin

路径:/usr/local/java

下载并安装Tomcat

http://tomcat.apache.org/

安装版本:apache-tomcat-6.0.26.tar.gz

路径:/usr/local/apache-tomcat-6.0.26

安装MySQL服务器端

#yum install mysql-server

下载并配置JDBC MySQL驱动

 http://dev.mysql.com/downloads/connector/j/

解压后复制mysql-connector-java-5.1.13-bin.jar到此路径下(目录不存在则自己创建):/usr/local/apache-tomcat-6.0.26/webapps/servlet/WEB-INF/lib


2.环境变量设置:

 根据自己安装软件的路径在/etc/profile文件末尾添加:

export JAVA_HOME=/usr/local/java/jdk1.6.0_22

export CATALINA_HOME=/usr/local/apache-tomcat-6.0.26

export PATH=$JAVA_HOME/bin:$CATALINA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/lib/servlet-api.jar: $CATALINA_HOME/webapps/servlet/WEB-INF/lib/mysql-connector-java-5.1.13-bin.jar$CLASSPATH

重启或注销一下计算机,让环境变量生效


3.修改部分源码:

修改tpcw1.0\populate\populate_images

#!/usr/local/bin/perl      ------>    #!/usr/bin/perl

$DEST_DIR="/local_home/cain/Images";      ------>    $DEST_DIR="/usr/local/apache-tomcat-6.0.26/webapps/tpcw/Images";

修改tpcw1.0\populate\TPCW_Populate.java

    private static final String driverName = "com.mysql.jdbc.Driver";//"COM.ibm.db2.jdbc.app.DB2Driver";
    private static final String dbName = "jdbc:mysql://localhost:3306/tpcw2";//"jdbc:db2:tpcw2";

PreparedStatement statement = con.prepareStatement
	    ("INSERT INTO address(ADDR_ID,ADDR_STREET1,ADDR_STREET2,ADDR_CITY,ADDR_STATE,ADDR_ZIP,ADDR_CO_ID) VALUES (?, ?, ?, ?, ?, ?, ?)");
//myql是安装在linux上的,所以有大小写之分, 解决com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'tpcw2.ADDRESS'

try {
	    Class.forName(driverName);
	    con = DriverManager.getConnection(dbName, "root", "");//(dbName);
		 con.setAutoCommit(false);//解决java.sql.SQLException: Can't call commit when autocommit=true
	}
修改tpcw1.0\servlets\TPCW_Database.java
 static String driverName = "com.mysql.jdbc.Driver";//"COM.ibm.db2.jdbc.app.DB2Driver";
 static String jdbcPath = "jdbc:mysql://localhost:3306/tpcw2";//"jdbc:db2:tpcw2";

private static final boolean use_connection_pool = false; //true;

try {
	     Class.forName(driverName).newInstance();//Class.forName(driverName);
	    // Class.forName("postgresql.Driver");

	    // Create URL for specifying a DBMS
	    Connection con;
	    while(true) {
		try {
		    //   con = DriverManager.getConnection("jdbc:postgresql://eli.ece.wisc.edu/tpcw", "milo", "");
		    con = DriverManager.getConnection(jdbcPath, "root", "");//con = DriverManager.getConnection(jdbcPath);
		    break;  

(下面就是将Prepare SQL语句改成MySql语句,这里简写如下:)

sql.getName="SELECT c_fname,c_lname FROM customer WHERE c_id = ?"


sql.getBook="SELECT * FROM item,author WHERE item.i_a_id = author.a_id AND i_id = ?"


sql.getCustomer="SELECT * FROM customer, address, country WHERE customer.c_addr_id = address.addr_id AND address.addr_co_id = country.co_id AND customer.c_uname = ?"


sql.doSubjectSearch="SELECT * FROM item, author WHERE item.i_a_id = author.a_id AND item.i_subject = ? ORDER BY item.i_title limit 50"


sql.doTitleSearch="SELECT * FROM item, author WHERE item.i_a_id = author.a_id AND substring(soundex(item.i_title),0,4)=substring(soundex(?),0,4) ORDER BY item.i_title limit 50"


sql.doAuthorSearch="SELECT * FROM author, item WHERE substring(soundex(author.a_lname),0,4)=substring(soundex(?),0,4) AND item.i_a_id = author.a_id ORDER BY item.i_title limit 50"


sql.getNewProducts="SELECT i_id, i_title, a_fname, a_lname " +\
		 "FROM item, author " +\
		 "WHERE item.i_a_id = author.a_id " +\
		 "AND item.i_subject = ? " +\
		 "ORDER BY item.i_pub_date DESC,item.i_title " +\
		 "limit 50"


sql.getBestSellers="SELECT i_id, i_title, a_fname, a_lname " +\
		 "FROM item, author, order_line " +\
		 "WHERE item.i_id = order_line.ol_i_id " +\
		 "AND item.i_a_id = author.a_id " +\
		 "AND order_line.ol_o_id > (SELECT MAX(o_id)-3333 FROM orders) " +\
		 "AND item.i_subject = ? " +\
		 "GROUP BY i_id, i_title, a_fname, a_lname " +\
		 "ORDER BY SUM(ol_qty) DESC " +\
		 "limit 50"


sql.getRelated="SELECT J.i_id,J.i_thumbnail from item I, item J where (I.i_related1 = J.i_id or I.i_related2 = J.i_id or I.i_related3 = J.i_id or I.i_related4 = J.i_id or I.i_related5 = J.i_id) and I.i_id = ?"


sql.adminUpdate="UPDATE item SET i_cost = ?, i_image = ?, i_thumbnail = ?, i_pub_date = CURRENT_DATE WHERE i_id = ?"
sql.adminUpdate.related="SELECT ol_i_id " +\
		 "FROM orders, order_line " + \
		 "WHERE orders.o_id = order_line.ol_o_id " +\
		 "AND NOT (order_line.ol_i_id = ?) " +\
		 "AND orders.o_c_id IN (SELECT o_c_id " +\
 		 "                      FROM orders, order_line " +\
		 "                      WHERE orders.o_id = order_line.ol_o_id " +\
		 "                      AND orders.o_id > (SELECT MAX(o_id)-10000 FROM orders)" + \
		 "                      AND order_line.ol_i_id = ?) " +\
		 "GROUP BY ol_i_id " +\
		 "ORDER BY SUM(ol_qty) DESC " +\
		 "limit 5"
sql.adminUpdate.related1="UPDATE item SET i_related1 = ?, i_related2 = ?, i_related3 = ?, i_related4 = ?, i_related5 = ? WHERE i_id = ?"


sql.getUserName="SELECT c_uname FROM customer WHERE c_id = ?"


sql.getPassword="SELECT c_passwd FROM customer WHERE c_uname = ?"


sql.getRelated1="SELECT i_related1 FROM item where i_id = ?"


sql.getMostRecentOrder.id="SELECT o_id " +\
		     "FROM customer, orders " +\
		     "WHERE customer.c_id = orders.o_c_id " +\
		     "AND c_uname = ? " +\
		     "ORDER BY o_date, orders.o_id DESC " +\
		     "limit 1"
sql.getMostRecentOrder.order="SELECT orders.*, customer.*, " +\
		     "  cc_xacts.cx_type, " +\
		     "  ship.addr_street1 AS ship_addr_street1, " +\
		     "  ship.addr_street2 AS ship_addr_street2, " +\
		     "  ship.addr_state AS ship_addr_state, " +\
		     "  ship.addr_zip AS ship_addr_zip, " +\
		     "  ship_co.co_name AS ship_co_name, " +\
		     "  bill.addr_street1 AS bill_addr_street1, " +\
		     "  bill.addr_street2 AS bill_addr_street2, " +\
		     "  bill.addr_state AS bill_addr_state, " +\
		     "  bill.addr_zip AS bill_addr_zip, " +\
		     "  bill_co.co_name AS bill_co_name " +\
		     "FROM customer, orders, cc_xacts," +\
		     "  address AS ship, " +\
		     "  country AS ship_co, " +\
		     "  address AS bill,  " + \
		     "  country AS bill_co " +\
		     "WHERE orders.o_id = ? " +\
		     "  AND cx_o_id = orders.o_id " +\
		     "  AND customer.c_id = orders.o_c_id " +\
		     "  AND orders.o_bill_addr_id = bill.addr_id " +\
		     "  AND bill.addr_co_id = bill_co.co_id " +\
		     "  AND orders.o_ship_addr_id = ship.addr_id " +\
		     "  AND ship.addr_co_id = ship_co.co_id " +\
		     "  AND orders.o_c_id = customer.c_id"
sql.getMostRecentOrder.lines="SELECT * " + \
		     "FROM order_line, item " + \
		     "WHERE ol_o_id = ? " +\
		     "AND ol_i_id = i_id"


sql.createEmptyCart="SELECT COUNT(*) FROM shopping_cart"
sql.createEmptyCart.insert="INSERT into shopping_cart (sc_id, sc_time) " + \
		     "VALUES ((SELECT COUNT(*) FROM shopping_cart)," + \
		     "CURRENT_TIMESTAMP)"


sql.addItem="SELECT scl_qty FROM shopping_cart_line WHERE scl_sc_id = ? AND scl_i_id = ?"
sql.addItem.update="UPDATE shopping_cart_line SET scl_qty = ? WHERE scl_sc_id = ? AND scl_i_id = ?"
sql.addItem.put="INSERT into shopping_cart_line (scl_sc_id, scl_qty, scl_i_id) VALUES (?,?,?)"


sql.refreshCart.remove="DELETE FROM shopping_cart_line WHERE scl_sc_id = ? AND scl_i_id = ?"
sql.refreshCart.update="UPDATE shopping_cart_line SET scl_qty = ? WHERE scl_sc_id = ? AND scl_i_id = ?"


sql.addRandomItemToCartIfNecessary="SELECT COUNT(*) from shopping_cart_line where scl_sc_id = ?"


sql.resetCartTime="UPDATE shopping_cart SET sc_time = CURRENT_TIMESTAMP WHERE sc_id = ?"


sql.getCart="SELECT * " + \
		 "FROM shopping_cart_line, item " + \
		 "WHERE scl_i_id = item.i_id AND scl_sc_id = ?"


sql.refreshSession="UPDATE customer SET c_login = NOW(), c_expiration = (CURRENT_TIMESTAMP + INTERVAL 2 HOUR) WHERE c_id = ?"


sql.createNewCustomer="INSERT into customer (c_id, c_uname, c_passwd, c_fname, c_lname, c_addr_id, c_phone, c_email, c_since, c_last_login, c_login, c_expiration, c_discount, c_balance, c_ytd_pmt, c_birthdate, c_data) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
sql.createNewCustomer.maxId="SELECT max(c_id) FROM customer"


sql.getCDiscount="SELECT c_discount FROM customer WHERE customer.c_id = ?"


sql.getCAddrId="SELECT c_addr_id FROM customer WHERE customer.c_id = ?"


sql.getCAddr="SELECT c_addr_id FROM customer WHERE customer.c_id = ?"


sql.enterCCXact="INSERT into cc_xacts (cx_o_id, cx_type, cx_num, cx_name, cx_expire, cx_xact_amt, cx_xact_date, cx_co_id) " + \
		 "VALUES (?, ?, ?, ?, ?, ?, CURRENT_DATE, (SELECT co_id FROM address, country WHERE addr_id = ? AND addr_co_id = co_id))"


sql.clearCart="DELETE FROM shopping_cart_line WHERE scl_sc_id = ?"


sql.enterAddress.id="SELECT co_id FROM country WHERE co_name = ?"
sql.enterAddress.match="SELECT addr_id FROM address " + \
		 "WHERE addr_street1 = ? " +\
		 "AND addr_street2 = ? " + \
		 "AND addr_city = ? " + \
		 "AND addr_state = ? " + \
		 "AND addr_zip = ? " + \
		 "AND addr_co_id = ?"
sql.enterAddress.insert="INSERT into address (addr_id, addr_street1, addr_street2, addr_city, addr_state, addr_zip, addr_co_id) " + \
		     "VALUES (?, ?, ?, ?, ?, ?, ?)"
sql.enterAddress.maxId="SELECT max(addr_id) FROM address"


sql.enterOrder.insert="INSERT into orders (o_id, o_c_id, o_date, o_sub_total, " + \
		 "o_tax, o_total, o_ship_type, o_ship_date, " + \
		 "o_bill_addr_id, o_ship_addr_id, o_status) " + \
		 "VALUES (?, ?, CURRENT_DATE, ?, 8.25, ?, ?, CURRENT_DATE + INTERVAL ? DAY, ?, ?, 'Pending')"
sql.enterOrder.maxId="SELECT count(o_id) FROM orders"


sql.addOrderLine="INSERT into order_line (ol_id, ol_o_id, ol_i_id, ol_qty, ol_discount, ol_comments) " + \
		 "VALUES (?, ?, ?, ?, ?, ?)"


sql.getStock="SELECT i_stock FROM item WHERE i_id = ?"


sql.setStock="UPDATE item SET i_stock = ? WHERE i_id = ?"


sql.verifyDBConsistency.custId="SELECT c_id FROM customer"
sql.verifyDBConsistency.itemId="SELECT i_id FROM item"
sql.verifyDBConsistency.addrId="SELECT addr_id FROM address"

修改tpcw1.0\servlets\TPCW_Util.java

    public static final String SESSION_ID="jsessionid="; //"$sessionid{1}quot;;

修改tpcw1.0\rbe\RBE.java

public static String www1 = "http://localhost:8080/";//"http://ironsides.cs.wisc.edu:8001/";

    new StrStrPattern(";jsessionid="); //(";$sessionid{1}quot;);

  public static final String field_sessionID = ";jsessionid="; //";$sessionid{1}quot;;


4.在MySQL中创建数据库tpcw2

# service mysqld start

# mysql

> CREATE DATABASE tpcw2;


5.开始安装TPC-W:

mkdir -p ${CATALINA_HOME}/webapps/tpcw/Images
mkdir -p ${CATALINA_HOME}/webapps/servlet/WEB-INF/classes

在数据库tpcw2中生成数据

cd populate
service mysqld start
javac TPCW_Populate.java
java TPCW_Populate
cp TPCW_Populate.class ${CATALINA_HOME}/webapps/servlet/WEB-INF/classes

生成并部署图片

cd ../ImgGen/ImgFiles
make
cd ..
cd ../populate
perl populate_images
cp ../images/* ${CATALINA_HOME}/webapps/tpcw/Images

编译并部署servlets

cd ../servlets
javac *.java
cp *.class ${CATALINA_HOME}/webapps/servlet/WEB-INF/classes

vi  ${CATALINA_HOME}/webapps/servlet/WEB-INF/web.xml

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app version="2.5"
  xmlns="http://java.sun.com/xml/ns/javaee"  
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
   
 <display-name>TPC-W</display-name>
  <description>
    TPC-W Java Implementation
  </description>

  <servlet>
    <servlet-name>TPCW_home_interaction</servlet-name>
    <servlet-class>TPCW_home_interaction</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>TPCW_shopping_cart_interaction</servlet-name>
    <servlet-class>TPCW_shopping_cart_interaction</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>TPCW_order_inquiry_servlet</servlet-name>
    <servlet-class>TPCW_order_inquiry_servlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>TPCW_order_display_servlet</servlet-name>
    <servlet-class>TPCW_order_display_servlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>TPCW_search_request_servlet</servlet-name>
    <servlet-class>TPCW_search_request_servlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>TPCW_execute_search</servlet-name>
    <servlet-class>TPCW_execute_search</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>TPCW_new_products_servlet</servlet-name>
    <servlet-class>TPCW_new_products_servlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>TPCW_best_sellers_servlet</servlet-name>
    <servlet-class>TPCW_best_sellers_servlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>TPCW_product_detail_servlet</servlet-name>
    <servlet-class>TPCW_product_detail_servlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>TPCW_customer_registration_servlet</servlet-name>
    <servlet-class>TPCW_customer_registration_servlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>TPCW_buy_request_servlet</servlet-name>
    <servlet-class>TPCW_buy_request_servlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>TPCW_buy_confirm_servlet</servlet-name>
    <servlet-class>TPCW_buy_confirm_servlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>TPCW_admin_request_servlet</servlet-name>
    <servlet-class>TPCW_admin_request_servlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>TPCW_admin_response_servlet</servlet-name>
    <servlet-class>TPCW_admin_response_servlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>TPCW_home_interaction</servlet-name>
    <url-pattern>/TPCW_home_interaction</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TPCW_shopping_cart_interaction</servlet-name>
    <url-pattern>/TPCW_shopping_cart_interaction</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TPCW_order_inquiry_servlet</servlet-name>
    <url-pattern>/TPCW_order_inquiry_servlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TPCW_order_display_servlet</servlet-name>
    <url-pattern>/TPCW_order_display_servlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TPCW_search_request_servlet</servlet-name>
    <url-pattern>/TPCW_search_request_servlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TPCW_execute_search</servlet-name>
    <url-pattern>/TPCW_execute_search</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TPCW_new_products_servlet</servlet-name>
    <url-pattern>/TPCW_new_products_servlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TPCW_best_sellers_servlet</servlet-name>
    <url-pattern>/TPCW_best_sellers_servlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TPCW_product_detail_servlet</servlet-name>
    <url-pattern>/TPCW_product_detail_servlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TPCW_customer_registration_servlet</servlet-name>
    <url-pattern>/TPCW_customer_registration_servlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TPCW_buy_request_servlet</servlet-name>
    <url-pattern>/TPCW_buy_request_servlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TPCW_buy_confirm_servlet</servlet-name>
    <url-pattern>/TPCW_buy_confirm_servlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TPCW_admin_request_servlet</servlet-name>
    <url-pattern>/TPCW_admin_request_servlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>TPCW_admin_response_servlet</servlet-name>
    <url-pattern>/TPCW_admin_response_servlet</url-pattern>
  </servlet-mapping>

</web-app>

编译RBE

cd rbe
cd util
javac *.java
cd ../args
mkdir -p rbe/util
cp ../util/*.class rbe/util/
mkdir rbe/args
javac *.java
cp *.class rbe/args/
mv rbe ../
cd ..
javac *.java

(注:由于直接编译会出现错误,所以这里要修改部分函数名

tpcw1.0/rbe/util/Debug.java中

public class Debug {  public static void assert(boolean assertCond, String message) …

把函数名assert改成你自己想要的名字, 如assert1

接着以下三个文件中所有出现的Debug.assert中的assert都改成你自己修改函数名, 如Debug.assert1

tpcw1.0/rbe/EB.java

tpcw1.0/rbe/util/CharSetStrPattern.java

tpcw1.0/rbe/util/Histogram.java)


6.测试TPC-W:

启动tomcat

# startup.sh

访问http://localhost:8080/servlet/TPCW_home_interaction页面测试是否安装成功


7.运行TPC-W:

 cd  tpcw1.0/

 java rbe.RBE -EB rbe.EBTPCW1Factory 30 -OUT test.m -RU 100 -MI1000 -RD 100  -CUST 10000 -ITEM 10000


测试工具的学习——TPCW测试流程图 提供一个学习TPCW测试工具的一个流程图。 立即下载

相关推荐

tpc-w 白皮书 (原件+翻译件).rar

2021年4月29日

TPC-W安装详解

所用系统CentOS6.3 32位 TPC-W下载 1、安装jdk(略) 2、安装MySQL

HelloWorld 2232

java源码github-TPC-W-Benchmark:TPC-W基准测试的Java实现。这里几乎所有的源代码都来自https://gith

java github的原语TPC-W基准 TPC-W是一种流行的交易Web基准测试,广泛用于性能基准测试。 TPC-W指定了Web电子商务Web应用程序的规范。 该存储库包含使用Java Servlet的该规范的实现。 源代码来自: 安装 设定要求 首先使用以下命令将此仓库克隆到本地计算机中。 git clone https://github.com/smb564/TPC-W-Benchmark.git 我们将此目录称为{tpc-w} 为了运行Java Servlet,我们需要安装Tomcat服务器(还有其他Java Servlet引擎)。 安装Tomcat只需下载和解压缩存档即可。 下载最新版本(我已经下载了最新版本的Tomcat 7)并解压缩它。 安装MySQL数据库(我使用过MySQL,但可以使用任何具有JDBC连接器的数据库。)然后下载MySQL数据库的JDBC驱动程序,并将其放在{tpc-w}目录中。 我用过驱动程序。 设置配置 您需要使用位于tpcw.properties -w目录中的tpcw.properties和main.properties文件配置一些属性。 tpc

tpcw遇到的问题和解决办法

当EB(模拟客户)数量500以及以上时,程序运行报错。当TPCW正常运行产生EBs,如果长时间卡在那里而服务器端又没有网络IO,一般情况是数据方面响应出现了问题。现在通过修改增加tomcat的maxThreads、JVM的虚拟内存和MySQL的max_connections到达500以及以上可以解决这个问题。 先前可以运行的数据记入到日志文件,后面不知什么原因开始无效了,但是当EB小的时候有效,

zhangguangkaka的专栏 982

数字IC后端实战:Innovus与ICC2中如何巧妙规避Filler1缺失引发的DRC问题?

本文针对数字IC后端设计中工艺厂不提供最小填充单元Filler1的常见挑战,深入剖析了由此引发的DRC问题根源。详细对比了在Cadence Innovus和Synopsys ICC2两大主流PR工具中,如何通过设置单元间距约束来系统性规避物理缝隙,确保电源网络完整性与制造可靠性,为工程师提供了一套稳健的实战解决方案。

weixin_29303701的博客 306

Echarts之风力风速玫瑰图

风力风速玫瑰图前言改进之路代码如下总结导出与导入 前言 今天上班收到任务,我们老大让我研究一下这个“风速风向玫瑰图”,还说这个是百度的雷达图的变异体,于是乎我直接找的雷达图,但是雷达图没有这种柱形的,都是点线,然后我又找了好久,最后突然在echarts官网上面看到了图1-2,才终于有了思路,原来这个图不是雷达图的变异体,而是极坐标系下的堆叠柱状图,于是就开始我的“改进”之路了。 图1-1 改进之路...

qq_38776605的博客 1万+

服务器性能评价体系,基于ServerScope平台TPCW性能评价

摘要:随着电子商务以及INTERNET技术的日益成熟,电子商务网站已经对人们的生活产生了巨大的影响,人们对电子商务网站服务质量也越来越关注,而支撑整个电子商务网站的后台Web服务器的性能自然而然地成为了人们关注的重中之重,由此人们研究了很多优化Web服务器性能的方法,也提出了很多评测和分析Web服务器性能的方法。 在系统性能评价方面,SPEC和TPC是两个著名的性能评测组织,它们制定的各种基准程序...

weixin_39908588的博客 379

【SOC估计】基于EKF与二阶RC等效电路模型的锂电池SOC在线估计算法实现与仿真分析

本文详细介绍了基于扩展卡尔曼滤波(EKF)与二阶RC等效电路模型的锂电池SOC在线估计算法。通过Matlab仿真分析,展示了该算法如何实现高精度SOC估计,相比传统方法显著提升估计精度与鲁棒性,适用于电动汽车、储能系统等关键领域。

1093

TPC-W Server端部署

<!-- @page {margin:2cm} h3 {margin-top:0.46cm; margin-bottom:0.46cm; direction:ltr; color:#000000; line-height:173%; text-align:justify; page-break-inside:avoid; widows:0; orphan

pty_2007的专栏 2216

本地部署 pyvideotrans(视频翻译配音工具)

语音识别选择faster-whisper(本地),模型选择预先下载并保存的medium,然后选择好要处理的视频以及保存到的位置,这里我选择了一个名为why not的英文演讲视频,保存在桌面_vedio_out文件下。将附件中faster-medium.7z 和 faster-small.7z解压到项目中的models目录下, 解压后,目录中应该存在 models--Systran--faster-whisper-small。en.m4a|.wav = 原始视频中的音频文件(包含所有背景音和人声)

西唯兵欧泡的博客 2340

MYSQL、ORACLE、PostgreSQL数据库对象层次及权限管理对比

本文为出于自己扩展、比较、图形化的思维路径自行总结归纳,可能有些细节不太准确,欢迎指正。MySQL、Oracle、PostgreSQL关系型数据库都有管理员用户、用户、权限管理、表函数索引等数据库对象,schema。但在数据库对象隶属层次上有差异和相同的地方。

rachel_2016的博客 1489

TPC-W自动生成数据库数据

事务性能处理委员会 (transaction processingperformance council, TPC)负责制定商务应用基准程序标准规范、 性能和价格度量, 并管理测试结果的发布。TPC-W 是 TPC 委员会 2000年发布的一个专门针对电子商务应用基准。 此基准构造了一个网上购书系统,进行大用户量的并发访问测试, 可以获得复杂电子商务环境下服务器运行的信息 [1]。Tpc-Wc采用

lchengcome的专栏 1967

keil软件调试(Debug)仿真教程(软件调试和硬件调试的区别)及常用调试按键详解

单片机的调试分为两种,一种是使用软件模拟调试,第二种是硬件调试,两种调试方式各有不同,软件模拟调试有误差,而硬件调试,借用仿真器调试是嵌入式开发中常用方法。

weixin_51624736的博客 3万+

TPC-W基准

TPC-W是TPC所制定的一個基準(benchmark),主要是用在交易型網路電子商務(transactional web e-Commerce)上面,目的為測試系統的效能並給予量化(給出數據)。 TPC-W所測量出來的數據單位為WIPS(Web Interaction Per Second),以表示效能(performance)的程度,這就是throughput的多寡。

pty_2007的专栏 1367

Web渗/透/攻/击实战(1)—成功渗/透台湾某净化设备公司官网

写在前面 作为一个防御型白帽黑客​ 你一定要知道黑客的进攻套路 才能有相应的防御措施 声明:只做测试,发现对方的漏洞,并不进行破坏性操作 1、 网站分析 地址:http://www.xxx.com.tw/ 这是一家中国台湾地区的网站,看着满屏的繁体字,就不是很舒服 网站首页包括:关于我们、资料下载、联络方式等等。 这些对我们进行sql注入用处并不大 我们需要的是可以进行参数传入的页面,这样我们就可以在参数里做文章 找一下 有没有新闻列表相关的页面 页...

信息安全领域优质创作者|操作系统领域专家 1805

2025必备:C#上位机自动更新方案,支持断点续传与版本回滚(附完整源码)

摘要:工业上位机自动更新方案解析 本文针对工业现场上位机更新效率低下、风险高的问题,提出了一套完整的自动更新解决方案。该方案包含四个核心模块:版本检测(后台比对版本)、断点下载(支持网络中断续传)、安装更新(自动备份旧版本)和版本回滚(更新失败快速恢复)。通过独立更新工具与主程序解耦的设计,实现了"不影响生产+有退路"的工业级更新要求。方案基于.NET Framework开发,采用HTTP协议通信,包含详细的代码实现和工业场景适配说明,解决了U盘更新效率低、网络不稳定导致下载失败、更新后

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 955

TPC-W总结

TPC-W总结 1TPC-W概述        TPC-W是一个用于电子商务测试的基准,适用于B2C和B2B商业模型。目前的版本号是1.8,由Transaction Processing Performance Council制定和发布的for web的TPC标准。        TPC-W基准是仿真了一个在线电子书店的场景,这个场景的参数都有明确的定义,它测的对象是一个包含Web服务系统,

pty_2007的专栏 3986

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

TPC-W安装与配置

关于配套工具的安装: 1.搭建JDK环境 删除默认gcj #rpm -qa | grep gcj ,rpm -e *** 安装jdk #rpm ***.rpm 设置环境变量,在/etc/profile中加入如下参数 export JAVA_HOME=/usr/java/j2sdk1.4.2_19 export PATH=$JAVA_HOME/bin/:$PATH export CLA

zhangguangkaka的专栏 1918

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

TPCW安装

1 卸载系统中默认的安装的jdk 步骤如下: [root@mpi01 tpcw_need]# rpm -aq|grep jdk java-1.6.0-openjdk-1.6.0.0-1.22.1.9.8.el5_6 root@mpi01 tpcw_need]# yum -y remove java-1.6.0-openjdk-1.6.0.0-1.22.1.9.8.el...

weixin_34318326的博客 291

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

TPC-W 一个实验结果和分析

1测试环境 1.1软件环境 Ubuntu 12.04.1 LTS (内核:3.2.0) mysql  Ver 14.14 Distrib 5.5.28Jboss 3.2.7mysql-conector-java-5.1.22 apache2apache-ant-1.8.4 tomcat-conectors-1.2.37 1.2硬件环境 CPU: Intel Pentiu

pty_2007的专栏 2084

tpc-w tomcat mysql_ubuntu11.10 安装tpc_w

首先简介一下在安装tpc_w时我们需要安装的软件jdk,tomcat,ant,jdbc,servlet,mysql,tpc_w下面是具体的安装步骤一、安装jdk下载jdk-7u5-linux-i586.tar.gz下载地址:http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586.tar.gz安装jdk解压刚才下载的jdk-7u5...

weixin_39736047的博客 396

benchmark mysql_大家一起来测试,benchmark起来(MySQL下的TPC-C,TPC-H,TPC-W)

# Q1selectl_returnflag,l_linestatus,sum(l_quantity) as sum_qty,sum(l_extendedprice) as sum_base_price,sum(l_extendedprice * (1 - l_discount)) as sum_disc_price,sum(l_extendedprice * (1 - l_discount) *...

weixin_29903713的博客 259
上一篇: hadoop的简单了解
下一篇: hadoop学习步骤
cybercode
博客等级 码龄17年 52粉丝 23原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值