2013年3月21日
摘要: linux和windows下TIME_WAIT过多的解决办法如果使用了nginx代理,那么系统TIME_WAIT的数量会变得比较多,这是由于nginx代理使用了短链接的方式和后端交互的原因,使得 nginx和后端的ESTABLISHED变得很少而TIME_WAIT很多。这不但发生在安装nginx的代理服务器上,而且也会使后端的app服务器 上有大量的TIME_WAIT。查阅TIME_WAIT资料,发现这个状态很多也没什么大问题,但可能因为它占用了系统过多的端口,导致后续的请求无法获 取端口而造成障碍。虽然TIME_WAIT会造成一些问题,但是要完全枪毙掉它也是不正当的,虽然看起来这么做没什么错 阅读全文
posted @ 2013-03-21 12:05 smartch 阅读(889) 评论(0) 推荐(0) 编辑
摘要: TIME_WAIT状态的意义:客户端与服务器端建立TCP/IP连接后关闭SOCKET后,服务器端连接的端口状态为TIME_WAIT是不是所有执行主动关闭的socket都会进入TIME_WAIT状态呢?有没有什么情况使主动关闭的socket直接进入CLOSED状态呢?主动关闭的一方在发送最后一个 ack 后就会进入 TIME_WAIT 状态 停留2MSL(max segment lifetime)时间这个是TCP/IP必不可少的,也就是“解决”不了的。也就是TCP/IP设计者本来是这么设计的主要有两个原因1。防止上一次连接中的包,迷路后重新出现,影响新连接(经过2MSL,上一次连接中所有的重复包 阅读全文
posted @ 2013-03-21 12:02 smartch 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 来源《鸟哥的linux私房菜》ps:将某个时间点的程序运作情况撷取下来?[root@linux~]# ps aux[root@linux~]# ps -lA[root@linux~]# ps axjf参数:-A:所有的 process 均显示出来,与 -e 具有同样的效用;-a :不与 terminal 有关的所有 process ;-u :有效使用者 (effective user) 相关的 process ;x :通常与 a 这个参数一起使用,可列出较完整信息。输出格式规划:l :较长、较详细的将该 PID的的信息列出;j :工作的格式 (jobs format)-f :做一个更为完整的输 阅读全文
posted @ 2013-03-21 11:56 smartch 阅读(965) 评论(0) 推荐(0) 编辑
摘要: 在Linux下查看WEB服务器的负载情况,以前也说过,最简单有有效的方式就是查看Apache Server Status(如何开启Apache Server Status点这里),在没有开启Apache Server Status的情况下,或安装的是其他的Web Server,比如Nginx的时候,下面的命令就体现出作用了。ps -ef|grep httpd|wc -l命令#ps -ef|grep httpd|wc -l1388统计httpd进程数,连个请求会启动一个进程,使用于Apache服务器。表示Apache能够处理1388个并发请求,这个值Apache可根据负载情况自动调整,我这组服务 阅读全文
posted @ 2013-03-21 11:55 smartch 阅读(1834) 评论(0) 推荐(0) 编辑
摘要: atoi 和 itoa的实现2012-08-25 14:57 by CobbLiu, 167 阅读,0评论,收藏,编辑atoi 和 itoa是面试笔试经常要考到的题目,下面两份代码是用C语言实现的atoi和itoa:1, atoi原型: int atoi(const char *nptr);函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。#include <stdio.h>#include <assert.h>static int atoi( 阅读全文
posted @ 2013-03-21 11:25 smartch 阅读(478) 评论(0) 推荐(0) 编辑
  2013年3月7日
摘要: memcached如何清理缓存?telnet上去之后 使用命令 flush_all 即可!一、缓存命中率 = get_hits/cmd_get * 100%二、get_misses的数字加上get_hits应该等于cmd_get三、total_items == cmd_set == get_misses,当可用最大内存用光时,memcached就会删掉一些内容,等式就会不成立用telnet测试memcachedtelnet 127.0.0.1 11211Trying 127.0.0.1…Connected to zou.yunhao (127.0.0.1).Escape character i 阅读全文
posted @ 2013-03-07 19:41 smartch 阅读(899) 评论(0) 推荐(0) 编辑
摘要: sftp 是一个交互式文件传输程式。它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性。下边就简单介绍一下如何远程连接主机,进行文件的上传和下载,以及一些相关操作。举例,如远程主机的 IP 是 202.206.64.33或者是域名www.hebust.edu.cn,用户名是 fyt ,在命令行模式下:sftp fyt@202.206.64.33或者 fyt@www.hebust.edu.cn。回车提示输入密码。进入提示符sftp>如果登陆远程机器不是为了上传下载文件,而是要修改远程主机上的某些文件。可以ssh fyt@202.206.64.33 (其实sftp就是ssh 的一个 阅读全文
posted @ 2013-03-07 19:40 smartch 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 更改所属用户组, chgrp改变文件的用户组很简单,直接用chgrp即可,这个命令就是change group(改变用户组)的缩写。这样就很好记了。不过,请记住,要改变成为的用户组名称,必须在 /etc/group里存在,否则就会显示错误。假设以root的身份登入FC4,那么,在你的家目录内有一个install.log文件,如何改变该文件的用户组呢?假设你已经知道在 /etc/group里已经存在一个名为users的用户组,但是,testing这个用户组名字就不存在 /etc/group中了,此时改变用户组成为users与testing,会有什么现象发生呢?[root@linux ~]# ch 阅读全文
posted @ 2013-03-07 19:39 smartch 阅读(1300) 评论(0) 推荐(0) 编辑
  2013年3月6日
摘要: 最近写的程序要用到base64_encode,网上一搜“C语言 base64”出来一堆代码,但是我向来是不惮以最坏的恶意来推测这些代码的。于是看了一下PHP源码,base64_encode函数定义在ext\standard\base64.c文件中。我把它改写了一下,需要注意内存是动态分配的,使用完之后记得free掉,否则会造成内存泄露。unsigned char *base64_encode(const unsigned char *str){ static const char base64_table[] = { 'A', 'B', 'C', 阅读全文
posted @ 2013-03-06 11:11 smartch 阅读(768) 评论(0) 推荐(0) 编辑
摘要: 21000 The App Store could not read the JSON object you provided.21002 The data in the receipt-data property was malformed.21003 The receipt could not be authenticated.21004 The shared secret you provided does not match the shared secret on file for your account.21005 The receipt server is not curren 阅读全文
posted @ 2013-03-06 10:14 smartch 阅读(337) 评论(0) 推荐(0) 编辑