朋友问俺这个事情:
你遇到过这种情况吗?你的软件本来运行得好好的,但是客户的网络环境或服务器出了问题,软件受到了影响,但是客户不承认网络有问题,认为软件有问题。这种情况下,如何快速找到证据,证明是网络或服务器的问题呢?

俺说:“俺开始讲段子了”。

段子一:现在有很多专业的监控软件和机房维护系统。网络不正常、内存过高、数据库有耗时超长的语句、机房温度过高、有人进行软的或者硬的入侵(硬的就是有人带着头套,撬了机房)等等情况都可以短信报警。而且这些系统有完善的日志数据可以分析。

段子二:有一年,俺在一个客户(省中医院)那里上线系统。当时他们的一个科室的网络有点问题。局域网硬件问题,有时会断网。客户提了个要求,就是在操作中,如果突然断网,当前窗体的数据也能保存。检验报告能够查询和打印,和医疗设备之间的通讯(基本是串口)不能中断。如果网络恢复,本地的数据能够自动同步到服务器上。这么说吧,就是能连上服务器,就是普通的工作模式。连不上服务器,就走单机模式(本地还不能安装数据库,因为机器太多了)。俺们就加了很多很多的处理,满足了客户的这个需求。

段子三:俺曾经出的一个面试题:“17.    假设你要开发一个网络程序,客户端和服务端的通讯是采用压缩的传输,你如何选择压缩方式?假设需要传输的数据主要是一个数组,数组的数字,一般小于100,也有个别数字会比较大(大于65535),请你选择一个压缩算法。” 。俺写的参考答案就是:“权衡压缩率和计算代价。其实通讯领域上有个简单算法,小于128的数字用Byte,当大于128时,字节的高位置为1,表示这是一个大于128的数字,如和下一个字节一起计算。国内的一个著名的棋牌平台就是使用这种方式的。实际上这个是几十年前的单片机常用的。现在好像facebook也用了这个算法叫做zigzag。反正就是把那些0给压缩掉。实际上没有最好的,只有合适的,需要根据业务需求,数据特点进行选择。”

段子四:有一年,俺折腾一个物流的系统,不同的网络有各种数据服务器,校园网,电信,联通,华北,华南。。。数据的同步,分发等等 ,就是为了客户,没有卡顿感觉。

段子五:网络环境造成了软件除了问题,我们在记录日志的情况下,也要考虑相关的应对。例如:MQTT中的QOS中的 “至少一次”。例如:一些通讯协议中的校验和。校验和不是个摆设,他是有用的(俺以后会讲一个 示波器和通讯的段子)。例如:很多软件发布前会使用Network Emulator Toolkit工具模拟网络丢包,来测试软件的健壮性。

最后就是两个建议:
1、通过现有的工具或者自己写的程序,记录各种日志,例如服务器状态,网络状态,关键的几个客户端网络情况。要形成表格、图表,要能打印。能拿在手上和客户交流,而不是仅仅是用嘴说。
2、优化自己的系统,加强性能、健壮性的处理。要测试,要明确程序的运行要求。例如:什么配置的服务器,多少的网络带宽,能够支撑多少个并发客户。对数据库使用要有策略,数据库就是个数据库,并发数就是那样,不多也不少。

其实 最好的例子是:你收到了短信,短信的内容是,“某某服务器,有啥啥异常”。然后你给客户打了一个电话:“老张啊,你们那有个机器有点问题,是不是最近网络有点变化,或者你们内网里有机器不干净。最近那个啥啥路,开了个朝天锅,那天去尝尝?”

客户的网络环境或服务器的监控相关推荐

  1. 微软服务器 客户机,网络客户端和服务器技术简介

    网络客户端和服务器技术简介 已完成 7 分钟 关于网络的组成,你首先需要了解网络的构建方式. 服务器是网络的骨干. 通过混合使用集线器.交换机和路由器,可在整个网络中实现连接. 此知识适用于自己组织的 ...

  2. 《UNIX/Linux网络日志分析与流量监控》实验环境下载

    <UNIX/Linux网络日志分析与流量监控>实验环境下载 1.Ossim 4.1 虚拟机下载  (适合2~4G内存的服务器运行),该虚拟机压缩包内包含系统登录密码,Web UI登录密码需 ...

  3. 思科nat配置实例_思科3750交换机配置DHCP服务器实例网络环境

    思科3750交换机配置DHCP服务器实例网络环境: 一台3750交换机,划分三个vlan, vlan2 为服务器所在网络,命名为server.IP地址段为192.168.2.0,子网掩码:255.25 ...

  4. C语言限制双开关不同为1,网络环境下不同客户之间通信的C语言编程方法(第1稿)...

    网络环境下不同客户之间相互通信的C语言编程方法 大多数网络应用系统可分成客户和服务器两部分,他们之间的通信可能涉及两种方式:服务器和客户之间的通信,客户和客户之间的通信.本文主要阐明了网络环境下不同客 ...

  5. 服务器机房监控系统研究,机房环境及服务器运行状态的嵌入式监控系统设计

    摘要: 服务器所处的机房环境和服务器运行状态的集中监控系统已经成为机房实现无人或少人值守的必不可少的手段,它既可以起到减轻维护人员的工作量和降低人力成本作用,又可以达到保证计算机系统的安全可靠运行和提 ...

  6. 应对恶劣网络环境,为php-curl设置超时限制,防止服务器卡死

    挖洋货这项目,因为没有公司的名头,也就无法备案,所以前端机放在阿里云香港ECS,另配一台阿里云杭州ECS来跑crontab--执行爬虫.保存图片到阿里云OSS等.最近觉得杭州ECS有点多余了(原本还有 ...

  7. 服务器定期监控数据_机房环境监控的实践【斯必得智慧机房 】

    通过其他传感器整合环境--温度和试读/液体传感器只是智能数据中心环境监控的起步.很多地方需要消防警报.这些警报通常连接了建筑的灭火系统,它们也可以被整合进数据中心监控系统,让管理者发现火警立刻采取行动 ...

  8. 如何连接ipv6服务器_ipv4网络环境下测试ipv6网站 ipv6proxy.cn

    本文讲述如何在IPv4环境下测试IPv6网站内容 测试一个网站是否支持ipv6访问,有很多在线测试网址,比如下面几个,在网站页面输入框中输入你想要查询的域名即可. http://ipv6-test.c ...

  9. 基于Java的服务器应用监控系统设计与实现

    文档+任务书+开题报告+中期报告+答辩PPT+外文翻译及原文+项目源码及数据库文件 摘 要 随着各行业信息化建设的不断深入发展,单独的服务器已经再无法满足企业的需求.网络和应用规模日趋扩大,服务器网络 ...

最新文章

  1. es6 日期字符串转日期_量化数据预处理-中文日期(含)转英文日期
  2. C++中explicit关键字的作用
  3. oppo 手机侧滑快捷菜单_OPPO手机的十年之路,创新精神让品牌再升华
  4. BCI比赛数据集简介-BCI competition IV 2b
  5. 【深度思考】javaweb框架技术心得
  6. Unity3D游戏内存瘦身指南: UI优化是关键
  7. Swipper.js实现轮播功能
  8. linux启用shell脚本,linux下开机启动shell脚本
  9. [译] 我多希望在我学习 React.js 之前就已经知晓这些小窍门
  10. 什么是Apache Flink
  11. 计算机管理-共享打印,打印机局域网共享怎么设置?最简单稳定的方法:一键共享...
  12. IPD流程框架及实施关键点
  13. python局域网监控系统_python 局域网监控
  14. huge形式_huge什么意思怎么读
  15. ubuntu18.04 用LSD-SLAM跑通rgbd数据集以及地图重用
  16. 为什么变量命名不建议用汉语拼音
  17. dau、mau、pcu、dnu、wau、acu、uv分别是什么意思?
  18. 2012第50周星期一自制力网摘
  19. 基于retinex理论改进的低照度图像增强算法
  20. 数字图像处理 拜耳过滤器简介

热门文章

  1. 程序员上了年纪可以做啥?
  2. Unity3d游戏聊天匹配手机虚拟键盘
  3. 产品设计太难了!别怕,给你5个优秀案例照着学
  4. 中国文旅进入4.0时代,全域旅游掘金开启
  5. Android 腾讯Bugly使用(异常上报,全量升级,热更新)
  6. AirPods也会爆炸?关于可穿戴智能设备的安全性分析
  7. 会比Kubernetes和无服务器更有前途的是Istio
  8. 2021-08-05
  9. 服务式办公室出租,保证创业效率
  10. 苹果手机的OLED屏和LCD屏有什么区别?