Should I repeat experiment affected by external factors until achieving consistent result
No, you shouldn't do the experiment until you get the desired result.  This is poor science and borderline unethical.  (I'm sure you had no ill intent and that you are trying to deal with real-world complications.)

An experiment is flawed if it is run n times but only the results from n - 1 are used and reported. (Or anything less than n).  See Peter Norvig's page under the section "Warning Sign I2: Ignoring Publication Bias".

Beyond this, I believe that your experimental design is flawed.  You shouldn't run an experiment assuming an ideal environment when in fact the experimental environment is not ideal.  Only in theoretical models do you have the liberty to idealize your environment.  In laboratory experiments, you control the environment so you can idealize as much as possible. What you have is an experiment with confounding factors, which is not uncommon in real-world settings.

The best thing to do is to estimate the effects of the confounding factors through analysis of a theoretical model or a simulation.  In your case, which sounds like a queuing theory problem, a statistical simulation should be relatively easy.

With this estimate, you should be able to restate your hypotheses, essentially reducing the expected effects by the "loss" associated with "the shared pool not fully allocating resources when requested".