分类目录归档:玄学

数据库作死指南(二)——优化

一、配置

首先有一点必须要明确,数据库服务器配置越强,肯定跑的越快。最影响数据库性能的肯定是硬盘,因为数据库的可靠性是靠写入磁盘实现的,由于短板效应,硬盘这个计算机最慢的东西决定了性能。SSD 是高性能最不可缺少的一部分,而且对于 SSD 来说,容量越大,速度越快。对于云主机来说则有一个 IO[……]

继续阅读

windbg调试多线程异常

最近在大量把单线程功能改写成多线程,因为作死、弱智等原因,经常写出大量bug,其中调试遇到各种困难,在这里介绍一例未知原因崩溃的排错过程。

如图,在事件管理器中发现程序死于UnhandledException,且未记录抛出异常的代码行号。在毫无头绪的情况下只能在此祭出调试神器windbg。[……]

继续阅读

Windows上CpuGroup与.net进程与垃圾回收

起因是运维强烈认为偶发 CPU 使用率100%是一个不好的现象,我查了告诉他们原因是多线程并发垃圾回收导致 CPU 使用率高。他们要我解决这个问题,我只能想办法解决垃圾回收使用的 CPU 核数。

参考 .net 垃圾回收GCCpuGroup 配置

大致能得到如下配置,能满足运维的降[……]

继续阅读

偷懒的垃圾回收

最近应需求写了一个oracle到mysql的数据导入工具,本来想随便写写,直接把数据一次读到内存然后再写。后来发现性能略差,就试图做点性能优化,使用IDataReader,一边读一边写,然而mysql写速度根本跟不上oracle读速度,而且测试机只有双核4线程,开4个写线程CPU75%,6个写线程就[……]

继续阅读

关于Event 5152 和 .net 垃圾回收的一些事

出问题的程序还是那个CPU100%的程序(就你事情多)。反正就是在查CPU占用率100%时顺带发现的,在进程垃圾回收期间,服务停止响应,没有接口调用,没有调用日志,没有错误日志,在事件管理器的安全子类下出现大量 Event 5152 的审核失败日志,如图。

其中这个 Event 515[……]

继续阅读