Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Slow bandwidth
Message
De
26/06/2007 11:16:22
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Titre:
Versions des environnements
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows 2000 Server
Database:
Visual FoxPro
Divers
Thread ID:
01235494
Message ID:
01235687
Vues:
10
If you return few records then, generally speaking, SEEK/SCAN is more economical.
As long as SQL-query is Rushmore optimized performance should be good too, but in case of joining large tables VFP will still move some extra index/data packets over the network.

>So generally it would be advisable to change queries into SEEK and SCAN in order to use less bandwidth?
>
>I am still not very sure why VFP would need so much bandwidth for a query if the returned number of data is not very huge.
>
>>You may get better network performance by using SEEK/SCAN to return 4 records.
>>
>>>One query is for example:
>>>
>>>SELECT	ti.tiKey, ;
>>>	ti.tiNumber, ;
>>>	ti.tiTickNr, ;
>>>	ti.tittKey, ;
>>>	ti.tiValue, ;
>>>	ti.tiBBOPerc, ;
>>>	ac.acDate, ;
>>>	ac.acTime, ;
>>>	ac.acCreateT, ;
>>>	ac.acMovieNam, ;
>>>	ac.acmoKey, ;
>>>	ac.acPrice, ;
>>>	ac.acTyKey, ;
>>>	ac.acRaKey, ;
>>>	ac.acThKey, ;
>>>	ac.actekey ;
>>>	FROM Tickets ti ;
>>>	LEFT OUTER JOIN ActShows ac ;
>>>		ON ti.tiackey = ac.acKey ;
>>>	WHERE ti.tiTrkey = tnBatchNr ;
>>>	INTO CURSOR cuPrint1 NOFILTER
>>>
>>>
>>>and that could return for example 4 records (if you bought four tickets)
>>>
>>>>Are you using SELECT statements for your queries?
>>>>
>>>>
>>>>
>>>>>In very simplified form:
>>>>>
>>>>>USE actshows
>>>>>=SEEK(lnCurrentShow,"ActShows","acKey")
>>>>>Select * from ActShows WHERE acDate = DATE() INTO CURSOR cuTodayShows
>>>>>
>>>>>etc.
>>>>>
>>>>>When updating records, I also do record locks where necessary.
>>>>>
>>>>>Usually updating like this:
>>>>>Insert into Tickets (tiKey, tinumber etc) VALUE (1,1, etc)
>>>>>FLUSH IN Tickets
>>>>>
>>>>>=RLOCK("ActShows")
>>>>>REPLACE acSold WITH acSold + 1 IN ActShows
>>>>>UNLOCK RECORD xx IN ActShows
>>>>>FLUSH IN ActShows
>>>>>
>>>>>There are lots of these relatively small things going on, but monitoring the network shows that the queries take most of the bandwidth, the updating much less.
>>>>>
>>>>>There are lots of smaller queries where I want to see the status of the shows, sold out shows etc, but the indexes are all there. Perhaps too many indexes?
>>>>>
>>>>>>What method are you employing to read/write to/from the vfp tables?
>>>>>>
>>>>>>
>>>>>>>Hello,
>>>>>>>
>>>>>>>We installed a ticket software on a remote location that has a 10 Mbps link to the main server. The software uses VFP tables and does some usual queries and record locks, but nothing to extravagant.
>>>>>>>
>>>>>>>However, we see that the network utilization often spikes up to 4 Mbps when doing a ticket sale for example.
>>>>>>>
>>>>>>>That causes the system to slow down dramatically when 2 or more computers are processing simultaneously.
>>>>>>>
>>>>>>>Before I am going to try to change the software to use less bandwidth, does a usage of 4Mbps sound particularly huge for VFP tables, or is this in the "normal" range of bandwidth usage? Because if I cannot hope to decrease the bandwidth to let's say only 1 Mbps maximum, I would have to consider rewriting the software to a client / server application.
>>>>>>>
>>>>>>>So I would like to know if somebody can give me some figures about what to expect. I am of course aware of the fact that it largely depends on the queries and size of data that gets transferred, but nevertheleless I do need a kind of a starting point to come to a final conclusion.
Edward Pikman
Independent Consultant
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform