info-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Maximum connections to the server


From: jazzvale
Subject: Re: Maximum connections to the server
Date: 27 Mar 2002 01:46:07 -0800

"Bill Biessman" <address@hidden> wrote in message news:<address@hidden>...
> I believe the standard NT workstation license limits you to 10 remote
> connections.  The server licenses support as many connections as you pay
> for.
> 
> I have a w2000 professional system that I use as a server and it also has a
> 10 connection limit. This was a big pain as more and more people started
> working in parallel.  Whoever was number 11 got denied until one of the
> connections timed out.  The default timeout on windows is huge (hours?) so
> you couldn't simply get a cup of coffee and try again.  Efforts to change
> the timeout by messing with the registry failed.

On my W2000 server I can keep-alive up to 35 connections
simultaneously, if i try to create more the socket is closed by
server.

> I ended up writing a script that uses some nt utilities to determine how
> many connections there are and how long each has been connected but idle.
> If it goes over a limit, I use another NT utility to kill the connection.
> This has pretty much solved my problem for my team of about 20 developers.
> I have not gotten the too many connections error or named pipe error in
> months.

Thanks, but now I can't try it.
I suggest you to try to upgrade your w2k professional to w2k server.
By my side i'm gonna try on W2000 Advanced Server to see if the
mazimun connections is superior

bye

Valerio Bottari


> Here's the script if you are interested.  It's been hacked several times, so
> please forgive the style.  Whenever I start the server I start this script
> (it is an endless loop) in a window.
> 
> Bill
> ###########################################
> #!/bin/bash
> 
> 
> typeset deleted_one="no"
> typeset -i max_session_time=10
> typeset -i num_sessions=0
> 
> net session
> 
> get_num_sessions()
> {
>         num_sessions=$(net session | wc -l)
>         let     num_sessions=$num_sessions-6
>         if [ $num_sessions -le 0 ]
>         then
>                 let     num_sessions=0
>         fi
> 
>         echo num_sessions=$num_sessions
>         if [ $num_sessions -ge 8 ]
>         then
>                 let max_session_time=6
>         fi
> }
> 
> proc_line()
> {
>         typeset -i hours
>         typeset -i seconds
>         typeset -i t
>         typeset computer
> 
>         let     hours=1$1
>         let     hours=$hours-100
> 
>         let     minutes=1$2
>         let     minutes=$minutes-100
> 
>         let     t=$hours*60
>         let     t=$t+$minutes
> 
> 
>         computer="$3"
> 
>         #       echo "proc_line( $* ) time=$t"
> 
>         if [ $t -ge $max_session_time ]
>         then
>                 echo "connection time $t for $computer, kill "
>                 net session \\\\$computer /delete /y
>                 deleted_one=yes
>         else
>                 echo "connection time $t for $computer, ok "
>         fi
> }
> proc_session()
> {
>         typeset line
>         while read line
>         do
>                 proc_line $line
>         done
> }
> 
> kill_old_sessions()
> {
>         net     session
>         net session     \
>                 | cut -c0-20,69-73      \
>                 | awk '/\\/''{print $2 " "$1}'  \
>                 | sed 's/\\\\//'        \
>                 | sed 's/:/ /'  \
>                 | proc_session
> }
> 
> ###############################################
> top()
> {
>         echo "<html>"
>         echo    "<meta http-equiv=Refresh content=30;
> url=ServerSessions.html>"
>         echo "<title>"
>         echo "Server Connections Status"
>         echo "</title>"
>         echo "<body>"
> }
> middle()
> {
>         echo "<pre>"
>         date +"Information gathered %D %T"
>         net session
>         echo "</pre>"
> }
> bot()
> {
>         echo "</body>"
>         echo "</html>"
> }
> gen_html()
> {
>         top
>         middle
>         bot
> }
> ###############################################
> sleep_a_while()
> {
>         typeset -i x
>         let x=$1
>         while [ $x -ge 1 ]
>         do
>                 printf "%3i\r" $x
>                 sleep 1
>                 let x=$x-1
>         done
>         echo
> }
> 
> 
> ###############################################
> #
> # run at least one pass
> # if an argument is passed, run continuously, once
> # every five minutes
> #
> 
> while true
> do
>         tput home
>         tput clear
>         get_num_sessions
>         echo $num_sessions >> killsession.txt
>         date
>         kill_old_sessions
>         rm -f  e:/tools/apache/apache/htdocs/ServerSessions.html
>         gen_html > e:/tools/apache/apache/htdocs/ServerSessions.html
>         if [ $deleted_one = yes ]
>         then
>                 deleted_one=no
>                 net session
>         fi
>         echo
>         echo
>         echo "sleeping before next search for connections"
>         if [ "$1" = "" ]
>         then
>                 break
>         else
>                 sleep_a_while 60
>         fi
> done
> echo goodbye
> sleep 5
> ###########################################
> 
> 
> -----Original Message-----
> From: address@hidden [mailto:address@hidden Behalf Of
> Larry Jones
> Sent: Tuesday, March 26, 2002 12:13 PM
> To: jazzvale
> Cc: address@hidden
> Subject: Re: Maximum connections to the server
> 
> 
> jazzvale writes:
> >
> > please give me an answer
> 
> I thought I had, but apparently not.
> 
> > > I'm wondering about connection timeout and connection limit.
> > > So, the questions are: does the connection have a timeout (how long is
> > > it?) and is there a
> > > limit of maximum connections to the server?
> 
> There is no timeout for an established connection (although CVS does use
> TCP/IP KEEPALIVEs to try to detect broken idle connections).  A CVS
> server only supports a single connection -- [x]inetd is responsible for
> starting a new server for each connection.  Please note that the CVS
> client/server protocol was designed assuming a new connection for each
> user-level command, so you probably can't use connection pooling in the
> general case (and the standard server may not always work right even in
> the cases where you could, theoretically, use connection pooling, since
> it's never really been tested that way).
> 
> -Larry Jones
> 
> OK, there IS a middle ground, but it's for sissy weasels. -- Calvin
> 
> _______________________________________________
> Info-cvs mailing list
> address@hidden
> http://mail.gnu.org/mailman/listinfo/info-cvs


reply via email to

[Prev in Thread] Current Thread [Next in Thread]