TWebFile performance

I have a problem in my setup with respect to new root version.

I have a cluster with a storage: root files on the storage are exported via http (apache2) and accessed read only by the clients (on the computing nodes) via TWebFile (tipical file ~2GB with branched trees).
I was used to run root 5.16 and everything was working fine with a reasonable bandwidth (50MB/s aggregate in reading).
Then I upgraded root to version 5.20 (or 5.22) and I started suffering severe performance losses; the aggregate bandwidth is now 8MB/s and moreover even local writes to te storage are going much slower (30MB/s become 0.5MB/s).

It is not clear to me the reason for such performance loss, I can only think that it is due to a different buffering and/or different access to the http server.
Do you have any idea?
Moving to rootd (xrootd) is currently not foreseen at the moment.

Thanks in advance

I do not see any changes in TWebFile that could explain that dramatic performance loss. It could be that somehow in your case the TreeCache has been disabled and it is fundamental for files on http.
Did you try a simple tree.Draw(“myvar”) to check the performance?
Could you tell me a file address that I can try to see what happens?


Dear Rene
thanks for your reply.

I checked the code of TWebFile too, and it did not change in a significant way indeed.
The client side is the same code, compiled with the different root versions, either a standalone program or a root macro doing something as:

f = TFile::Open (filename.c_str ()); bxtree = (TTree*)f->Get ("bxtree"); BxEvent *ev = 0; bxtree->SetBranchAddress ("events", &ev); bxtree->SetBranchStatus ("muon.raw_hits*", 0); [...] for (int i = 0; i < bxtree->GetEntries (); i++) { bxtree->GetEntry (entry); [...] }

The effect appears when several clients are running at the same time, it is not easy to find for a single job.
I’m going to check for TreeCache.

For an address you can use … 29_c9.root , but let me know an outcoming ip, to allow it on apache.

I cannot access your file (permission problem).
Are you saying that when only one client connects to the file, you do not see the performance problem?
What is the performance with tree.Draw ?


To access the root files I need you ip, sorry the data are not exported world wide.
I checked with one client doing Draw, the timings are the same 32-33s for both root versions.


send me a mail at