[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