[windev] Evaluating service load.

Roberto Tirabassi rtirabassi at 3di.it
Thu Nov 13 17:55:20 GMT 2008


Hi All...
I have to face something new to me... and I was wandering if you can 
help me with some good idea.

First of all the problem:
I have a service that is offered by 'n' identical modules answering to 
'n' client request. Each module (an instance of my server) is connected 
to it's own client and works on his own. Of course, since they work on 
the same files, file locking and some semaphores grant activity 
synchronization.
Now I have another module, another instance of this service, that have 
some work to do, but this work must be done near-on-line in order to let 
the main modules answer their caller as fast as they can without waiting 
for that job to be completed. So, instead of doing it immediately, all 
the modules will put those jobs into a queue that the last instance of 
the module will execute when possible. Of course, since this job must 
use (and lock) the same files used by every other module, this must be 
done during low usage of the whole scenario.

And now my idea:
If I have to decide when to start my near-on-line job, I thing I have to 
watch at recent time, let's say the last 10 or 15 seconds of activity, 
in order to know if clients required an high or low number of commands 
to be done. Since I can't say how many modules will work together, it 
seems to me that using a synchronization method can cause a bottle-neck 
effect between the working modules, a bottle-neck that could have 
negative effects on performance. No matter if my last idea is good or 
not.... how should you face this problem? And what method should you use 
to decide which is the best "second", the best "instant" to start the 
waiting job?

Remember that the job can require a little time (say x/1000 of a second 
or y/100 or a second) as well as a long, long, long time (a couple of 
seconds or more...)

Any idea will be appreciated...
Thanks!

                           Roberto Tirabassi.
-- 
"L'accettazione della paura di perdere i propri sogni
 farà di un uomo ciò che egli è destinato ad essere."
Raksati (colui che protegge gli altri) 


3D Informatica, S.Lazzaro di Savena - Bologna, Italy
Voice +39 051 450844, Fax +39 051 451942
Skype: roberto.tirabassi

WWW: http://www.3di.it, Manuals & F.A.Q.: http://www.3di.it/manuali/
FTP: ftp://ftp@ftp.3di.it, Download:/3di, Upload:/incoming 
Bugs Report: https://www.3di.it/h3/rh3/a3di_attivita/fSegnalazione
-- 





More information about the Windev mailing list