QUIC简介
QUIC,即Quick UDP Internet... [阅读更多]
对于做大量并发服务器端(比如Web服务器Nginx、Apache等)开发的童鞋,肯定知道有一个名为C10K的问题。当然,这是一个比较古老的问题了,从03年(非准确值)提及到现在已经有10余年之久。而随着整个网络相关技术的高速发展,包括CPU、网卡、操作系统等,人们对业务需求所追求的并发连接性能也从10K提升到10M级别,即所谓的C10M问题。这个问题的初次提及到现在应该还没多久,大概也就是2013年上半年的事情,本文就来具体看看其相关内容。 相比以前,现在的硬件很便宜,1200美元可以买一台8核CPU、64GB和带有固态硬盘以及10G万兆网卡的通用电脑。这种通用电脑的性能很高,足够充当各种网络服务设备,因此很多看似贴有服务器专用标签的网络设备,揭开标签纸之后,就是一台普普通通的个人通用电脑。 硬件不是10M问题的性能瓶颈所在处,真正的问题出在软件上,尤其是*nux操作系统。这里有几点: 首先,最初的设计是让Unix成为一个电话网络的控制系统,而不是成为一个服务器操作系统。对于控制系统而言,针对的主要目标是用户和任务,而并没有针对作为协助功能的数据处理做特别设计,也就是既没有所谓的快速路径、慢速路径,也没有各种数据服务处理的优先级差别。 其次,传统的CPU,因为只有一个核,操作系统代码以多线程或多任务的形式来提升整体性能。而现在,4核、8核、32核、64核和100核,都已经是真实存在的CPU芯片,如何提高多核的性能可扩展性,是一个必须面对的问题。比如让同一任务分割在多个核心上执行,以避免CPU的空闲浪费,当然,这里面要解决的技术点有任务分割、任务同步和异步等。 再次,核心缓存大小与内存速度是一个关键问题。现在,内存已经变得非常的便宜,随便一台普通的笔记本电脑,内存至少也就是4G以上,高端服务器的内存上24G那是相当的平常。但是,内存的访问速度仍然很慢,CPU访问一次内存需要约60~100纳秒,相比很久以前的内存访问速度,这基本没有增长多少。对于在一个带有1GHZ主频CPU的电脑硬件里,如果要实现10M性能,那么平均每一个包只有100纳秒,如果存在两次CPU访问内存,那么10M性能就达不到了。核心缓存,也就是CPU... [阅读更多]
一个多月没捣鼓内核了,不容易呀!之前天天查Linux内核的Down机问题,天天现在看应用层代码,还真有点不适应,不过也挺有意思的,这对于我来说,毕竟是一块新鲜地,呵呵。今晚看了一下Linux... [阅读更多]
其一:前几天,也就是2013年6月28-29日,参加了在北京航空航天大学里举行的第八届开源中国开源世界高峰论坛,具体不多说,在这里有一些介绍。这是我第二次去北京,前一次还是在读研的时候参加IBM全国竞赛时去过一次。运气实在是不太好,正赶上PM... [阅读更多]
在Ubuntu桌面环境下,打开(伪)终端的方法有许多,比如: 1,如果是Unity环境,那么打开dash,输入terminal,再回车,OK。 2,如果是旧式菜单环境,那么通过Applications → Accessories →... [阅读更多]
全文来之:http://dbus.freedesktop.org/doc/dbus-specification.html 非翻译,仅仅是本人看后的简单描述。 Type System(类型系统) 将其他任何格式的数据转换为wire... [阅读更多]
这个问题之前就遇到过,但都是顺手解决了,没有做个记录,今天在使用ubuntukylin 13.04时又遇到了,所以记录一下。 系统环境如下: lenky@lenky-Inspiron-545s:~$ uname -a Linux lenky-Inspiron-545s... [阅读更多]
地点:湖南长沙 宽带:铁通 系统:UbuntuKylin 13.04 需求:拨号上网 Ubuntu拨号上网已经有很多网络参考资料,尝试起来也很容易,首先执行命令: lenky@lenky-PC:~$ sudo... [阅读更多]
初学GTK,各种不懂,问题多多,遇到的第一个值得记录一下的问题就是在Linux下对GTK界面的调试问题。之前Linux下的各种操作从未考虑图形界面的问题,而全在终端下进行,使用gdb或cgdb是各种顺畅。现在在ubuntu图形系统Unity下调试GTK程序,竟然发现出现卡死的情况。 具体情况是这样,目前我正在做Linux下输入法的开发,暂选定的输入法为fcitx,在Unity的伪终端里用gdb启动fcitx,在TrayWindowInit处下断点,执行r运行程序,断下来后,整个X... [阅读更多]