zoukankan      html  css  js  c++  java
  • 后台分析(转载) 规格严格

    1一些系统知识
    • ulimit -a里的各种限制,特别是open files和core file size
    • 共享内存大小受/proc/sys/kernel/shmmax控制
    • 32位OS下默认写文件超过2G会coredump,可通过定义宏来解决
    • 32位OS下,受低端内存大小(800M,所有进程共享)的影响,单机socket大概超过9~10万会产生OOM(Out of Memory),系统会杀掉些进程,而且还没有coredump。可查阅slabinfo和slabtop。
    • 网卡收发数据包会产生软中断,一般会绑定到CPU0处理。这就决定了网卡收发包的性能有限。在KM上看到有提到过用多网卡提高网络吞吐量的做法。
    • 物理内存不够用时会使用到交换分区,很影响系统性能
    • socket有内核缓冲区,缓冲区的大小对网络收发包
    • 读写文件时系统可以合并磁盘IO操作,这个可以通过iostat -x看到。读写文件越分散,合并率越低。

    linux内核、TCP/IP、DB这类知识了解越多,解决问题越顺手!

    2常用工具

    • strace:查看进程的系统调用
    • ltrace:查看进程的库函数调用
    • lsof:查看系统已打开的文件句柄
    • netstat:查看网络信息
    • tcpdump:抓包工具
    • top:查看CPU和Load
    • uptime:查看系统运行时间和Load
    • iostat:磁盘IO统计
    • ulimit:查看进程的系统资源限制
    • free:查看内存和交换分区
    • mpstat:查看中断分布情况
    • gprof:性能分析工具
    • gdb:调试工具


    3日志和信息

    • /proc:查看或修改系统信息和配置,上面的命令有不少就是读写/proc下的文件。不少网络参数都可以通过这里修改(本地端口范围、读写缓冲区大小、TIME_WAIT)
    • /proc/PID/:查看进程的相关信息
    • /var/log/messages:查看系统及内核日志
    • apache访问日志和错误日志
    • mysql的binlog


    4查找规律
    对业务产生的日志和统计数据,有时需要分析其中的规律,才好找到问题。可以从用户IP、来源IP、目标IP、时间、业务ID、号段特征这些方面来寻找。另外需要注意,没有规律也是一种规律。

  • 相关阅读:
    屏蔽docker镜像暴露的端口
    runtime/cgo: pthread_create failed: Resource temporarily unavailable
    用户状态bash-4.2$
    Datasnap 和mORMOT 性能对比!
    Delphi XE 时间和时间戳互转换
    Delphi XE 10.4.2 IDE 设置----【代码格式化】
    DELPHI XE 数据集合并(TFDLocalSQL)
    CXGRID 常用功能设置
    MSSQL行转列
    delphi xe 获取字符串长度(不足补位)
  • 原文地址:https://www.cnblogs.com/diyunpeng/p/2105688.html
Copyright © 2011-2022 走看看