最新 | 最热门 | 最高评价

+0  白话火焰图

Tag: Technical | Linux | Performance
老王 发于 2016年08月18日 13:44 | 点击: 156 | 展开摘要
很多人感冒发烧的时候,往往会模仿神农氏尝百草的路子:先尝尝抗病毒的药,再试试抗细菌的药,甭管家里有什么药挨个试,什么中药西药,瞎猫总会碰上死耗子,如此做法自然是不可取的,正确的做法应该是去医院验个血,确诊后再对症下药。

让我们回想一下我们一般是如何调试程序的:通常是在没有数据的情况下依靠主观臆断来瞎蒙,而不是考虑问题到底是什么引起的!毫无疑问,调优程序性能问题的时候,同样需要对症下药。好消息是 Brendan D. Gregg 发明了火焰图,可以一针见血的指出程序的性能瓶颈

查看全文: http://www.udpwork.com/item/15962.html

+0  缓存更新的套路

Tag: Unix/Linux | 程序设计 | cache | Design | design pattern | Linux
陈皓 发于 2016年07月27日 16:25 | 点击: 680 | 展开摘要
看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的数据还是老的数据,导致缓存中的数据是脏的,而且还一直这样脏下去了。

我不知道为什么这么多人用的都是这个逻辑,当我在微博上发了这个贴以后,我发现好些人给了好多非常复杂和诡异的方案,所以,

查看全文: http://www.udpwork.com/item/15697.html

+0  记录一个多核CPU负载不均衡问题

Tag: Technical | Linux | PHP
老王 发于 2016年07月19日 21:07 | 点击: 149 | 展开摘要
昨晚和一位读者朋友讨论了一个问题:在一台多核 CPU 的 Web 服务器上,存在负载不均衡问题,其中 CPU0 的负载明显高于其它 CPUx,进一步调查表明 PHP-FPM 的嫌疑很大。话说以前我曾经记录过软中断导致过类似的问题,但是本例中可以排除嫌疑。

让我们在一台四核服务器上采样分析一下数据确认看看是否存在负载不均衡问题:

shell> mpstat -P ALL 1 10

CPU %usr %nice %sys %iowait %irq

查看全文: http://www.udpwork.com/item/15963.html

+0  nginx的proxy_pass使用https(SSL加密)

Tag: Internet | Linux
Xiaoxia 发于 2016年07月15日 03:56 | 点击: 1255 | 展开摘要
写这个文章的原因是因为今晨解决了一个电影FM网友经常访问网站502的问题。最近电影FM粉丝交流群越来越活跃了,感谢Rachel妹纸每周举行的猜电影活动。热衷电影的网友可以加入电影FM的交流QQ群:471644884。最近电影FM的访问量也上升了,高峰时候接近2w一天的IP。今晚美女主持人Kiki来访电影FM时,登录的时候遇到了502,其实我今天访问的时候也出现过一次。为什么会这样呢?

因为电影FM没有网站备案(做电影推荐也需要视听许可证???搞不懂),所以前端流量入口的机器

查看全文: http://www.udpwork.com/item/15674.html

+0  Linux上下文切换监控

Tag: Linux
鸟窝 发于 2016年06月15日 10:43 | 点击: 931 | 展开摘要
我们在监测Linux的应用的时候,当CPU的利用率非常高,但是系统的性能却上不去的时候,不妨监控一下线程/进程的切换,看看是不是context switching导致的overhead过高。

一般我使用dstat工具用来监控,比如dstat -y:

1
2
3
4
5

---system--
int csw
367 561
274 439
279 363

或者vmstat 3:

1
2
3
4

[root@abc smallnest]

查看全文: http://www.udpwork.com/item/15393.html

+0  Linux Shell mv 命令覆盖目标目录

Tag: Linux
ideawu 发于 2016年06月08日 15:49 | 点击: 486 | 展开摘要
注意, 在Linux命令行下, mv是移动文件或者文件夹(目录), 如果目标路径是文件, 则会覆盖, 但如果目标是目录, 则被移动到目录里面. 有时, 我们需要替换到目标目录. 例如

mv a tmp/a

我们希望, 最终文件a(可能是文本文件)应该在tmp目录下. 但如果tmp目录已经有同名目录的话, a文件的路径会变成tmp/a/a, 这不是我们希望的.

解决方法是加上-T参数:

mv -T a tmp/a

参数说明:

-T, --no-target-dire

查看全文: http://www.udpwork.com/item/15548.html

+0  iptables 封禁解封 IP

Tag: Linux
ideawu 发于 2016年06月08日 11:45 | 点击: 436 | 展开摘要
iptables 封禁 IP:

sudo iptables -I INPUT -s 1.2.3.4 -j DROP

iptables 解封 IP:

sudo iptables -D INPUT -s 1.2.3.4 -j DROP

Related posts:
告诉我应该选择哪一个Linux发行版

如何让 PHP json_encode 函数不转义中文?

ssh远程执行命令

Mac 下创建隐藏用户

jQuery 设置复选框选中状态的 BUG

查看全文: http://www.udpwork.com/item/15546.html

+0  编译libpcap报错 error: 'DBUS_ERROR_INIT' undeclared (first use in this function)

Tag: Linux | dbus | libpcap
suchasplus 发于 2016年05月13日 20:44 | 点击: 622 | 展开摘要
在老版本centos上用pcap4j,需要libpcap > 1.0.0, 系统pcap版本是0.9.x

编译libpcap的时候提示 error: 'DBUS_ERROR_INIT' undeclared (first use in this function)

查阅dbus源码之后直接在pcap-dbus.c头部增加一行

#define DBUS_ERROR_INIT { NULL, NULL, TRUE, 0, 0, 0, 0, NULL }

就可以编译通

查看全文: http://www.udpwork.com/item/15494.html

+0  一个 GUI 系统的组成部分

Tag: Cocoa | Computer System | IT技术和评论 | Linux | MacOSX
ideawu 发于 2016年05月10日 16:31 | 点击: 480 | 展开摘要
在做 iOS 上的 XML+CSS UI 布局框架 CocoaUI 的过程中, 我体会到了 Apple 技术的强大之处, Apple 的底层框架和库提供了强大的功能和友好的 API, 我在开发 GUI 框架(上层 UI 框架)时用到的许多技术功能点都是信手拈来.

现在总结, 有不少想法, 记下来分享一下.

首先, iOS 系统为什么那么"好"? 不仅开发者觉得好, 最终用户用起来也觉得棒! 对比看 Android 的软件界面, 毛毛糙糙, 生硬, 总是缺了很多神韵. 这当

查看全文: http://www.udpwork.com/item/15482.html

+0  ssh远程执行命令

Tag: Linux
ideawu 发于 2016年05月04日 10:59 | 点击: 548 | 展开摘要
有时候我们希望在远程服务器上执行一些命令, 但不想ssh到远程之后再执行这些命令, 那么, 可以用下面的方法:

ssh -t me@127.0.0.1 "sudo ls /tmp"

-t 参数模拟一个终端, 以便 sudo 命令能够执行.

Related posts:
Mac 下创建隐藏用户

初学者的 Linux 安装 Nginx PHP fpm 配置教程

iptables 封禁解封 IP

Nginx + PHP 配置和启动脚本

在Mac上删除Google的流氓

查看全文: http://www.udpwork.com/item/15458.html

+0  Mac远程ssh出现LC_CTYPE错误的解决

Tag: Linux | MacOSX
ideawu 发于 2016年05月03日 10:03 | 点击: 606 | 展开摘要
使用 Mac 系统的终端 ssh Linux 时, 总是提示

-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory

即使在 Linux 上面修改了 locale 也没用. 原来, 这是 Mac 自己搞的鬼, 它会擅作主张地在你登录远程终端时设置 locale 为 UTF-8, 和服务器设置无关. 所以, 要解决只能修改 Mac 自己的配置文件

查看全文: http://www.udpwork.com/item/15455.html

+0  MegaCli基本操作

Tag: Linux | megacli | raid
suchasplus 发于 2016年04月05日 17:56 | 点击: 554 | 展开摘要
1. 常用命令:
#/opt/MegaRAID/MegaCli/MegaCli64 -LDInfo -Lall -aALL 查raid级别
#/opt/MegaRAID/MegaCli/MegaCli64 -AdpAllInfo -aALL 查raid卡信息
#/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL 查看硬盘信息
#/opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -aAll 查看电池信息

查看全文: http://www.udpwork.com/item/15380.html
|<<<1234567>>>| 一共47页, 554条记录