[Zope] RE: Slow ODBC source

Capesius, Alan CapesiusA@Sysmex.com
Wed, 26 Jul 2000 13:31:14 -0500


This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.

------_=_NextPart_001_01BFF72F.ADDEDA10
Content-Type: text/plain;
	charset="iso-8859-1"

I'm using an Access DB on NT Server without any trouble. It is very fast.
How large is the data you are retrieving? (bytes per record I mean)
My apps are typically running on a MDB with 10,000 records

I've noticed some issues that relate to Access queries. Here they are in the
order I'd check them:

1) If Zope is running in a DOS window (haven't used it on 98) you might be
running into a background processing problem. Use a PIF file to start it and
make sure that Background processing is allowed. There is a checkbox to
suspend in background I believe. What happens is that the app gets shut off
when if doesn't have the focus and runs extremely slow if at all. Also your
performance settings in the system tuning are may be set to provide
foreground apps higher priority. 

2) The DB should be on the same machine as Zope

3) The way in which queries are built can cause some problems. You may want
to create a query that presort & preselects the results you want to obtain
and then use that query as your data source in the Zope SQL Method. That way
the results are pre-indexed and return quicker. This provided me a 97%
performance improvement. (3 minutes down to 5 seconds) For Example:
table->join query sorted by name->ZSQLMethod instead of table->ZSQLMethod
(join sort)

4) You may want to run the Access database analysis tool and see if it
recommends indexing.

5) You can adjust the number of records returned to improve performance in
some cases.
Sorry I'm an NT guy, and I agree 98 is for home user desktops not servers,
NT workstation should be the bare minumim at the desktop IMHO. I don't want
to get into the third grade OS wars either. It certainly isn't worth it to
me to go thru the learning curve to switch to unix. The migration to NTW is
much more tranparent.


Alan Capesius, MCSE
Technical Support Engineer
Sysmex Corporation of America
capesiusa@sysmex.com


------_=_NextPart_001_01BFF72F.ADDEDA10
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
5.5.2650.12">
<TITLE>RE: Slow ODBC source</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=3D2 FACE=3D"Arial">I'm using an Access DB on NT Server =
without any trouble. It is very fast.</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">How large is the data you are =
retrieving? (bytes per record I mean)</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">My apps are typically running on a =
MDB with 10,000 records</FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">I've noticed some issues that relate =
to Access queries. Here they are in the order I'd check them:</FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">1) If Zope is running in a DOS window =
(haven't used it on 98) you might be running into a background =
processing problem. Use a PIF file to start it and make sure that =
Background processing is allowed. There is a checkbox to suspend in =
background I believe. What happens is that the app gets shut off when =
if doesn't have the focus and runs extremely slow if at all. Also your =
performance settings in the system tuning are may be set to provide =
foreground apps higher priority. </FONT></P>

<P><FONT SIZE=3D2 FACE=3D"Arial">2) The DB should be on the same =
machine as Zope</FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">3) The way in which queries are built =
can cause some problems. You may want to create a query that presort =
&amp; preselects the results you want to obtain and then use that query =
as your data source in the Zope SQL Method. That way the results are =
pre-indexed and return quicker. This provided me a 97% performance =
improvement. (3 minutes down to 5 seconds) For Example: table-&gt;join =
query sorted by name-&gt;ZSQLMethod instead of table-&gt;ZSQLMethod =
(join sort)</FONT></P>

<P><FONT SIZE=3D2 FACE=3D"Arial">4) You may want to run the Access =
database analysis tool and see if it recommends indexing.</FONT>
</P>

<P><FONT SIZE=3D2 FACE=3D"Arial">5) You can adjust the number of =
records returned to improve performance in some cases.</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">Sorry I'm an NT guy, and I agree 98 =
is for home user desktops not servers, NT workstation should be the =
bare minumim at the desktop IMHO. I don't want to get into the third =
grade OS wars either. It certainly isn't worth it to me to go thru the =
learning curve to switch to unix. The migration to NTW is much more =
tranparent.</FONT></P>
<BR>

<P><FONT SIZE=3D2 FACE=3D"Arial">Alan Capesius, MCSE</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">Technical Support Engineer</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">Sysmex Corporation of America</FONT>
<BR><FONT SIZE=3D2 FACE=3D"Arial">capesiusa@sysmex.com</FONT>
</P>

</BODY>
</HTML>
------_=_NextPart_001_01BFF72F.ADDEDA10--