当前位置:首页 » 编程软件 » pgscript脚本

pgscript脚本

发布时间: 2022-04-30 23:37:56

① 打开IIS--本地计算机,点网站,右键---属性--主目录--配置--选项---ASP脚本超时时间,可以改为60-90

<%
Server.ScriptTimeOut=3600 '3600为秒,即脚本超时时间设为3600秒
%>

② http://www.baidu.com/index.phptn=luojianbin_pg 怎么改成hao123

一、修改IE的标题栏

即在IE浏览器最上方的蓝色横条里做广告,而不是显示默认的“[M$] Internet Explorer”。这种修改非常常见,有人也特意针对它编制了反修改的程序。

.注册表法

HKEY_LOCAL_MACHINE\Software\[M$]\Internet Explorer\Main

HKEY_CURRENT_USER\Software\[M$]\Internet Explorer\Main在注册表中找到以上两处主键,将其下的“Window Title”主键删除,并关闭所有打开的IE浏览器窗口再重新打开就能看到效果。

二、修改IE的首页

这个改回来很方便,在IE的设置里就有。比较麻烦的是某些网页在浏览者的硬盘里写入程序,使重启计算机后首页设置又被改了回去,这时可使用“系统配置实用程序”来解决。开始-运行,键入msconfig点击“确定”,在弹出的窗口中切换到“启动”选项卡,禁用可疑程序启动项,一般电脑启动时就打开的那个网站地址就在里面,把他前面的勾去掉。

三、在[Windows] 启动时显示一个窗口,点确定才能进去

这个设置其实与IE无关,而是[Windows] 的登录提示窗口,不过最近有些网页对它动上了脑筋,在这个窗口里做广告。

注册表法:

开始菜单-运行-输入regedit

HKEY_LOCAL_MACHINE\Software\[M$]\[Windows] \CurrentVersion\Winlogon在注册表中找到此主键,将其下的“LegalNoticeCaption”和“LegalNoticeText”主键删除即可。

四、IE主页地址栏被禁用的解决办法,很多设置按钮变灰

现在有些网站,不但改标题,改主页地址,还竟然修改注册表,让IE的许多设置选项禁用(变灰),下面是修改注册表开锁的的方法:

[HKEY_CURRENT_USER Software\Policies\[M$]\Internet Explorer\Control Panel]

"HomePage"=dword:00000000

既将HomePage的键值改为“0”(“1”为禁用)。

实际上在[HKEY_CURRENT_USERSoftwarePolicies[M$]中,缺省只有主键“SystemCertificates”,而“Internet Explorer”是没有的,只有想控制某些功能时才加上的。

如IE还有别的设置被禁用,很多本来可以改的都变成“灰色”,不如直接将主键“Internet Explorer”一删了之。

五、电脑一启动没有打开IE就自动打开某个网站,还有很多跳窗。

这是有的网站在你的电脑中写入了程序,电脑一启动就自动运行,如果是WIN98,开始菜单-程序-附件-系统工具-系统信息-工具-系统配置实用程序-启动,这里显示的是电脑一启动就运行的程序,那个自动打开的恶心网站的网址就在里面,把他前面的勾去掉,重新启动电脑后就不会再出现。超级兔子魔法设置软件也可以更改自动运行的程序。

六、防范

1.因为修改注册表设置都是用的javascript脚本语言,所以只需禁用它即可。但这种脚本语言应用广泛,所以建议在IE的设置中将脚本设为“提示”。

2.使用 [Windows2000]的朋友,只需在“控制面板”-“管理工具”-“服务”中禁用Remote Registry Service服务,也无法通过浏览网页来修改你的注册表了。

3.使用Norton AntiVirus 2002 v8.0杀毒软件,这个版本新增Script Blocking功能,将通过IE修改注册表的代码定义为Trojan.Offensive并予以拦截。

③ 如何用 sysbench 并行装载 Postgresql 测试数据

sysbench原来自带的lua数据装载脚本是使用以下方式串行装载的,速度比较慢(比单条insert快,但是比COPY慢)。
insert into table1 values (),(),()....
insert into table2 values (),(),()....
...
insert into tablen values (),(),()....
使用prepare导入数据的用法举例
./sysbench_pg --test=lua/oltp.lua --db-driver=pgsql --pgsql-host=127.0.0.1 --pgsql-port=1921 --pgsql-user=postgres --pgsql-password=postgres --pgsql-db=postgres --oltp-tables-count=64 --oltp-table-size=1000000 --num-threads=64 prepare
prepare 表示装载数据,但是它串行的。
sysbench0.5中可以在命令行中指定测试时启动的并行线程数,这个测试过程是使用run命令,而且是多线程并发的,所以我们可以使用sysbench的run命令来造数据,而不再使用其提供的prepare命令的方法来造数据。run命令会根据命令行参数--num-threads来指定并发线程数的多少。
在sysbench中自定义的lua脚本中要求实现以下几个函数:
function thread_init(thread_id): 此函数在线程创建后只被执行一次
function event(thread_id): 每执行一次就会被调用一次。
由上可以知道,本次造数据的脚本我们只需要实现thread_init()函数就可以了。
生成测试数据的脚本沿用老唐提供的代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdint.h>
#include <sys/time.h>
uint64_t my_rand(struct random_data * r1, struct random_data * r2)
{
uint64_t rand_max = 100000000000LL;
uint64_t result;
uint32_t u1, u2;
random_r(r1, &u1);
random_r(r2, &u2);
result = (int64_t)u1 * (int64_t)u2;
result = result % rand_max;
return result;
}
int main(int argc, char *argv[])
{
struct timeval tpstart;
struct random_data r1, r2;
int i;
int r;
int max_value;
char rand_state1[128];
char rand_state2[128];
if (argc !=2)
{
printf("Usage: %s <rownums>\n", argv[0]);
return 1;
}
max_value = atoi(argv[1]);
gettimeofday(&tpstart,NULL);
initstate_r(tpstart.tv_usec,rand_state1,sizeof(rand_state1),&r1);
srandom_r(tpstart.tv_usec, &r1);
gettimeofday(&tpstart,NULL);
initstate_r(tpstart.tv_usec,rand_state2,sizeof(rand_state1),&r2);
srandom_r(tpstart.tv_usec, &r2);
for (i=1; i<max_value+1; i++)
{
r = my_rand(&r1, &r2) % max_value;
printf("%d,%d,%011llu-%011llu-%011llu-%011llu-%011llu-%011llu-%011llu-%011llu-%011llu-%011llu,%011llu-%011llu-%011llu-%011llu-%011llu\n",
i,
r,
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2)
);
}
return 0;
}
编译此C语言程序的方法如下:
gcc gendata.c -o gendata
新建一个.lua的脚本,内容如下
调用 common.lua中的 set_vars() 继承来自 common.lua 的全局变量。
函数 data(table_id) : 创建表,创建管道,将管道数据传输到psql -c " ..."客户端的方式导入数据。
函数 create_index(table_id) : 创建索引,调整SEQUENCE next val。
注意咯, oltp_tables_count 必须是 num_threads 的倍数,在 thread_init 中, 以num_threads 为步调,以thread_id+1为起始值,设置i的值,并调用data(table_id)和create_index(table_id)。
$ vi lua/.lua
pathtest = string.match(test, "(.*/)") or ""
dofile(pathtest .. "common.lua")
function data(table_id)
local query
query = [[
CREATE UNLOGGED TABLE sbtest]] .. table_id .. [[ (
id SERIAL NOT NULL,
k INTEGER,
c CHAR(120) DEFAULT '' NOT NULL,
pad CHAR(60) DEFAULT '' NOT NULL,
PRIMARY KEY (id)
) ]]
db_query(query)
os.execute ('export PGPASSWORD=' .. pgsql_password)
os.execute ('rm -f sbtest' .. table_id .. '.dat')
os.execute ('mknod sbtest' .. table_id .. '.dat p')
os.execute ('./gendata ' .. oltp_table_size .. ' >> sbtest'..table_id ..'.dat &')
os.execute ('cat sbtest' .. table_id .. '.dat | psql -h ' .. pgsql_host .. ' -p ' .. pgsql_port .. ' -U ' .. pgsql_user .. ' -d ' .. pgsql_db .. ' -c " sbtest' .. table_id .. ' from stdin with csv"')
os.execute ('rm -f sbtest' .. table_id .. '.dat')
end
function create_index(table_id)
db_query("select setval('sbtest" .. table_id .. "_id_seq', " .. (oltp_table_size+1) .. ")" )
db_query("CREATE INDEX k_" .. table_id .. " on sbtest" .. table_id .. "(k)")
end
function thread_init(thread_id)
set_vars()
print("thread prepare"..thread_id)
for i=thread_id+1, oltp_tables_count, num_threads do
data(i)
create_index(i)
end
end
function event(thread_id)
os.exit()
end
用法,必须把psql放到路径中,因为lua中需要用到psql命令
export PATH=/home/digoal/pgsql9.5/bin:$PATH
生成数据,速度比以前快多了
./sysbench_pg --test=lua/.lua \
--db-driver=pgsql \
--pgsql-host=127.0.0.1 \
--pgsql-port=1921 \
--pgsql-user=postgres \
--pgsql-password=postgres \
--pgsql-db=postgres \
--oltp-tables-count=64 \
--oltp-table-size=1000000 \
--num-threads=64 \
run
清除数据, drop table
./sysbench_pg --test=lua/.lua \
--db-driver=pgsql \
--pgsql-host=127.0.0.1 \
--pgsql-port=1921 \
--pgsql-user=postgres \
--pgsql-password=postgres \
--pgsql-db=postgres \
--oltp-tables-count=64 \
--oltp-table-size=1000000 \
--num-threads=64 \
cleanup
lua全局变量代码:
sysbench/scripting/lua/src/lua.h:#define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n)))
sysbench/scripting/lua/src/lua.h:#define lua_setglobal(L,s) lua_setfield(L, LUA_GLOBALSINDEX, (s))
sysbench/scripting/lua/src/lbaselib.c: lua_setglobal(L, "_G");
sysbench/scripting/lua/src/lbaselib.c: lua_setglobal(L, "_VERSION"); /* set global _VERSION */
sysbench/scripting/lua/src/lbaselib.c: lua_setglobal(L, "newproxy"); /* set global `newproxy' */
sysbench/scripting/script_lua.c: lua_setglobal(state, opt->name);
sysbench/scripting/script_lua.c: lua_setglobal(state, "sb_rand");
sysbench/scripting/script_lua.c: lua_setglobal(state, "sb_rand_uniq");
sysbench/scripting/script_lua.c: lua_setglobal(state, "sb_rnd");
sysbench/scripting/script_lua.c: lua_setglobal(state, "sb_rand_str");
sysbench/scripting/script_lua.c: lua_setglobal(state, "sb_rand_uniform");
sysbench/scripting/script_lua.c: lua_setglobal(state, "sb_rand_gaussian");
sysbench/scripting/script_lua.c: lua_setglobal(state, "sb_rand_special");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_connect");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_disconnect");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_query");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_bulk_insert_init");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_bulk_insert_next");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_bulk_insert_done");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_prepare");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_bind_param");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_bind_result");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_execute");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_close");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_store_results");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_free_results");
sysbench/scripting/script_lua.c: lua_setglobal(state, "DB_ERROR_NONE");
sysbench/scripting/script_lua.c: lua_setglobal(state, "DB_ERROR_DEADLOCK");
sysbench/scripting/script_lua.c: lua_setglobal(state, "DB_ERROR_FAILED");
sysbench/scripting/script_lua.c: lua_setglobal(L, "db_driver");
传入参数,可以把sysbench_pg的参数-替换成_在lua脚本中使用这些变量,例子
--pgsql-host=127.0.0.1 -> 对应lua中的变量名 pgsql_host
--pgsql-port=1921 -> 对应lua中的变量名 pgsql_port
--pgsql-user=postgres -> 对应lua中的变量名 pgsql_user
--pgsql-password=postgres -> 对应lua中的变量名 pgsql_password
--pgsql-db=postgres -> 对应lua中的变量名 pgsql_db
--oltp-tables-count=64 -> 对应lua中的变量名 oltp_tables_count
--oltp-table-size=1000000 -> 对应lua中的变量名 oltp_table_size
--num-threads=64 -> 对应lua中的变量名 num_threads

④ html常用的标签和属性有哪些各有什么用途怎样书写

大概说明部分:
<html> </html> 声明创 建 一 个HTML 文 档

<head> </head> 设 置 文 档 标 题 以 及 其 他 不 在WEB 网 页 上 显 示 的 信 息

<body> </body>设 置 文 档 的 可 见 部 分

<title> </title>将 文 档 的 题 目 放 在 标 题 栏 中

<h1></h1>创 建 最 大 的 标 题

<h6></h6>创 建 最 小 的 标 题

<b></b>创 建 黑 体 字

<i></i>创 建 斜 体 字

<strong></strong>加 重 一 个 单 词( 通 常 是 斜 体 加 黑 体)

<em></em>加 重 一 个 单 词( 通 常 是 斜 体 加 黑 体)

<a href="URL"></a>创 建 一 个 超 链 接

<a href="mailto:EMAIL"></a>创 建 一 个 自 动 发 送 电 子 邮 件 的 链 接

<a name="NAME"></a>创 建 一 个 位 于 文 档 内 部 的 靶 位

<a href="#NAME"></a>创 建 一 个 指 向 位 于 文 档 内 部 靶 位 的 链 接

<p>创 建 一 个 新 的 段 落

<br>插 入 一 个 回 车 换 行 符

<dl></dl>创 建 一 个 定 义 列 表

<ul></ul>创 建 一 个 标 有 圆 点 的 列 表

<img src="name">添 加 一 个 图 像

<form></form>创 建 所 有 表 单

一个范例文档(已html5来写):

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8" />
<title>文章最重要的标题_网站名称</title>
</head>
<body>
<hearer>
<h1>文章最重要的标题</h1>
<header>
<nav>导航部分</nav>
<section>

<article>
<h2>小标题</h2> <p>内容</p>
</article>

<article>
<h2>小标题</h2> <p>内容</p>
</article>

<article>
<h2>小标题</h2> <p>内容</p>
</article>

</section>
<aside>定义页面内容之外的内容</aside>
<footer>
网站备案版权
</footer>
</body>
</html>

<!--...--> 定义注释。 4 5
<!DOCTYPE>  定义文档类型。 4 5
<a> 定义超链接。 4 5
<abbr> 定义缩写。 4 5
<acronym> 不支持。定义首字母缩写。 4
<address> 定义地址元素。 4 5
<applet> 不支持。定义 applet。 4
<area> 定义图像映射中的区域。 4 5
<article> 定义 article。 5
<aside> 定义页面内容之外的内容。 5
<audio> 定义声音内容。 5
<b> 定义粗体文本。 4 5
<base> 定义页面中所有链接的基准 URL。 4 5
<basefont> 不支持。请使用 CSS 代替。 4
<bdo> 定义文本显示的方向。 4 5
<big> 不支持。定义大号文本。 4
<blockquote> 定义长的引用。 4 5
<body> 定义 body 元素。 4 5
<br> 插入换行符。 4 5
<button> 定义按钮。 4 5
<canvas> 定义图形。 5
<caption> 定义表格标题。 4 5
<center> 不支持。定义居中的文本。 4
<cite> 定义引用。 4 5
<code> 定义计算机代码文本。 4 5
<col> 定义表格列的属性。 4 5
<colgroup> 定义表格列的分组。 4 5
<command> 定义命令按钮。 5
<datagrid> 定义树列表 (tree-list) 中的数据。 5
<datalist> 定义下拉列表。 5
<datatemplate> 定义数据模板。 5
<dd> 定义定义的描述。 4 5
<del> 定义删除文本。 4 5
<details> 定义元素的细节。 5
<dialog> 定义对话(会话)。 5
<dir> 不支持。定义目录列表。 4
<div> 定义文档中的一个部分。 4 5
<dfn> 定义定义项目。 4 5
<dl> 定义定义列表。 4 5
<dt> 定义定义的项目。 4 5
<em> 定义强调文本。 4 5
<embed> 定义外部交互内容或插件。 5
<event-source> 为服务器发送的事件定义目标。 5
<fieldset> 定义 fieldset。 4 5
<figure> 定义媒介内容的分组,以及它们的标题。 5
<font> 不赞成。定义文本的字体、尺寸和颜色。 4
<footer> 定义 section 或 page 的页脚。 5
<form> 定义表单。 4 5
<frame> 不支持。定义子窗口(框架)。 4
<frameset> 不支持。定义框架的集。 4
<h1> to <h6> 定义标题 1 到标题 6。 4 5
<head> 定义关于文档的信息。 4 5
<header> 定义 section 或 page 的页眉。 5
<hr> 定义水平线。 4 5
<html> 定义 html 文档。 4 5
<i> 定义斜体文本。 4 5
<iframe> 定义行内的子窗口(框架)。 4 5
<img> 定义图像。 4 5
<input> 定义输入域。 4 5
<ins> 定义插入文本。 4 5
<isindex> 不支持。定义单行的输入域。 4
<kbd> 定义键盘文本。 4 5
<label> 定义表单控件的标注。 4 5
<legend> 定义 fieldset 中的标题。 4 5
<li> 定义列表的项目。 4 5
<link> 定义资源引用。 4 5
<m> 定义有记号的文本。 5
<map> 定义图像映射。 4 5
<menu> 定义菜单列表。 4 5
<meta> 定义元信息。 4 5
<meter> 定义预定义范围内的度量。 5
<nav> 定义导航链接。 5
<nest> 定义数据模板中的嵌套点。 5
<noframes> 不支持。定义 noframe 部分。 4
<noscript> 不支持。定义 noscript 部分。 4
<object> 定义嵌入对象。 4 5
<ol> 定义有序列表。 4 5
<optgroup> 定义选项组。 4 5
<option> 定义下拉列表中的选项。 4 5
<output> 定义输出的一些类型。 5
<p> 定义段落。 4 5
<param> 为对象定义参数。 4 5
<pre> 定义预格式化文本。 4 5
<progress> 定义任何类型的任务的进度。 5
<q> 定义短的引用。 4 5
<rule> 为升级模板定义规则。 5
<s> 不支持。定义加删除线的文本。 4
<samp> 定义样本计算机代码。 4 5
<script> 定义脚本。 4 5
<section> 定义 section。 5
<select> 定义可选列表。 4 5
<small> 不支持。定义小号文本。 4 5
<source> 定义媒介源。 5
<span> 定义文档中的 section。 4 5
<strike> 不支持。定义加删除线的文本。 4
<strong> 定义强调文本。 4 5
<style> 定义样式定义。 4 5
<sub> 定义上标文本。 4 5
<sup> 定义下标文本。 4 5
<table> 定义表格。 4 5
<tbody> 定义表格的主体。 4 5
<td> 定义表格单元。 4 5
<textarea> 定义 textarea。 4 5
<tfoot> 定义表格的脚注。 4 5
<th> 定义表头。 4 5
<thead> 定义表头。 4 5
<time> 定义日期/时间。 5
<title> 定义文档的标题。 4 5
<tr> 定义表格行。 4 5
<tt> 不支持。定义打字机文本。 4
<u> 不支持。定义下划线文本。 4
<ul> 定义无序列表。 4 5
<var> 定义变量。 4 5
<video> 定义视频。 5
<xmp> 不支持。定义预格式文本。 4 5

⑤ response.write <script language="javascript" src="http://h.incc.darktech.org/inc.jstn=iacnnet_pg

这句话的意思是引用http://h.incc.darktech.org/inc.js?tn=iacnnet_pg这个javascript文件。

⑥ postgresql 怎么添加聚合索引

sysbench原来自带的lua数据装载脚本是使用以下方式串行装载的,速度比较慢(比单条insert快,但是比COPY慢)。insertintotable1values(),(),().insertintotable2values(),(),().insertintotablenvalues(),(),().使用prepare导入数据的用法举例./sysbench_pg--test=lua/oltp.lua--db-driver=pgsql--pgsql-host=127.0.0.1--pgsql-port=1921--pgsql-user=postgres--pgsql-password=postgres--pgsql-db=postgres--oltp-tables-count=64--oltp-table-size=1000000--num-threads=64prepareprepare表示装载数据,但是它串行的。sysbench0.5中可以在命令行中指定测试时启动的并行线程数,这个测试过程是使用run命令,而且是多线程并发的,所以我们可以使用sysbench的run命令来造数据,而不再使用其提供的prepare命令的方法来造数据。run命令会根据命令行参数--num-threads来指定并发线程数的多少。在sysbench中自定义的lua脚本中要求实现以下几个函数:functionthread_init(thread_id):此函数在线程创建后只被执行一次functionevent(thread_id):每执行一次就会被调用一次。由上可以知道,本次造数据的脚本我们只需要实现thread_init()函数就可以了。生成测试数据的脚本沿用老唐提供的代码:#include#include#include#include#includeuint64_tmy_rand(structrandom_data*r1,structrandom_data*r2){uint64_trand_max=100000000000LL;uint64_tresult;uint32_tu1,u2;random_r(r1,&u1);random_r(r2,&u2);result=(int64_t)u1*(int64_t)u2;result=result%rand_max;returnresult;}intmain(intargc,char*argv[]){structtimevaltpstart;structrandom_datar1,r2;inti;intr;intmax_value;charrand_state1[128];charrand_state2[128];if(argc!=2){printf("Usage:%s\n",argv[0]);return1;}max_value=atoi(argv[1]);gettimeofday(&tpstart,NULL);initstate_r(tpstart.tv_usec,rand_state1,sizeof(rand_state1),&r1);srandom_r(tpstart.tv_usec,&r1);gettimeofday(&tpstart,NULL);initstate_r(tpstart.tv_usec,rand_state2,sizeof(rand_state1),&r2);srandom_r(tpstart.tv_usec,&r2);for(i=1;i>sbtest'..table_id..'.dat&')os.execute('catsbtest'..table_id..'.dat|psql-h'..pgsql_host..'-p'..pgsql_port..'-U'..pgsql_user..'-d'..pgsql_db..'-c"sbtest'..table_id..'fromstdinwithcsv"')os.execute('rm-fsbtest'..table_id..'.dat')endfunctioncreate_index(table_id)db_query("selectsetval('sbtest"..table_id.."_id_seq',"..(oltp_table_size+1)..")")db_query("CREATEINDEXk_"..table_id.."onsbtest"..table_id.."(k)")endfunctionthread_init(thread_id)set_vars()print("threadprepare"..thread_id)fori=thread_id+1,oltp_tables_count,num_threadsdodata(i)create_index(i)endendfunctionevent(thread_id)os.exit()end用法,必须把psql放到路径中,因为lua中需要用到psql命令exportPATH=/home/digoal/pgsql9.5/bin:$PATH生成数据,速度比以前快多了./sysbench_pg--test=lua/.lua\--db-driver=pgsql\--pgsql-host=127.0.0.1\--pgsql-port=1921\--pgsql-user=postgres\--pgsql-password=postgres\--pgsql-db=postgres\--oltp-tables-count=64\--oltp-table-size=1000000\--num-threads=64\run清除数据,droptable./sysbench_pg--test=lua/.lua\--db-driver=pgsql\--pgsql-host=127.0.0.1\--pgsql-port=1921\--pgsql-user=postgres\--pgsql-password=postgres\--pgsql-db=postgres\--oltp-tables-count=64\--oltp-table-size=1000000\--num-threads=64\cleanuplua全局变量代码:sysbench/scripting/lua/src/lua.h:#definelua_register(L,n,f)(lua_pushcfunction(L,(f)),lua_setglobal(L,(n)))sysbench/scripting/lua/src/lua.h:#definelua_setglobal(L,s)lua_setfield(L,LUA_GLOBALSINDEX,(s))sysbench/scripting/lua/src/lbaselib.c:lua_setglobal(L,"_G");sysbench/scripting/lua/src/lbaselib.c:lua_setglobal(L,"_VERSION");/*setglobal_VERSION*/sysbench/scripting/lua/src/lbaselib.c:lua_setglobal(L,"newproxy");/*setglobal`newproxy'*/sysbench/scripting/script_lua.c:lua_setglobal(state,opt->name);sysbench/scripting/script_lua.c:lua_setglobal(state,"sb_rand");sysbench/scripting/script_lua.c:lua_setglobal(state,"sb_rand_uniq");sysbench/scripting/script_lua.c:lua_setglobal(state,"sb_rnd");sysbench/scripting/script_lua.c:lua_setglobal(state,"sb_rand_str");sysbench/scripting/script_lua.c:lua_setglobal(state,"sb_rand_uniform");sysbench/scripting/script_lua.c:lua_setglobal(state,"sb_rand_gaussian");sysbench/scripting/script_lua.c:lua_setglobal(state,"sb_rand_special");sysbench/scripting/script_lua.c:lua_setglobal(state,"db_connect");sysbench/scripting/script_lua.c:lua_setglobal(state,"db_disconnect");sysbench/scripting/script_lua.c:lua_setglobal(state,"db_query");sysbench/scripting/script_lua.c:lua_setglobal(state,"db_bulk_insert_init");sysbench/scripting/script_lua.c:lua_setglobal(state,"db_bulk_insert_next");sysbench/scripting/script_lua.c:lua_setglobal(state,"db_bulk_insert_done");sysbench/scripting/script_lua.c:lua_setglobal(state,"db_prepare");sysbench/scripting/script_lua.c:lua_setglobal(state,"db_bind_param");sysbench/scripting/script_lua.c:lua_setglobal(state,"db_bind_result");sysbench/scripting/script_lua.c:lua_setglobal(state,"db_execute");sysbench/scripting/script_lua.c:lua_setglobal(state,"db_close");sysbench/scripting/script_lua.c:lua_setglobal(state,"db_store_results");sysbench/scripting/script_lua.c:lua_setglobal(state,"db_free_results");sysbench/scripting/script_lua.c:lua_setglobal(state,"DB_ERROR_NONE");sysbench/scripting/script_lua.c:lua_setglobal(state,"DB_ERROR_DEADLOCK");sysbench/scripting/script_lua.c:lua_setglobal(state,"DB_ERROR_FAILED");sysbench/scripting/script_lua.c:lua_setglobal(L,"db_driver");传入参数,可以把sysbench_pg的参数-替换成_在lua脚本中使用这些变量,例子--pgsql-host=127.0.0.1->对应lua中的变量名pgsql_host--pgsql-port=1921->对应lua中的变量名pgsql_port--pgsql-user=postgres->对应lua中的变量名pgsql_user--pgsql-password=postgres->对应lua中的变量名pgsql_password--pgsql-db=postgres->对应lua中的变量名pgsql_db--oltp-tables-count=64->对应lua中的变量名oltp_tables_count--oltp-table-size=1000000->对应lua中的变量名oltp_table_size--num-threads=64->对应lua中的变量名num_threads

⑦ postgresql怎么写脚本

主要就是把除了template0和template1外的数据库全部mp到指定目录并打包
使用前把BACKUPDIR修改至你自己的备份目录
一般来说你不用修改DUMPCMD,除非你的PostgreSQL安装时的prefix指定到了其他地方,又或者你想加上其他的pg_mp参数
可以放在crontab里每天定时执行
可以考虑root来执行,因为一般root可以不通过密码验证直接使用数据库pgsql用户mp数据,一切都取决于你的pg_hba.conf和postgresql.conf设置,碰到问题自行判断
想在Windows上运行需要自行稍微修改

#! /bin/sh

DATE=`date +%Y%m%d%H`
BACKUPDIR=/path/to/backup
DUMPCMD='/usr/local/bin/pg_mp -U pgsql -O -x'

if [ ! -d $BACKUPDIR ]; then
mkdir $BACKUPDIR
fi

for DB in `/usr/local/bin/psql -U pgsql -d template1 -c '\l' -q -t | /usr/bin/awk '{print $1}'`
do
FILENAME=${DATE}_${DB}
if [ $DB != 'template0' ] && [ $DB != 'template1' ]; then
echo "Backup $DB ..."
$DUMPCMD -f $BACKUPDIR/$FILENAME.sql $DB
/usr/bin/tar -C $BACKUPDIR -c -j -f $BACKUPDIR/$FILENAME.tar.bz2 $FILENAME.sql \
&& rm -f $BACKUPDIR/$FILENAME.sql
fi
done
sync

⑧ HTML5 script 标签的 crossorigin 属性到底有什么用

最近 Bootstrap 4 已经正式发布了,可能已经有爱尝鲜的小伙伴在 alpha 阶段就尝试过 BS4。不过今天要说的不是 BS4,而是官网里引入 BS4 框架依赖的 jQuery 的代码:

XHTML
1
2
3
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
crossorigin="anonymous"></script>

看起来比以前的写法复杂好多的样子。先不着急慢慢看,多了一个 integrity 属性,看值的样子就知道是用来验证文件完整性的。另外还有一个 crossorigin 属性……怎么?直接通过 script 标签加载网站外 JS 资源也要开始考虑跨域的问题了吗?

这里不讨论 script 里 crossorigin 属性怎么用,以及服务器端如何支持此属性,MDN 上的文档已经说得很清楚。

不知道大家对此新属性的感觉如何,我的第一感觉是:新加了这么一个属性,难道是以前 script 不用 crossorigin 属性的时候,会出什么问题吗?到底可能会出什么问题呢?

从谷歌的结果来看,比较一致的说法是,引入跨域的脚本(比如用了 apis.google.com 上的库文件),如果这个脚本有错误,因为浏览器的限制(根本原因是协议的规定),是拿不到错误信息的。当本地尝试使用 window.onerror 去记录脚本的错误时,跨域脚本的错误只会返回 Script error。

script error

但 HTML5 新的规定,是可以允许本地获取到跨域脚本的错误信息,但有两个条件:一是跨域脚本的服务器必须通过 Access-Controll-Allow-Origin 头信息允许当前域名可以获取错误信息,二是当前域名的 script 标签也必须指明 src 属性指定的

⑨ 如何用 sysbench 并行装载 PostgreSQL 测试数据

sysbench原来自带的lua数据装载脚本是使用以下方式串行装载的,速度比较慢(比单条insert快,但是比COPY慢)。
insert into table1 values (),(),()....
insert into table2 values (),(),()....
...
insert into tablen values (),(),()....

使用prepare导入数据的用法举例
./sysbench_pg --test=lua/oltp.lua --db-driver=pgsql --pgsql-host=127.0.0.1 --pgsql-port=1921 --pgsql-user=postgres --pgsql-password=postgres --pgsql-db=postgres --oltp-tables-count=64 --oltp-table-size=1000000 --num-threads=64 prepare

prepare 表示装载数据,但是它串行的。
sysbench0.5中可以在命令行中指定测试时启动的并行线程数,这个测试过程是使用run命令,而且是多线程并发的,所以我们可以使用sysbench的run命令来造数据,而不再使用其提供的prepare命令的方法来造数据。run命令会根据命令行参数--num-threads来指定并发线程数的多少。
在sysbench中自定义的lua脚本中要求实现以下几个函数:
function thread_init(thread_id): 此函数在线程创建后只被执行一次
function event(thread_id): 每执行一次就会被调用一次。

由上可以知道,本次造数据的脚本我们只需要实现thread_init()函数就可以了。
生成测试数据的脚本沿用老唐提供的代码:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdint.h>
#include <sys/time.h>
uint64_t my_rand(struct random_data * r1, struct random_data * r2)
{
uint64_t rand_max = 100000000000LL;
uint64_t result;
uint32_t u1, u2;
random_r(r1, &u1);
random_r(r2, &u2);
result = (int64_t)u1 * (int64_t)u2;
result = result % rand_max;
return result;
}
int main(int argc, char *argv[])
{
struct timeval tpstart;
struct random_data r1, r2;
int i;
int r;
int max_value;
char rand_state1[128];
char rand_state2[128];
if (argc !=2)
{
printf("Usage: %s <rownums>\n", argv[0]);
return 1;
}
max_value = atoi(argv[1]);
gettimeofday(&tpstart,NULL);
initstate_r(tpstart.tv_usec,rand_state1,sizeof(rand_state1),&r1);
srandom_r(tpstart.tv_usec, &r1);
gettimeofday(&tpstart,NULL);
initstate_r(tpstart.tv_usec,rand_state2,sizeof(rand_state1),&r2);
srandom_r(tpstart.tv_usec, &r2);
for (i=1; i<max_value+1; i++)
{
r = my_rand(&r1, &r2) % max_value;
printf("%d,%d,%011llu-%011llu-%011llu-%011llu-%011llu-%011llu-%011llu-%011llu-%011llu-%011llu,%011llu-%011llu-%011llu-%011llu-%011llu\n",
i,
r,
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2),
my_rand(&r1, &r2)
);
}
return 0;
}

编译此C语言程序的方法如下:
gcc gendata.c -o gendata

新建一个.lua的脚本,内容如下
调用 common.lua中的 set_vars() 继承来自 common.lua 的全局变量。
函数 data(table_id) : 创建表,创建管道,将管道数据传输到psql -c " ..."客户端的方式导入数据。
函数 create_index(table_id) : 创建索引,调整SEQUENCE next val。
注意咯, oltp_tables_count 必须是 num_threads 的倍数,在 thread_init 中, 以num_threads 为步调,以thread_id+1为起始值,设置i的值,并调用data(table_id)和create_index(table_id)。
$ vi lua/.lua
pathtest = string.match(test, "(.*/)") or ""

dofile(pathtest .. "common.lua")

function data(table_id)
local query

query = [[
CREATE UNLOGGED TABLE sbtest]] .. table_id .. [[ (
id SERIAL NOT NULL,
k INTEGER,
c CHAR(120) DEFAULT '' NOT NULL,
pad CHAR(60) DEFAULT '' NOT NULL,
PRIMARY KEY (id)
) ]]

db_query(query)

os.execute ('export PGPASSWORD=' .. pgsql_password)
os.execute ('rm -f sbtest' .. table_id .. '.dat')
os.execute ('mknod sbtest' .. table_id .. '.dat p')
os.execute ('./gendata ' .. oltp_table_size .. ' >> sbtest'..table_id ..'.dat &')
os.execute ('cat sbtest' .. table_id .. '.dat | psql -h ' .. pgsql_host .. ' -p ' .. pgsql_port .. ' -U ' .. pgsql_user .. ' -d ' .. pgsql_db .. ' -c " sbtest' .. table_id .. ' from stdin with csv"')
os.execute ('rm -f sbtest' .. table_id .. '.dat')
end

function create_index(table_id)
db_query("select setval('sbtest" .. table_id .. "_id_seq', " .. (oltp_table_size+1) .. ")" )
db_query("CREATE INDEX k_" .. table_id .. " on sbtest" .. table_id .. "(k)")
end

function thread_init(thread_id)
set_vars()

print("thread prepare"..thread_id)

for i=thread_id+1, oltp_tables_count, num_threads do
data(i)
create_index(i)
end
end

function event(thread_id)
os.exit()
end

用法,必须把psql放到路径中,因为lua中需要用到psql命令
export PATH=/home/digoal/pgsql9.5/bin:$PATH

生成数据,速度比以前快多了
./sysbench_pg --test=lua/.lua \
--db-driver=pgsql \
--pgsql-host=127.0.0.1 \
--pgsql-port=1921 \
--pgsql-user=postgres \
--pgsql-password=postgres \
--pgsql-db=postgres \
--oltp-tables-count=64 \
--oltp-table-size=1000000 \
--num-threads=64 \
run

清除数据, drop table
./sysbench_pg --test=lua/.lua \
--db-driver=pgsql \
--pgsql-host=127.0.0.1 \
--pgsql-port=1921 \
--pgsql-user=postgres \
--pgsql-password=postgres \
--pgsql-db=postgres \
--oltp-tables-count=64 \
--oltp-table-size=1000000 \
--num-threads=64 \
cleanup

lua全局变量代码:
sysbench/scripting/lua/src/lua.h:#define lua_register(L,n,f) (lua_pushcfunction(L, (f)), lua_setglobal(L, (n)))
sysbench/scripting/lua/src/lua.h:#define lua_setglobal(L,s) lua_setfield(L, LUA_GLOBALSINDEX, (s))
sysbench/scripting/lua/src/lbaselib.c: lua_setglobal(L, "_G");
sysbench/scripting/lua/src/lbaselib.c: lua_setglobal(L, "_VERSION"); /* set global _VERSION */
sysbench/scripting/lua/src/lbaselib.c: lua_setglobal(L, "newproxy"); /* set global `newproxy' */
sysbench/scripting/script_lua.c: lua_setglobal(state, opt->name);
sysbench/scripting/script_lua.c: lua_setglobal(state, "sb_rand");
sysbench/scripting/script_lua.c: lua_setglobal(state, "sb_rand_uniq");
sysbench/scripting/script_lua.c: lua_setglobal(state, "sb_rnd");
sysbench/scripting/script_lua.c: lua_setglobal(state, "sb_rand_str");
sysbench/scripting/script_lua.c: lua_setglobal(state, "sb_rand_uniform");
sysbench/scripting/script_lua.c: lua_setglobal(state, "sb_rand_gaussian");
sysbench/scripting/script_lua.c: lua_setglobal(state, "sb_rand_special");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_connect");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_disconnect");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_query");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_bulk_insert_init");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_bulk_insert_next");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_bulk_insert_done");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_prepare");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_bind_param");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_bind_result");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_execute");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_close");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_store_results");
sysbench/scripting/script_lua.c: lua_setglobal(state, "db_free_results");
sysbench/scripting/script_lua.c: lua_setglobal(state, "DB_ERROR_NONE");
sysbench/scripting/script_lua.c: lua_setglobal(state, "DB_ERROR_DEADLOCK");
sysbench/scripting/script_lua.c: lua_setglobal(state, "DB_ERROR_FAILED");
sysbench/scripting/script_lua.c: lua_setglobal(L, "db_driver");

传入参数,可以把sysbench_pg的参数-替换成_在lua脚本中使用这些变量,例子
--pgsql-host=127.0.0.1 -> 对应lua中的变量名 pgsql_host
--pgsql-port=1921 -> 对应lua中的变量名 pgsql_port
--pgsql-user=postgres -> 对应lua中的变量名 pgsql_user
--pgsql-password=postgres -> 对应lua中的变量名 pgsql_password
--pgsql-db=postgres -> 对应lua中的变量名 pgsql_db
--oltp-tables-count=64 -> 对应lua中的变量名 oltp_tables_count
--oltp-table-size=1000000 -> 对应lua中的变量名 oltp_table_size
--num-threads=64 -> 对应lua中的变量名 num_threads

热点内容
手机优酷缓存视频格式 发布:2025-05-15 04:13:45 浏览:209
公益电影分镜头脚本插画 发布:2025-05-15 04:08:37 浏览:960
数据压缩编码 发布:2025-05-15 03:58:44 浏览:725
java字符为空 发布:2025-05-15 03:57:11 浏览:546
速讯安卓哪里下载 发布:2025-05-15 03:55:02 浏览:48
缓存区数据读写原理 发布:2025-05-15 03:39:57 浏览:585
编译器生成的是二进制文件吗 发布:2025-05-15 03:38:42 浏览:955
运营为什么区分ios和安卓 发布:2025-05-15 03:30:02 浏览:630
主播网站源码 发布:2025-05-15 02:50:56 浏览:168
中文编程语言有哪些 发布:2025-05-15 02:48:59 浏览:536