提高linux服务器性能的一些socket选项

 TCP_CORK

              If  set,  don't send out partial frames.  All queued partial frames are sent when the option is cleared again. 

             This  is useful for prepending headers before calling sendfile(2), or for throughput optimization.  

             As  currently  imple-mented,  there  is a 200 millisecond ceiling on the time for which output is corked by TCP_CORK. 

             If this ceiling is reached, then queued data is automatically transmitted.  This option can be combined  with

             TCP_NODELAY  only  since  Linux 2.5.71.  This option should not be used in code intended to be portable.



TCP_DEFER_ACCEPT

              Allows  a  listener to be awakened only when data arrives on the socket.  Takes an integer value (seconds),

              this can bound the maximum number of attempts TCP will make to complete the connection.  

             This option should not  be  used  in code intended to be portable.

               针对这个选项,在freebsd下,是SO_ACCEPTFILTER

SO_RCVTIMEO
      Sets  the  timeout  value  thatspecifies the maximum amount of time an input function waits until itcompletes. It accepts a timeval structure with the number of seconds andmicroseconds specifying the limit on how long to wait for an input operationto  complete. If a receive operation has blocked for this much timewithout receiving additional data, it shall return with apartial count or errnoset to [EAGAIN] or [EWOULDBLOCK] if no data is received. The default for thisoption  is  zero,  which  indicates  that  areceive operation shall not time out. This option takes a timeval structure.Note that not all implementa- tions allow this option to be set


你可能感兴趣的:(linux,tcp,socket,服务器,FreeBSD)