265 lines
10 KiB
HTML
265 lines
10 KiB
HTML
<!--startcut ======================================================= -->
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<html>
|
|
<head>
|
|
<META NAME="generator" CONTENT="lgazmail v1.1pre8">
|
|
<TITLE>The Answer Guy 30: Clipper/xBase Capacity Problems
|
|
--- DOSemu as a Solution?</TITLE>
|
|
</head>
|
|
|
|
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#A000A0"
|
|
ALINK="#FF0000">
|
|
<!--endcut ========================================================= -->
|
|
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"
|
|
</H4>
|
|
<P> <hr> <P>
|
|
|
|
<!-- =============================================================== -->
|
|
<H1 align="center"><A NAME="answer">
|
|
<img src="../gx/dennis/qbubble.gif" alt="" border="0" align="middle">
|
|
<a href="./index.html">The Answer Guy</a>
|
|
<img src="../gx/dennis/bbubble.gif" alt="" border="0" align="middle">
|
|
</A></H1> <BR>
|
|
<H4 align="center">By James T. Dennis,
|
|
<a href="mailto:linux-questions-only@ssc.com">linux-questions-only@ssc.com</a><BR>
|
|
Starshine Technical Services,
|
|
<A HREF="http://www.starshine.org/">http://www.starshine.org/</A> </H4>
|
|
<p><hr><p>
|
|
<H3><img src="../gx/dennis/qbub.gif" alt="(?)" width="50" height="28"
|
|
align="left" border="0">Clipper/xBase Capacity Problems
|
|
--- DOSemu as a Solution?</H3>
|
|
<H4 ALIGN="center">"I don't think so."</H4>
|
|
|
|
<p><strong>From Steven Jackson on 25 Jun 1998
|
|
|
|
<!-- begin body -->
|
|
|
|
<BR><BR>
|
|
Hi AnswerGuy,
|
|
|
|
<br><br>
|
|
I was reading an article on the web about diskless
|
|
workstations and redhat when I recognised your name, (I think you
|
|
helped me out with redhat a long time ago, thanks).
|
|
</p></strong>
|
|
|
|
<blockquote><img src="../gx/dennis/bbub.gif" height="28" width="50"
|
|
alt="(!)" border="0"
|
|
>You're welcome.
|
|
</blockquote>
|
|
|
|
<p><strong><img src="../gx/dennis/qbub.gif" height="28" width="50"
|
|
alt="(?)" border="0"
|
|
> I look after a small network of 4 pcs at a doctors surgery which
|
|
runs an accounting package and an appointments diary compiled under
|
|
Clipper. System Manager is run on the host pc which does all of the
|
|
local processing of these applications and the clients run as
|
|
virtual terminals.
|
|
</p></strong>
|
|
|
|
<blockquote><img src="../gx/dennis/bbub.gif" height="28" width="50"
|
|
alt="(!)" border="0"
|
|
> I don't know what you mean by "system manager" ---
|
|
from what I remember/know of dBase and Clipper these
|
|
were designed as single-user database systems. The
|
|
multi-user deployment of xBase applications normally
|
|
relies on "record locking" (similar to file locking
|
|
but allowing one to request exclusive access to a
|
|
<EM>portion</EM> of a file).
|
|
|
|
<br><br>
|
|
In this model the <TT>.DBF</TT> files are normally stored on a
|
|
network filesystem (Netware, LANtastic, and later
|
|
WfW among others). I don't know if Samba or the
|
|
Mars-NWE (Netware emulator) supports these forms of
|
|
record locking.
|
|
|
|
<br><br>
|
|
It is unclear from your description how your are
|
|
running this. You mention 4-PC's and Clipper (a
|
|
DOS based compiler/developement package for dBase
|
|
programming), which leads me to think of networked
|
|
DOS systems --- then you mention "virtual terminal"
|
|
which suggests that you're using a multi-user OS
|
|
(like Linux).
|
|
|
|
<br><br>
|
|
Are you running DR or CCI's "Concurrent DOS" (or
|
|
their later "M-DOS" or "Multi-user DOS") or something
|
|
like TSL's "PC-MOS" (another multi-user MS-DOS clone)?
|
|
Is "System Manager" yet another multi-user DOS?
|
|
</blockquote>
|
|
|
|
<p><strong><img src="../gx/dennis/qbub.gif" height="28" width="50"
|
|
alt="(?)" border="0"
|
|
>Over the past year or so the system has run slower gradually to the
|
|
point where it is getting annoying. I'd like to try running linux
|
|
on the fileserver and somehow run the dos based clipper programs
|
|
under dosemu. I think it would be wise to keep all the <TT>*.dbf</TT> files
|
|
on the server rather than sending them over the network. I got the idea
|
|
from the recent Linux Journal article about the Latvian Police dept.
|
|
</p></strong>
|
|
|
|
<blockquote><img src="../gx/dennis/bbub.gif" height="28" width="50"
|
|
alt="(!)" border="0"
|
|
><dl><dt>The first question is:
|
|
<dd>Why is the performance degenerating?
|
|
<br> <br>
|
|
<dt>The obvious suggestions are:
|
|
|
|
<dd>Have you been regularly "pack"-ing your
|
|
databases (purging deleted records and transactions)?
|
|
|
|
<br><br>Have you been maintaining your indices?
|
|
(Indexing is usually a vital key to db performance).
|
|
|
|
<br><br>Have you been defragmenting your filesystems
|
|
regularly?
|
|
|
|
<br><br>Has your system utilization increased in some marked
|
|
way (you've added *lots* more customers, etc)?
|
|
|
|
<br><br>Does your current design have any features or support
|
|
for migrating old and inactive records to "archival"
|
|
or "historical" databases (tables) so that the "active"
|
|
db routines are maintained at feasible sizes?
|
|
|
|
<br><br>Are there other activities on your LAN that might
|
|
be causing network congestion?
|
|
</dl>
|
|
|
|
Regarding the notion of running the existing program
|
|
under DOSemu . . .
|
|
|
|
<br><br>
|
|
I don't know if that will do any good at all. Since we
|
|
don't know what is causing the problem, it seems premature
|
|
to recommend solutions. My first thought is that moving
|
|
the processing from four systems onto a single one (even a
|
|
single system under a superior OS) is unlikely to improve
|
|
overall performance.
|
|
</blockquote>
|
|
|
|
<p><strong><img src="../gx/dennis/qbub.gif" height="28" width="50"
|
|
alt="(?)" border="0"
|
|
>Do you have any ideas about how I could embark upon this?
|
|
<BR><BR>
|
|
Thanks,
|
|
<br>Steve Jackson
|
|
</p></strong>
|
|
|
|
<blockquote><img src="../gx/dennis/bbub.gif" height="28" width="50"
|
|
alt="(!)" border="0"
|
|
>I have many ideas. The first, and most obvious, would be
|
|
to port the application to a client/server database design
|
|
--- one that's designed to be multi-user and scalable at the
|
|
outset. Another, less radical approach would be to take the
|
|
existing Clipper sources and port them to
|
|
<A HREF="http://www.wgs.com/fsad.html">Flagship</a> (an
|
|
xBase to C development package from WorkGroup Solutions).
|
|
|
|
<br><br>
|
|
... their web pages suggest that they will soon be shipping
|
|
betas of a "visual" frontend for xBase programming. That
|
|
should be interesting for all those "VB" and "VC++" developers
|
|
that are still clinging desperately to Microsoft's platform.
|
|
|
|
<br><br>
|
|
Or you might try X2C from:
|
|
|
|
|
|
<blockquote><code><A HREF="http://www.on-the-net.com/x2c/"
|
|
>http://www.on-the-net.com/x2c/</A>
|
|
</code></blockquote>
|
|
|
|
|
|
The questions I asked above may give you some ideas for
|
|
some "stopgap" measures (re-index, defrag, migrate inactive
|
|
records, etc). In the long run you'll want to do some
|
|
analysis to see if the current system can continue to meet
|
|
your needs.
|
|
|
|
<br><br>
|
|
If you do decide to go with a client server model you
|
|
have many choices that run under Linux. There are the free
|
|
and shareware packages like mSQL, Beagle and MySQL and
|
|
there are a number of commercial packages like InfoFlex
|
|
Adabas, and the JustLogic SQL. Rather than give URL's
|
|
to all of these I'll just point you at the definitive
|
|
guide to RDBMS packages for Linux --- maintained by
|
|
Christopher B. Browne at:
|
|
|
|
<blockquote><code> <A HREF="http://www.hex.net/~cbbrowne/"
|
|
>http://www.hex.net/~cbbrowne/</A>
|
|
<br><A HREF="http://www.ntlug.org/~cbbrowne/rdbms.html"
|
|
>http://www.ntlug.org/~cbbrowne/rdbms.html</A>
|
|
</code></blockquote>
|
|
|
|
... and another excellent list of Linux business applications
|
|
maintained by Linas Vepstas (<EM>NOT</EM> to be confused with
|
|
Linus the kernel guy) at:
|
|
|
|
|
|
<blockquote><code> <A HREF="http://www.linas.org/">http://www.linas.org</A>
|
|
<br><A HREF="http://www.linas.org/linux/db.html"
|
|
>http://www.linas.org/linux/db.html</A>
|
|
</code></blockquote>
|
|
|
|
I should mention that you aren't limited to just xBase or
|
|
SQL --- there are a number of alternative DBMS system that
|
|
are available to Linux and other Unix users and programmers
|
|
--- including a number of object-oriented and hybrid
|
|
systems. Allegedly there's even Linux support for the venerable
|
|
<A HREF="http://www.picksys.com/">Pick system</A>.
|
|
</blockquote>
|
|
<!-- end body -->
|
|
<!--================================================================-->
|
|
<P> <hr> <P>
|
|
<H5 align="center"><a href="http://www.linuxgazette.com/copying.html"
|
|
>Copyright ©</a> 1998, James T. Dennis <BR>
|
|
Published in <I>Linux Gazette</I> Issue 30 July 1998</H5>
|
|
<P> <hr> <P>
|
|
<!--================================================================-->
|
|
<table width="98%"><tr valign="center" align="center">
|
|
<td rowspan="3"><A HREF="./lg_answer30.html"><IMG
|
|
SRC="../gx/dennis/answernew.gif"
|
|
ALT="[ Answer Guy Index ]"></A></td>
|
|
<td><A HREF="tag_SCOkeys.html">SCOkeys</A></td>
|
|
<td><A HREF="tag_chroot.html">chroot</A></td>
|
|
<td><A HREF="tag_dosemu-db.html">dosemu-db</A></td>
|
|
<td><A HREF="tag_NTauth.html">NTauth</A></td>
|
|
<td><A HREF="tag_cdr.html">cdr</A></td>
|
|
<td><A HREF="tag_3270.html">3270</A></td>
|
|
<td><A HREF="linux-questions-only@ssc.comport.html">comport</A></td>
|
|
</tr><tr valign="center" align="center">
|
|
<td><A HREF="tag_lilostop.html">lilostop</A></td>
|
|
<td><A HREF="tag_emulate.html">emulate</A></td>
|
|
<td><A HREF="tag_ppadrivers.html">ppadrivers</A></td>
|
|
<td><A HREF="tag_database.html">database</A></td>
|
|
<td><A HREF="tag_vacation.html">vacation</A></td>
|
|
<td><A HREF="tag_nullmodem.html">nullmodem</A></td>
|
|
<td><A HREF="tag_lockups.html">lockups</A></td>
|
|
</tr><tr valign="center" align="center">
|
|
<td><A HREF="tag_gzipC.html">gzipC</A></td>
|
|
<td><A HREF="tag_newlook.html">newlook</A></td>
|
|
<td><A HREF="tag_c500.html">c500</A></td>
|
|
<td><A HREF="tag_solprint.html">solprint</A></td>
|
|
<td><A HREF="tag_vc1shell.html">vc1shell</A></td>
|
|
<td><A HREF="tag_memleak.html">memleak</A></td>
|
|
<td><A HREF="tag_tvcard.html">tvcard</A></td>
|
|
</tr></table>
|
|
<P> <hr> <P>
|
|
<!--================================================================-->
|
|
<A HREF="./index.html"><IMG SRC="../gx/indexnew.gif"
|
|
ALT="[ Table Of Contents ]"></A>
|
|
<A HREF="../index.html"><IMG SRC="../gx/homenew.gif"
|
|
ALT="[ Front Page ]"></A>
|
|
<A HREF="lg_bytes30.html"><IMG SRC="../gx/back2.gif"
|
|
ALT="[ Previous Section ]"></A>
|
|
<A HREF="./vrenios.html"><IMG SRC="../gx/fwd.gif"
|
|
ALT="[ Next Section ]"></A>
|
|
<!--startcut ======================================================= -->
|
|
</body>
|
|
</html>
|
|
<!--endcut ========================================================= -->
|