80 likes | 307 Views
Sybase ASE: Load generator. Rev. 6.2012. Sybase Administration Tools available at: http://andrewmeph.wordpress.com mailto: andrew.me.ph@gmail.com. Note and disclaimer:. The tools posted on the blog will require the same setup: Sybase Client installed (for tools connecting to ASE server).
E N D
Sybase ASE: Load generator Rev. 6.2012 Sybase Administration Tools available at: http://andrewmeph.wordpress.com mailto: andrew.me.ph@gmail.com
Note and disclaimer: • The tools posted on the blog will require the same setup: • Sybase Client installed (for tools connecting to ASE server). • Administrative login user (for tools doing ASE administration). • A set of two or more .dll files supplied with the installation – performing licensing and environment operability checks. • All the tools have been tested to run bug-free. Nonetheless, the tools are provided “as is.” Responsibility for running a tool lies with the user. Comments and bug reports are welcome. They will be addressed and rectified. Please send the comments either directly by mail or through the blog. • As with any tool, it is recommended to start using it in the development environment before trying it on the Production Server.
ASE LOAD Generator: Quick info • The tool is a parent tool in a suite of two tools that are designed to record an actual ASE server load and replay it in testing environment. • The motivation for the tool is being able to test and record performance characteristics of new ASE versions – a daunting task that has very little supporting software around. • The tool relies on the presence of a set of supporting tables & stored procedures (provided) and the use of monitoring tables (either monSysStatements / SQLText or monProcessStatment / SQLText that have been used to record actual code execution in the real ASE environment. • The tool allows to filter SQL code execution patterns and feed them into a supporting “Executor” thread.
ASE LOAD Generator: Pre-req. The tool presupposes the following table to be present (in inspected database of a special database that you select to locate the table in). This is where the execution code samples are stored. Both the table full with data and the source database dump must be transferred to the testing environment in order to replay the load. create table ASE_LOAD_DATA ( PSS_DATE datetimenot null , SPID intnot null , BATCHID intnull , LINENUM intnull , SEQINLINE intnull , SQLTEXT varchar(255) null , THREAD_ACTIVE char(1) null ) The tool comes with two stored procedures, one to be compiled in the source database to collect the code sample and the other in the destination database to be able to parse existing stored procedures (RPCs) which have been recorded without actual parameters due to monitoring tables limitations.
ASE LOAD Generator : selection Although there seems to be a lot of options to select here, the things are simple: “From – Until” sets the date [PSS_DATE] limit during which the code has been recorded [it is possible to replay all, or filter by time, say peaks only]. Select/SP/Updates/&c sets the code type a thread must execute (may be all). RPC is unfortunately “invisible” to the monitoring tables (expected to be rectified in future ASE releases), so it will be executed with dummy parameters – thus RPC is separated from SP. “Filter Out” option allows to run only the selected code patterns or exclude it altogether. Tempdb tables section allows to create pre-required temp tables the code expects to be around to run. The other clickable options are what they tell they are. Reconnect is there for the code that crashes with stack traces, thus killing the connection of the executor. Delay allows not to rush trough the code, rowcount – to confine code that returns thousand rows, &c. Each option here has it corresponding option in the executor thread and will be described there.
ASE LOAD Generator : execution As soon as all the desired thread are set up (the options may be reset manually in the grid after they are set), all that is left is to “Add Thread” (as many as you wish) and “Start” either one by one, or all at once. I have been able to generate load with an earlier version of the tool of thousands of SPs per second and hundreds of TPSs that brought 16 CPU Solaris M5000 host up to 100% CPU load. You will probably need some VM client hosts with ASE client installed there to run the tool in order to generate serious load.
ASE LOAD Generator: feedbacks • The tool is being reworked from time to time to address changes in the ASE and align it better with ASE administrators needs. • In order to make the software better and more convenient your feedback is encouraged. • Feedback and bug reports may be made either directly to andrew.me.ph@gmail.com or posted as comments to the tool page published on the wordpress.com blog. • The blog is available at http://andrewmeph.wordpress.com. • More tools are available there, as well as general comments on Sybase ASE, RS (and in future IQ) products. • You are welcome to post your own ideas there which may be later transformed into customized tools and posted there for download.