2018年3月

tomcat 连接数

the crux of the solution is to avoid too much queuing of requests at multiple points (OS and tomcat threads) and fail fast (return http status 503) as soon the application’s maximum capacity is reached

refer:
https://blog.insightdatascience.com/learning-about-the-http-connection-keep-alive-header-7ebe0efa209d
https://medium.com/netflix-techblog/tuning-tomcat-for-a-high-throughput-fail-fast-system-e4d7b2fc163f
https://stackoverflow.com/questions/20763999/how-does-http-keep-alive-work

关于 linux rsync & scp 命令

$ rsync --progress accessa.log.7.gz xiatian@test1.tianxiaohui.com:/home/xiatian

$ scp username@from_host:file.txt /local/directory/
$ scp file.txt username@to_host:/remote/directory/
$ scp -r username@from_host:/remote/directory/ /local/directory/ //copy目录
$ scp username@from_host:/remote/directory/file.txt username@to_host:/remote/directory/

关于 linux PS 命令

虽然经常用, 但是不是那么熟悉它竟然能提供那么多的信息. PS 是 Process Status 的缩写. top 命令的输出和 PS 很类似, 只不过是实时刷新.

ps --help all //显示所有的命令行参数
ps L //显示输出格式
ps H 16705 //显示特定进程的线程信息
ps --forest //显示进程直接的父子关系

ps -o ppid,pid,lwp,nlwp,%cpu,%mem,cputime,cmd,args k -%cpu H 16705 //输出一个进程的所有线程, 并且自定义格式, 按照 cpu 使用时间倒序排列.

关于格式中的nlwp: Number of Lightweight Processes. This basically amounts to the number of threads a program has running

一般结合 https://www.pslinux.online/index.php & ps --help all 就能找到想用的参数.

JVM 网络连接设置的一些属性

  1. java.net.preferIPv4Stack (default: false) 有 IPv6 就用 IPv6;
  2. java.net.preferIPv6Addresses (default: false) 为了向前兼容性;
  3. networkaddress.cache.ttl 缓存成功的 lookup 多少秒. -1=永远缓存. 若security manager被安装,则永远缓存, 若没安装, 则缓存固定时间;
  4. networkaddress.cache.negative.ttl (default: 10) 失败的 lookup 会缓存多少秒. 0=不缓存, -1=永远缓存;
  5. http.agent (default: Java1.4.0) 当发出 http request 的时候,在 header 中显示的 agent;
  6. http.keepAlive (default: true) 是否使用 http 持久连接;
  7. http.maxConnections (default: 5) 同一地址, 在 keep-live 情况下,保持多少 idle 的连接数;

其他:
http.proxyHost (default: )
http.proxyPort (default: 80 if http.proxyHost specified)
http.nonProxyHosts (default:

ftp.proxyHost (default: )
ftp.proxyPort (default: 80 if ftp.proxyHost specified)
ftp.nonProxyHosts (default: )

官方解释在这里: https://docs.oracle.com/javase/7/docs/technotes/guides/net/properties.html

window 安装可执行文件为系统服务

  1. 首先下载WinSW.NET2.exe
  2. 下载后重命名它为 MyServiceName.exe;
  3. 新建一个文件名为 MyServiceName.xml 文件, 与MyServiceName.exe 同一个目录, 类似如下:

    olapScrubber
    olapScrubber
    olapScrubber
    C:\sre\run.bat
    c:\sre\logs\</logpath>
    roll

    更多配置 参考这里: https://github.com/kohsuke/winsw/blob/master/doc/xmlConfigFile.md
  4. 执行 MyServiceName.exe install 就安装好了.

如何删除:
sc delete MyServiceName.exe
参考这里:
https://stackoverflow.com/questions/10061191/add-nginx-exe-as-windows-system-service-like-apache