Strange Issue with document upload through Web server

Hi ,

I am hosting a website where in users log into their account and upload documents. The website is hosted on a Apache web server(4 nodes) sitting on RHEL VM's and load balanced by radware.

The issue i am facing is that the documents that are uploaded through the web site sometimes show a "0" kb size.This happens so randomly that we are not able to reproduce at will.

The possible causes we suspect are:

  1. Virus in our systems.
  2. proxy issue at user end.

One more reason i suspect is that the folder path to which these documents get uploaded through http land up in the Linux servers in /attachments folder which is NFS shared across the 4 web server nodes.

Could this possibly be the problem? If so how can i check this.

Thanks
HG

Just a wild shot in the dark: which NFS version do you use?

Historically, NFS (NFS, NFS2, whereas NFS3 optionally) used UDP as the transport protocol, because it was way faster than TCP in limited bandwidth environment (remember Ethernet being 10MBit/s). NFS3 could be configured to use either TCP or UDP and NFS4 uses TCP per default (exclusively? not sure).

The downside of UDP was lacking flow control (it is a connectionless protocol) and it is conceivable that under some adverse constellations a transmission could fail.

You could probably verify that (and several other network-related possible causes) by tracing the network extensively. Set up "tcpdump" with a customized filter to trace the NFS-related transfers from the load-balanced front-ends to the NFS-server behind.

Generally speaking, this sounds like a quite complex problem and you are probably best (even if not fastest) off by using methodical problem-solving skills. Write down all the steps necessary to transfer a file fron the user to where it should finally reside. Then write down any tool/driver/piece-of-software/... involved in getting the file there. For every such piece suppose that it could fail somehow and develop a test specifically designed to find out if it does (like i did with the "tcpdump"). Then falsify one of these "theories" after the other by applying this test. Eventually you should end with the failing piece.

You can probably shortcut the process by chosing suitable parts of the transmission and make sure these work. If you can make sure the error only happens past part X then all parts up to and including part X are working.

I hope this helps.

bakunin

Thanks BugHunter.
We have NFS V3. Let me see if i can manage to setup tcpdump.

Thanks
HG