Articles of 连接

使用HAProxy负载平衡MySQL:读取通信数据包时出现错误?

我已经通过xinetd使用HAProxy设置了负载平衡MySQL从站 。 2个负载均衡器共享一个由Pacemakerpipe理的虚拟IP: crm configure show : node SVR120-27148.localdomain node SVR255-53192.localdomain primitive failover-ip ocf:heartbeat:IPaddr2 \ params ip="192.168.5.9" cidr_netmask="32" \ op monitor interval="5s" \ meta is-managed="true" primitive haproxy ocf:heartbeat:haproxy \ params conffile="/etc/haproxy/haproxy.cfg" \ op monitor interval="30s" \ meta is-managed="true" colocation haproxy-with-failover-ip inf: haproxy failover-ip order haproxy-after-failover-ip inf: failover-ip haproxy property $id="cib-bootstrap-options" \ dc-version="1.0.12-unknown" \ cluster-infrastructure="openais" \ […]

https延迟TIME_WAIT连接

从我的客户端PC连接到networking服务器,它只使用HTTPS。 当我连接时,我看到在TCPView(sysinternals工具替代netstat)很多TIME_WAIT连接到https端点。 很多时候我在TIME_WAIT看到11个连接持续2分钟。 这是每次我做一个请求。 2-4连接保持打开ESTABLISHED不pipe多久我设置服务器的Keep-Alive: timeout=xx 后面的连接是可以的,它们被适当的重用。 前连接build立并采取全部2分钟。 我使用WireShark捕获stream量,并在延迟连接的源端口上看到正常的FIN,ACK等。 我经常看到Chrome和IE(它们都使用Windows HTTP协议栈),在任何带有真实数据的请求出现之前发出6个TCP请求。 有效载荷很小(约2000字节)。 Firefox根本不会发出这些请求… 还值得一提的是,证书是自签名的,并不在浏览器中进行validation(Firefox的处理方式完全不同于Chrome)。 为什么我的浏览器发出这些请求? 为什么Firefox不能发出这些tcp连接? 编辑,这是从Chrome的第一个连接转储(用wireshark捕获): "https","0.000000",local-ip,dest-ip,"443","TCP","53890 > https [SYN] Seq=0 Win=8192 Len=0 MSS=1460 WS=8 SACK_PERM=1" "53890","0.012749",dest-ip,local-ip,"53890","TCP","https > 53890 [SYN, ACK] Seq=0 Ack=1 Win=65535 Len=0 MSS=1400 WS=1 SACK_PERM=1" "https","0.012828",local-ip,dest-ip,"443","TCP","53890 > https [ACK] Seq=1 Ack=1 Win=65792 Len=0" "53890","0.025979",dest-ip,local-ip,"53890","TCP","https > 53890 [ACK] Seq=1 Ack=222 Win=128578 Len=0" […]

Redis连接问题

我们目前遇到了很多Redis错误信息 无法连接:连接时读取错误,尝试下一台服务器 我们使用PHP Redis在FreeBSD上运行Redis,而且我们很难在Ubuntu上重现错误,所以这可能是一个暗示。 在github上这个话题有一个长期的问题 。 基本上我们通过调用phpredis中的connect(host, port, timeout)来从操作系统中获得一个套接字,但是当我们做了一个select(db_index)之后,我们会得到一个exception。 难道持续存在问题吗? 我假设连接在后台不做任何事情,并select尝试访问连接,这实际上是closures的。 我们不会遇到超时。 我们尝试调整TIME_WAIT没有成功。 关于问题可能来自哪里的任何其他想法? 跟踪这个问题的最好方法是什么? dtrace也许? 更新 我们正在研究我们的BGSAVE设置。 有趣的是,它花费了半秒多的时间来为定期将数据写入磁盘(持久化)的进程创build一个fork,并且redis在该时间段内无法响应connect()请求。

Siege:描述符表full sock.c:119:打开的文件过多

我试图在我自己的服务器上使用以下命令使用siege进行压力testing: $ siege -c 500 myweb.com/somefile.php 但是我得到这个错误: [error] descriptor table full sock.c:119: Too many open files 我也得到这个警告: libgcc_s.so.1 must be installed for pthread_cancel to work 但我使用Ubuntu 15.04(开发分支),我已经安装了包libgcc1,所以我不知道为什么它抱怨.so共享库。 我怎样才能解决太多打开的文件和libgcc警告?

SQL Server 2008中的证书

我需要在我的应用程序和Sql Server 2008之间实现SSL传输。 我使用的是Windows 7,Sql Server 2008,Sql Server Management Studio,而我的应用程序是用c#编写的。 我试图按照关于创build证书的MSDN页面, 这在“Encrpyt为一个特定的客户端”,但我无可救药的困惑。 我需要一些小小的步骤来成功实现encryption。 首先,我不明白MMC。 我在那里看到很多证书……这些证书是我应该用于自己的encryption还是被用于已经存在的事情? 另一件事,我假设所有这些证书文件都位于我的本地计算机上,为什么有一个名为“个人”的文件夹? 其次,为了避免上述问题,我做了一个自签名程序集的小实验。 如上面的MSDN链接所示,我使用了在SSMS中执行的SQL来创build一个自签名证书。 然后我使用下面的连接string来连接: Data Source=myServer;Initial Catalog=myDatabase;User ID=myUser;Password=myPassword;Encrypt=True;TrustServerCertificate=True 它连接,工作。 然后,我删除了我刚创build的证书,它仍然工作。 显然它从来没有做任何事情,但为什么不呢? 我怎么知道它是否真的在“工作”? 我想我可能会错过一个中间步骤(以某种方式)将文件从SSMS上传到客户端上? 我不知道我在做什么,所以任何帮助,build议,意见,引用你可以给我非常感激。 先谢谢你。 🙂

tcptrack显示SYN_SENT连接,这是否意味着SYN包到达服务器?

我们的服务器遭遇了严重的连接超时问题,所以我们用tcptrack跟踪tcp连接 我们发现,如果客户端开始连接到服务器,tcptrack会显示连接,但是在SYN_SENT状态下, netstat -nat什么也不显示。 (tcptrack&netstat全部在服务器上运行) 这是否意味着syn请求到达服务器? 没有syn / ack被发回? 为什么tcptrack可以报告这个连接,但netstat不能? 可能是一个普通的Apache无法build立与客户端的连接的问题? 我做了一个使用ab在同一个内部网,到指定的网卡,它处理了10000个并发连接和400000个请求确定的长凳testing ps:这不是每次都会发生,但确实发生了很多 PPS:有没有什么好的工具来跟踪tcp连接丢失的地方?

绑定2个或更多的Gigabyte网卡,在1个服务器和1个客户端之间获得2Gbps的性能?

我还没有得到服务器或NIC,但这是目标设置: 1x服务器 1x客户端 在服务器和客户端之间连接1个或多个NIC点对点连接(不涉及交换机) 所以我想知道是否可以在PCI-X / PCI-E总线上使用2 Nic或4 Nic pro Intel以太网卡来设置某种forms的绑定,从而使客户端和服务器能够共享文件比1Gbps上限更快? 我知道TCP / UDP会有一些开销,其他的开销也会有,但是我想试图在两者之间为客户端和服务器提供尽可能高的总带宽。 如果这是不可能的,那么我将避免使用2个以太网NIC或4个以太网NIC产生额外的费用。

PHP / mySQL:如何debugging“太多连接”的错误?

我现在正在我的客户端的专用服务器上使用PHP网站,我周期性地收到了too many connections错误,但有5个用户正在浏览此页面。 在phpMyAdmin我可以看到max connectionsvariables设置为400 。 在我们公司的本地MySQL服务器上,我们将max connections设置为200 ,其他配对在同一时间使用此服务器。 我听说在他们的服务器上有一些其他的网站正在使用同一个大的交易MySQL。 这是我的问题: 如何debugging这个问题? 我可以查看一下在过去10分钟内执行的SQL查询列表,以检查它是我们的问题还是他们的?

Apache Web服务器无法响应服务器状态,显示所有等待连接的subprocess

我的设置:我有3个几乎完全相同的networking服务器服务器相同的高负载的dynamic网站,简单的负载平衡的DNS。 这个服务已经使用了相同的apacheconfiguration工作了两年多了。 apache2,php5,ubuntu 8.04 linux 2.6.24-29-server 我的问题:大约两周后,我遇到了这个configuration的问题。 几乎每一天,我都有一个5分钟的小时间,其中网站是无法访问的。 我仍然可以通过SSHlogin到服务器。 如果我跑htop,我看到机器什么都不做。 我有大约1000个Apache进程运行,但没有CPU活动。 我已经使用Apache的mod_status来debugging这种情况。 进程记分牌看起来像这样: _C.___K_______________________R._______.__K_K____K___C_______.__ _______C__________.___________________________________.________C _.____K__________K___K_WK_____._K_____________________________._ W______K__________K________.____________________._______C_______ _C_.__K__K____.._.._____________________________________C_______ _R___________K___.______C________.C_________.______._____C______ ____________KKC____K_____K__WC_________________C_____.__.____.__ _____________________C_________K______.____C______._____________ _.___C____.___.___________________________.K______.____K________ W__.___________________C.__.____K________K_______R_._.__._______ __C__C_.__________C__C_______._____W______________C_.___C_______ ____.______C_____________C________.____C____________.________._K __.__________.K_____________K_________._____C____.K__________KW_ __K.W________R_________._______.___W___________.____.__K_____W__ W___.___..________W____K Scoreboard Key: "_" Waiting for Connection, "S" Starting up, "R" Reading Request, "W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup, "C" Closing connection, "L" Logging, "G" […]

我可以使TCP / IP会话运行less于60秒吗?

我们的服务器超载TCP / IP会话,我们有1200 – 1500。 他们大多数都挂在TIME_OUT状态。 事实certificate,处于TIME_OUT状态的连接占用一个套接字,直到经过60秒的超时。 问题是服务器无响应,许多客户端没有得到服务。 我做了一个简单的testing:使用Internet Explorer 8.0从服务器上下载一个XML文件下载在几秒钟内完成。 但后来我看到TCP / IP连接挂在TIME_OUT状态60秒。 有什么办法摆脱TIME_OUT等待,或者减less释放新连接的套接字? 我明白为什么TCP / IP连接进入TIME_OUT状态,但我不明白为什么Internet Explorer在XML文件下载结束后没有closures连接。 细节。 我们的服务器运行用Perl(mod-perl)编写的web服务。 该服务向客户提供天气数据。 客户端是一个Flash应用程序(实际上是embedded在Windows应用程序中的Flash ActiveX控件)。 操作系统:Ubuntu Apache“Keep Alive”选项设置为0