Article delegate-en/2559 of [1-4112] on the server localhost:7119
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[Reference:<_A2558@delegate-en.ML_>]
Newsgroups: mail-lists.delegate-en

[DeleGate-En] Re: strange performance problem
06 Mar 2004 11:54:32 GMT feedback@delegate.org (Yutaka Sato)
The DeleGate Project

On 03/06/04(17:30) you Gong Su <gongsu@columbia..> wrote
in <_A2558@delegate-en.ML_>
 |Hi Yutaka, thank you very much for the patch! I just tried it and
 |yes it did improve the performance quite a bit! I now get around
 |250 transactions per second. Although it's still on the low side
 |comparing to a couple of other very simple TCP relay that I tried

At least following parameters will be effective to reduce overheads.

  MAXIMA=standby:1000 ... increase max# requests relayable in a process
  -vs                 ... suppress logging to file
  RELIABLE="*"        ... simplify access control

 |(balance, portfw, both are also userspace applications), which got
 |around 400-500 transactions per second, as you said, delegate is
 |much more versatile and sophisticated as a general purpose proxy.
 |But I'm curious as to where the performance lost happens since I
 |suppose in the case of "tcprelay" you simply pass on the connection
 |without having to be "smart", right?

DeleGate relays most of protocols with parallel process to be able
to apply "smart", thus take unpredictable time of, processing for each
connection.  But accepting connection in multiple processes is
ineffective, especially in DeleGate which runs on multiple platforms
by a single common code.  "udprelay" is one of exceptional protocol
which is relayed in a single process of DeleGate.  You can use it to 
relay TCP connection, specifying accepting by and connecting to TCP
port like follows:
 
  % delegated -v -vs -P9999/tcp SERVER=udprelay://host:9999 CONNECT=tcp

If you need port mapping to relay multiple ports in a single DeleGate
server, it seems to need to be fixed as enclosed patch.

Cheers,
Yutaka
--
  D G   Yutaka Sato <pfqcabdyi-k3ptynrdj6tw.ml@delegate.org> http://delegate.org/y.sato/
 ( - )  National Institute of Advanced Industrial Science and Technology
_<   >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan
Do the more with the less -- B. Fuller


*** dist/delegate8.9.2/src/udprelay.c	Mon Oct 13 16:17:51 2003
--- src/udprelay.c	Sat Mar  6 20:20:11 2004
***************
*** 377,382 ****
--- 377,385 ----
  				sv1log("UDPRELAY: accept() errno=%d\n",errno);
  				continue;
  			}
+ 			if( svportmap ){
+ 				svport = portnumv[sx];
+ 			}
  			ua = newUA(Conn,uassocv,ihost,iport,svhost,svport);
  			ua->ua_clsock = clsk;
  			ua->ua_clpriv = 1;

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V