Web后台开发的问题分析方法
2010-10-27 20:03
615 查看
Web后台开发中遇到的问题五花八门,分析问题涉及到的方方面面挺多的,不容易下手。本文分享工作中遇到的一些解决问题的方法仅供参考。如果您有好方法和案例,欢迎分享。
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、号段特征这些方面来寻找。另外需要注意,没有规律也是一种规律。
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、号段特征这些方面来寻找。另外需要注意,没有规律也是一种规律。
相关文章推荐
- Web后台开发的问题分析方法
- Web后台开发基本分析方法
- EAS的WAF2开发中WEB方案对应的表结构及问题分析解决总结
- QPBOC联机查询:后台响应 作弊卡 问题分析和解决方法
- Ubuntu下web开发 常见问题与解决方法
- MyEclipse+Tomcat开发Web项目时修改内容不能及时显示问题解决方法
- Eclipse中进行web project开发时遇到httperror 500 错误 jsp support not configured 问题的解决方法
- 后台服务器CPU使用率高 问题分析方法
- vue webpack开发访问后台接口全局配置的方法
- 项目开发中的小问题解决-----asp.net当后台传值到前台方法中 0001变成1 解决方法
- Web开发敏捷之道-应用Rails进行敏捷Web开发-第三版 在用rails3.2学习过程中遇到的问题及解决方法
- SpringMVC之前后台分离开发,联调时的跨域问题的解决方法
- win7 64位系统web项目导出excel问题分析及解决方法汇总
- WEB开发过程中遇到的各种问题及解决方法总结
- Java Web开发之访问路径问题分析
- 在web开发中出现的一些中文乱码问题解决方法
- web开发中的跨域问题解决方法
- 64位系统web项目导出excel问题分析及解决方法汇总
- 前端webview开发中遇到的一些问题及其解决方法
- web产品线上问题分析和处理方法