存档

Archive by ,文章数:326

学习使用Jmeter对数据库进行压力测试。JMeter中称之为测试计划

JMeter的一个测试计划,包括:线程组、数据库连接、前置处理器、Sampler、后置处理器、监控结果等。

1.添加线程组:在测试计划上点右键,选择:添加》Threads(Users)》线程组;

2.添加JDBC Connection Configuration: 在线程组上点右键,选择:添加》配置元件》JDBC Connection Configuration;

3.添加前置处理器:在线程组上点右键,选择:添加》前置处理器》JDBC PreProcessor;

4.添加Sampler:在线程组上点右键,选择:添加》Sampler》JDBC Request;

5.添加后置处理器:在线程组上点右键,选择:添加》后置处理器》JDBC PostProcessor;

6.添加监控结果:在线程组上点右键,选择:添加》监听器, 可以使用 Summary Report、图形结果、用表格查看结果、监视器结果等等。

7.添加Random Variable:添加》配置元件》Random Variable;

可以设置上下级关系。

第三方工具连接ASE时,主要使用的接口方法包括:open-client 、ADO.NET和 jdbc。

第三方工具主要包括:
使用open-client接口的工具有:PowerBuilder、DBArtisan、Werysoft QweryBuilder等;WinSQL有自己的数据链接库,类似open-client方式;
使用jdbc接口的工具有:Aqua Data Studio、DbVisualizer、RazorSQL、DBeaver、DBArtisan 等;
使用ADO.NET接口的工具有:Toad for Sybase等;

解决方法:

使用open-client接口时,不需要将disable character set convers设置为1,仅需要在客户端工具中将显示字符集调整为服务器端字符集,可能有时候也需要调整一下显示的字体。
使用jdbc接口时,需要将disable character set convers设置为1,并在jdbc的连接串中将charset设置为cp936。

对于服务器端字符集为:iso_1且参数disable character set convers为默认值0的环境,可在jdbc连接串中添加:?SQLInitString=set char_convert off&charset=cp936

因此:

如果disable character set convers设置为1,两种类型的工具都可以使用。
如果disable character set convers为默认值0,那么建议使用open-client接口的工具。

以上情况适用于服务器端为iso_1,cp936等字符集的情况。

ASE中对 text、image 和 unitext 列的限制
不能在以下情况中使用 text、image 或 unitext 列:

  1.   用作存储过程的参数或传递给这些参数的值
  2.   作为局部变量
  3.   在 order by clause、compute clause、group by 和 union 子句中
  4.   用于索引
  5.   用于子查询或连接
  6.   在 where 子句中,除非带有关键字 like
  7.   同 + 并置运算符一起使用

建立测试数据:
create table test_lob(id int not null,notes text null)
go
insert into test_lob values(1,replicate('x',1024))
go
insert into test_lob values(2,replicate('y',16384))
go
如果想造text类型字段的数据的话,因为ASE中字符串函数、变量等受限于16384,可以先bcp导出,编辑后再导入。

查看text类型字段的长度,使用函数: datalength 。
select id,datalength(notes) from test_lob
go

Job Scheduler 提供了定义和调度数据库管理和维护任务的能力,从而简化了 ASE 的管理。有了 Job Scheduler,就可以将通常需要数据库管理员干预的作业安排为在合适的时间以无人值守的方式运行,从而让数据库管理员腾出手来关注其它问题。

    先介绍四个属于:作业、日程表、作业历史、预定作业、Job Scheduler任务、Job Scheduler代理、目标服务器、模板。

作业:在一次数据库操作中,例如备份、更新统计信息和转储数据库,对数据库执行的一个或多个系列操作。

日程表:定义了执行作业的时间以及如何重复执行作业。

作业历史:曾经执行过的预定作业。

预定作业:是指已绑定到某个日程表的作业。只有经过调度的作业才会执行。

Job Scheduler 任务(JS 任务):是功能性组件,负责管理日程表和及时通知 Job Scheduler 代理执行某个特定作业。

Job Scheduler 代理(JS 代理):是功能性组件,负责在接到 JS 任务通知时执行某个作业。

重复执行的日程表:是将要多次执行的日程表。所有重复执行的日程表都必须有开始和结束时间。

目标服务器:是预定要在其上运行业务的 Adaptive Server。

模板:是一组带有参数的 Transact-SQL (T-SQL) 语句,可用于在 Job Scheduler 中创建作业。

当您手边没有Sybase ASE服务器或者客户端环境时,当您想查看一些命令或参数而又不方便接触ASE服务器时,您可以考虑使用这台互联网上的ASE测试服务器。

本博客为Sybase初学者或者DBA完全免费提供此ASE15.0.3测试服务器。ASE所在的服务器为本博主自费购买的美国VPS虚拟机。

目前,ASE测试服务器仅支持php页面访问。使用ASE客户端直连服务器的方式后续可能会开通。

试用方法:

直接访问该页面:

Sybase ASE v15.0.3测试服务器

Sybase ASE v15.7测试服务器

试用说明:

1.本测试服务器版本为:ASE 15.0.3 ESD#4.1 / ASE 15.7 SP101,部署在Centos 5.6 64bit上;
2.本测试服务器使用免费版本:Express Edition,最多支持1 CPU,2G 内存,5G 数据库空间;
3.使用登录tpchuser连接服务器,登录tpchuser为数据库megaphone的属主,登录tpchuser不拥有sa_role角色;
4.数据库megaphone中有几张表:service、month、residential_customer(10万行)、telco_facts(120万行);
5.SQL语句执行结果有两种显示方法:表格和文本形式,表格形式使用PHP的sybase_query等函数,文本形式使用isql调用SQL文件;
6.PHP中函数sybase_query只能返回一个结果集,对于返回多个结果集的存储过程或者SQL语句块 请使用文本形式查看执行结果;
7.对于不熟悉的命令,可以使用语法数据库sybsyntax,比如:sp_syntax 'update statistics'会显示更新统计信息的相关语法;
 8.请不要执行具有破坏性的语句或命令,一些示例SQL语句请参考:queries.sql
9.有问题或者建议请发邮件:dbainfo(c)126.com

本博客提供免安装(绿色版)的ASE客户端工具Sybase Centralv4.3

 据彭博社报道,SAP在全面整顿移动应用软件开发商Sybase的企业管理层后,一位Sybase顶级高管辞职。SAP于2010年以58亿美元收购了Sybase,这也是该德国软件公司历史上最大一笔收购。

  Sybase首席执行官程守宗(John Chen)将于明天离职,他在总部位于加利福尼亚都柏林的Sybase工作了15年。这位57岁的香港人曾帮助SAP将客户群从后台办公室扩展至使用 iPad的销售人群。程守宗与SAP联席CEO比尔·迈克德莫特(Bill McDermott)昨天一起接受采访时称:“对我来说是时候放弃权力了,我总在想这就像嫁女儿一样。”

  救火专家

  程守宗是在1998年执掌Sybase,当时该公司连续四年出现净损失,他将公司的关注重点从数据库转移到移动技术。当SAP收购 时,Sybase已经连续七年保持盈利。今天在发给公司员工的邮件中,程守宗重提了Gartner的报告,当他加入Sybase时,Gartner预计该 公司有70%的可能破产。但在他的领导下,Sybase的市值从3.62亿美元上升到SAP收购时估计的58亿美元。

  SAP计划,在程守宗离职后,将网络移动应用程序业务范围扩展至中国和巴西等国家的小企业,还将Hana数据库软件与更多移动程序捆绑,让客户 能在办公室以外即时进行数据分析。当日收盘时,SAP股票在法兰克福上涨1.4%至56.27欧元/股,今年该股上涨了39%,公司市值达到690亿欧 元。

  程守宗曾在美国前总统小布什的出口委员会任职,也是富国银行和迪士尼的董事。他没有透露离职协议的细节。2009年在Sybase被收购前,他的薪酬总额为930万美元。他表示还未决定下一步打算,可能会创办新公司或经营一家大公司。

来源:http://it.msn.com.cn/853865/583331610375b.shtml

统计Sybase ASE数据库的数据段和日志段的剩余空间以及剩余率。以下SQL在ASE12.5.1及以上版本通过测试。

 

select convert(char(16),db_name(data_segment.dbid)) DBName
,str(round(total_data_pages / ((1024.0 * 1024) / @@maxpagesize),2),10,2) "Total Data(MB)"
,str(round(free_data_pages / ((1024.0 * 1024) / @@maxpagesize),2),10,2) "Free Data(MB)"
,str(round(total_log_pages / ((1024.0 * 1024) / @@maxpagesize),2),10,2) "Total Log(MB)"
,str(round(free_log_pages / ((1024.0 * 1024) / @@maxpagesize),2),10,2) "Free Log(MB)"
,str( round(100.0 * free_data_pages / total_data_pages ,2),10,2) "Free_Data%"
,str( round(100.0 * free_log_pages / total_log_pages,2),10,2) "Free_Log%"
from
(select dbid,sum(size) total_log_pages,lct_admin("logsegment_freepages", dbid ) free_log_pages
  from master.dbo.sysusages
    where segmap & 4 = 4
    group by dbid
) log_segment
,
(select dbid,sum(size) total_data_pages ,sum(curunreservedpgs(dbid, lstart, unreservedpgs)) free_data_pages
  from master.dbo.sysusages
    where segmap <> 4
    group by dbid
) data_segment
where data_segment.dbid = log_segment.dbid
  --and data_segment.dbid > 3 and data_segment.dbid < 31513
order by data_segment.dbid
go

 

目标数据库:andkylee,大小:3300M,其中数据段2700M,日志段600M。为其配置dbcc检查使用 dbcc checkstorage 的准备工作

1.根据用户数据库andkylee的情况获取dbccdb的空间大小、工作空间大小、高速缓存大小、工作进程数的建议值

 

sp_plan_dbccdb "andkylee"
go

显示结果如下:

Recommended size for dbccdb database is 94MB (data = 92MB, log = 2MB).
No suitable devices for dbccdb in master..sysdevices.
Recommended values for workspace size, cache size and process count are:
dbname                         scan ws  text ws  cache  comp mem  process count
andkylee                       40576K   10176K   10151K 0K        3
(return status = 0)
由上,建议dbccdb的空间大小至少94M(其中数据段至少92M,日志段至少2M),scan工作空间至少40576K,text工作空间至少10176K,命名高速缓存至少10151K,工作进程数至少3个。