<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Foundation &#8211; HU Xiaoxu</title>
	<atom:link href="https://blog.ihuxu.com/category/computer-science/foundation/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.ihuxu.com</link>
	<description>a software engineer&#039;s blog</description>
	<lastBuildDate>Thu, 21 Aug 2025 17:43:49 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.6.2</generator>
	<item>
		<title>From Polling to QUIC: How Modern Web Communication Works</title>
		<link>https://blog.ihuxu.com/from-polling-to-quic-how-modern-web-communication-works/</link>
					<comments>https://blog.ihuxu.com/from-polling-to-quic-how-modern-web-communication-works/#respond</comments>
		
		<dc:creator><![CDATA[HU Xiaoxu]]></dc:creator>
		<pubDate>Thu, 21 Aug 2025 17:40:58 +0000</pubDate>
				<category><![CDATA[Computer Network]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Foundation]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[Long Polling]]></category>
		<category><![CDATA[QUIC]]></category>
		<category><![CDATA[SSE]]></category>
		<category><![CDATA[WebSocket]]></category>
		<guid isPermaLink="false">https://blog.ihuxu.com/?p=12661</guid>

					<description><![CDATA[Today, I’m revisiting client-server communication mechanisms. The main methods are outlined in the table below for easier understanding. Mechanism Based on Direction Pros Cons Typical Use Cases Polling HTTP/1.x Client → Server • Very simple to implement• Works everywhere • High latency (depends on interval)• High overhead (many HTTP headers &#38; TCP handshakes)• Wastes resources Periodic updates, legacy apps Long Polling HTTP/1.x Pseudo Client ⇄ Server • Lower latency than<div class="read-more"><a class="btn read-more-btn" href="https://blog.ihuxu.com/from-polling-to-quic-how-modern-web-communication-works/">Read More</a></div>]]></description>
		
					<wfw:commentRss>https://blog.ihuxu.com/from-polling-to-quic-how-modern-web-communication-works/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>在 Linux 下通过 strace 与 lsof 命令排查 PHP 异常进程</title>
		<link>https://blog.ihuxu.com/php-abnormal-process-investigation/</link>
					<comments>https://blog.ihuxu.com/php-abnormal-process-investigation/#respond</comments>
		
		<dc:creator><![CDATA[HU Xiaoxu]]></dc:creator>
		<pubDate>Wed, 30 Nov 2016 03:02:51 +0000</pubDate>
				<category><![CDATA[Computer Language]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Dev Problem]]></category>
		<category><![CDATA[Foundation]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Operation System]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Original]]></category>
		<guid isPermaLink="false">http://www.ihuxu.com/blog/?p=9350</guid>

					<description><![CDATA[在有些时候，会遇到 PHP 进程异常卡死的情况。面对这种情况，首先考虑到的就是分析代码进行优化改进，或者重启进程。但是，这种方式来排查不一定能找到根本原因。因为有些时候异常 PHP 进程卡死的原因可能是非常奇葩的问题，比如外部资源异常如 DB、Redis 或第三方 API 等。上一次关于超级话题签到提醒定时任务 PHP 进程异常的处理，问题竟然出现在外部的 DB 的链接上。由于网络原因导致读取 DB 没有响应卡死。 这一次情况比较严重，超级话题积分系统的计算有一部分是通过 Trigger（类似队列）接受全站数据进行积分计算与入库。由于用户反馈问题，来到队列机查看进程情况。如下： 之后，我们查看某个进程的处理日志。如下： 发现进程（pid 10693）在重启之后卡主。 于是利用 strace 查看进程处理过程： 如 strace 信息可以看出，该异常 PHP 进程一直在循环的读取，貌似进入死循环： 接着利用 lsof 来查看该进程的所有链接资源，如下： 所以，可以看出该 PHP 异常进程是在不断的读取 FD 值为 4u 对应的资源，该资源正式 trigger 的服务资源。 通过上述的判断，可以初步断定出现在 trigger 服务上，接着就是找相关部门的人继续深入排查了。 注：已处理敏感信息，如有问题请及时联系站长。]]></description>
		
					<wfw:commentRss>https://blog.ihuxu.com/php-abnormal-process-investigation/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
