技术头条 - 一个快速在微博传播文章的方式     搜索本站
您现在的位置首页 --> 系统运维
    现代CPU采用了大量的技术来抵消内存访问带来的延迟。读写内存数据期间,CPU能执行成百上千条指令。多级SRAM缓存是减小这种延迟带来的影响的主要手段。此外,SMP系统采用消息传递协议来实现缓存之间的一致性。遗憾的是,现代的CPU实在是太快了,即使是使用了缓存,有时也无法跟上CPU的速度。因此,为了进一步减小延迟的影响,一些鲜为人知的缓冲区派上了用场。
    Supervisor是一个多进程管理工具,在python生产环境中使用很频繁。它是由python实现的,在github上可以找到它的源码。
    HBase 0.92版本之后,Region Server的Compact过程根据待合并的文件大小分为small compaction和large compaction两种,由此可能导致在集群写入量大的时候Compact占用过多的网络出口带宽。本文将详细描述集群使用过程中遇到这一问题的排查过程及其解决方法。
    最近一台服务器空间总是报警,磁盘空间不足。 使用 df 命令查看,磁盘空间耗用接近 100%,将机器上过期的数据以及日志清理掉,但是空间很快又是接近 100%。 使用 du 查看,想找出磁盘空间被耗用在哪里了,结果发现他输出的结果和df命令输出的结果相差很大,离100%空间占用还远着呢。 丢失的空间跑哪了,是磁盘损坏了吗?
    日前线上在升级到Ext4文件系统后出现应用写操作延迟开销增大的问题。造成这一问题的根源目前已经查明,是由于Ext4文件系统的一个新特性——Delay Allocation造成的。
    PHP作为流行的服务器端脚本语言,广泛地用于各种服务器前端及应用的开发。虽然PHP作为脚本语言,天然具有良好的入门简单、容错性强、性能较高(在脚本语言中)的特点,但是,由于其多进程的执行模式,和前端Web系统通常采用多机器并行的运行模式,导致在线上出现的某些和特定用户相关的问题时,很难收集全面的信息。
    增量升级这个名词相信已经不是什么新鲜事物了,甚至我们每天在不经意间也已经做了该事。比如windows的自动更新,就是增量更新的一种。先撇开系统软件的升级不说,作为一个业务应用开发者,笔者这里就自己所了解,介绍一下业务应用在做增量升级方面都采用哪些方法。
     做服务器端开发的同学应该都对进程监控不会陌生,最近恰好要更换 uwsgi 为 gunicorn,而gunicorn又恰好有这么一章讲进程监控,所以多研究了下。 结合之前在腾讯工作的经验,也会讲讲腾讯的服务器监控是怎么做的。同时也会讲下小团队又该怎么敏捷的解决。
    工作中,发现鄙厂使用的服务器监控系统,非常牛逼,CPU,内存,UDP,TCP,eth包量,各种监控应有尽有,此外,还有自定义上报。不光上报,还能对上报数据做绘图,异常数字报警,能发短信、邮件、RTX消息、微信消息等等,无所不能!于是乎,不禁对此类系统神往之,要是自己也能有一套就好了。于是,我找到了Zabbix。
    写了好多年的PHP代码,不免有些许的厌倦,是时候学一门新语言了,这就好比对男人来说,家里的女人看得久了,新鲜感荡然无存,自然想纳几房小妾,不过对于身处河东狮吼险境的我而言,此等美梦注定遥不可及,还是老老实实学编程吧,想当年我还像模像样的学过Python,可惜没坚持下来,希望这次能行。
    CFS调度算法的思想:理想状态下每个进程都能获得相同的时间片,并且同时运行在CPU上,但实际上一个CPU同一时刻运行的进程只能有一个。也就是说,当一个进程占用CPU时,其他进程就必须等待。CFS为了实现公平,必须惩罚当前正在运行的进程,以使那些正在等待的进程下次被调度。
    2013.6.23,工行发生重大系统故障,已经有一阵子了。今天想起写这个话题,完全是因为昨天看到了一条现在已经被和谐的微博,当时随手收藏却忘记了粉一下Po主,和谐之后已经死无对证,找不到“传谣”的人了,于是标题的最后形容某群体组织的四个字的专有名词变成了“工行”,不过也好,原来想的标题估计是跨不过深壑的。
    要介绍 RAID技术的原因,其实是因为目前大部分分布式存储在做的事情其实 RAID在很多年前就已经做到了,所以如果你希望做存储相关的事情,那么 RAID是必须要理解,但不一定要用到的概念:)  
    计算机是由硬件和软件组成的, 而所有软件的唯一目标就是尽可能最大化的利用下层硬件能够提供的特性,完成上层的功能。 所以才会有人说,硬件是骨头,软件是血肉,骨头决定生物的形态,软件决定生物的神态。不过,依然请放心,我们不会讨论复杂的东西, 作为一个软件工程师,也没有人会要求我们去写一个磁盘存储器的硬件驱动代码~在这里,我们只讨论那些为了后面我们理解软件存储而锁需要掌握的硬件知识。
     scribe是facebook开源的分布式日志系统。严格说它只是一个日志处理的节点,与分布式系统相比差很多复杂的节点间的控制过程。不过也贵在它很精简,不容易出现问题。两年多时间以后,线上还没出现过一例scribed自己crash掉的情况。
    Secure Shell(缩写为SSH),由IETF的网络工作小组(Network Working Group)所制定;SSH为一项创建在应用层和传输层基础上的安全协议,为计算机上的Shell(壳层)提供安全的传输和使用环境。
     图虫的服务器长期是单机运行。估计除了mysql之外,php-fpm和redis还可以在单机上共存很长时间。(多说服务器早就达成了单机每日2000万+动态请求,所以我对单机搞定图虫的大流量非常乐观) 如果是单机服务,其实就不需要用IP哪怕是127.0.0.1这样的IP去连接mysql/redis/php了,因为即使是127.0.0.1也是要走TCP/IP层的。 unix提供的unix socket来实现单机的端口访问,很多文章提到用unix socket可以提升连接速度。 我简单测试了一下,200次redis请求的耗时38ms,如果改成unix socket方式,立刻降到27ms。这简直是立竿见影啊,10ms的差距足以让我们有动力把IP方式改成unix socket方式。接mysql/redis/php了,因为即使是127.0.0.1也是要走TCP/IP层的。 unix提供的unix socket来实现单机的端口访问,很多文章提到用unix socket可以提升连接速度。 我简单测试了一下,200次redis请求的耗时38ms,如果改成unix socket方式,立刻降到27ms。这简直是立竿见影啊,10ms的差距足以让我们有动力把IP方式改成unix socket方式。 Mysql(PDO)启用unix socket的方法 1.在PDO的DSN里面:原来写host:xxx,改成unix_s
    没有加任何参数,dd默认的方式不包括“同步(sync)”命令。也就是说,dd命令完成前并没有让系统真正把文件写到磁盘上。所以以上命令只是单纯地把这128MB的数据读到内存缓冲当中(写缓存[write cache])。所以你得到的将是一个超级快的速度。因为其实dd给你的只是读取速度,直到dd完成后系统才开始真正往磁盘上写数据,但这个速度你是看不到了。
    昨天,我看到一个非常有趣的删除一个目录下的海量文件的方法。他没有使用find 或 xargs,他很有创意的利用了rsync的强大功能,使用rsync –delete将目标文件夹以一个空文件夹来替换。之后,我做了一个实验来比较各种方法。让我吃惊的是,Lee的方法要比其它的快的多。下面就是我的测评。
    1. 对比A7机型和C5机型,C5的CPU性能较好(主频2.3,A7主频1.9),单盘时IO是瓶颈,而A7机型瓶颈在CPU,锁比较厉害,需要解决; 2. IO瓶颈解决方法有两种,两块SSD盘做RAID0,有12%的性能提升,而两块盘不做RAID,可以达到18%的性能提升。两块盘不做RAID性能优于做RAID; 3. 不同块数SSD盘测试引擎性能无异,此时瓶颈已经从单盘时的IO瓶颈转移到CPU瓶颈; 4. 随着CPU性能的提升,IO是瓶颈,是主要矛盾,此时的解决方案可以是用多块SSD盘按term切分存索引。而当随着SSD盘数的增多,CPU则成为瓶颈,成为主要矛盾,spin_lock及smp_invalidate_interrupt消耗过大,20%~40%的CPU消耗,需要解决此问题; 5. A7机型是单SSD盘,考虑到SSD盘的写性能及写寿命,推荐普通盘存log+SSD盘,增量索引可以单独存放。如果需要SSD盘写,则要考虑分区对齐、一些挂载选项及定时TRIM;
[ 共606篇文章 ][ 第10页/共31页 ][ |< ][ 6 ][ 7 ][ 8 ][ 9 ][ 10 ][ 11 ][ 12 ][ 13 ][ 14 ][ 15 ][ >| ]
赞助商广告
© 2009 - 2024 by blogread.cn 微博:@IT技术博客大学习

京ICP备15002552号-1