Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
What could be the reasons for such slowness?
Message
From
18/09/1997 09:29:37
 
 
To
18/09/1997 06:22:05
Ron Tse-Jung Huang
Leader Professional Consulting
Shin-Chu, Taiwan
General information
Forum:
Visual FoxPro
Category:
Client/server
Miscellaneous
Thread ID:
00050524
Message ID:
00050550
Views:
22
>Dear all,
>
>We have a system developed in VFP 3.0a. Weeks after weeks, there are
>problems reported from the users about the slowness of the system.
>
>The system works in a networked environment. The win95 client terminals, which are on the desks of each users, hold a copy of executible. While the database are held in a windows 95 platform.
>
>In fact, there is no any DBMS to manage the requests from each client and the data tables. Each client just connects to the server machine, and makes it as a network driver. When developing the system, we just added the data in the networked driver into project manager.
>
>Frequently, our customers report that the speed of the system have
>become very slow. We noticed that sometimes a transaction could took
>up to around 15 minutes. (But there was once, among the days of being
>very slow, a transaction turned out take around 20 seconds. Surprisingly!)However, it took around 20 seconds for a transaction if the executible and database are both placed on a local machine.
>
>For me, this seems that the network are the main reason for the slowness. On the contrary, copying a big file from the server to a client terminal is quite speedy. This seems conflict to my assumption.
>
>I am wondering what would be the reasons for the slowness of the system? Could anyone suggest me some? Also, how can we speed up the execution of the system?
>
>We have considered ways to speed up the execution. One way we could take is to put both executible and the database on the same server. This way, we would execute the program from terminals by a shortcut, which points to the program through neighborhood. However, speed was not improved.
>
>Again, I attach part of the program, and I wish someone could give me
>suggestions on the coding.
>
>Any suggestion would be greatly appreciated, and many thanks in advance!
>
>
>if messagebox("½T©w«ü¬£¦¹¶µ¤u§@¶Ü?",1,"¬£¤u½T©w")=1
> newabsanaid=get_new_abs_ana_id()
> newanaid=get_new_ana_id(ins_idron) && ¦¹¬q¤D¬°¦¹¦¸¬£¤u¨ú±o¬£¤u³æ¸¹
> wait windows newanaid nowait
> select count(*) INTO ARRAY ASSNM from spitem where ins_id=ins_idron and pre_stat='5' and ana_ass=1 && GROUP BY INS_ID &&­pºâ¥X¨ì©³¦³¦h¤Ö¼Ë«~³Q¬£¤u
> ASSNUM=ASSNM
> TABLE_OPENED=OPEN_ITEM_TABLES(ins_idron) && for exporting items
>
> IF TABLE_OPENED=.T.
> =CURSORSETPROP('BUFFERING',5,'PAGET')
> =CURSORSETPROP('BUFFERING',5,'ITEMT')
> =CURSORSETPROP('BUFFERING',5,'MAINT')
> =CURSORSETPROP('BUFFERING',5,'SPITEM')
> =CURSORSETPROP('BUFFERING',5,'ANAID_SA')
> =CURSORSETPROP('BUFFERING',5,'ANA_ASS')
> =CURSORSETPROP('BUFFERING',5,'PAPER')
>

Your code is really big, so just one thought. If you have table buffering (5), VFP will try to buffer whole tables, i.e. all table data should travel over the network and all table data should be compared during tableupdate(). It's a huge overhead if your tables are big enough. Normally, app should use Row buffering. If you have some batch process where you really need in table buffering, you could separate it into small exe and run it from server.
Edward Pikman
Independent Consultant
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform