Unix Programming - Odd c/s app behavior: large tcp send queue, zero tcp receive queue

This is Interesting: Free IT Magazines  
Home > Archive > Unix Programming > November 2006 > Odd c/s app behavior: large tcp send queue, zero tcp receive queue





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author Odd c/s app behavior: large tcp send queue, zero tcp receive queue
Richard Eich

2006-11-22, 7:22 pm

Both: Linux 2.6.11
Client: i686; app is C, complied with gcc 3.3.5
Server: x86_64; BEA JRockit 1.5.0_04_b05 JRE; mysql 5.0

I'm scratching my head over resolving a server-server performance
problem that goes away when mysql is taken out of the equation, but
can't see any other evidence that mysql is actually a factor.

Client sends a steady stream of data at about 4 Mb/s to the Server.
There are two clients.

The TCP-level behavior is that the clients have a growing TCP send
queue and backlog of data to send, while the server shows a 0-len TCP
receive queue. (I would have expected a slow server-side app to have
created a receive queue as well.)

Server is a multi-threaded Java app that receives the client data
streams, processes their input, then writes the processing results to
a single mysql database. The database is five very simple tables.

mySQL has started reporting recently that one of the tables becomes
corrupted. We drop the table and recreate it, but have not learned
yet why this new behavior has developed.

Server CPU utilization, even when the clients are backed up, is about
5%.

JDBC is used to communicate with mySQL. There are multiple
connection threads to the database.

I know this is a very high-level view, but aside from noticing that
the client backlog does not occur when mysql is running, I'm stumped
on what to look at next.


Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com