原则上来讲任何程序都需要考虑资源的回收和分配。在我之前写C++的时候,在定义好类之后,写析构函数就像写构造函数一样重要,析构函数中一定会手动释放资源。现在很多高级编程语言自动做到了内存资源自动回收,往往使我们忽略了资源回收的重要性。
DB查询也是导致资源紧张的主要原因之一。已经发生过很多次由于DB查询结果数量过多,导致server内存资源紧张的情况。这种安全的做法可以是先查出来总数量,如果过大则警告,或者分批次处理等等。
往往做性能优化的时候我们总是会想到多线程并发。我之前看过的很多书都会不约而同的写到,使用多线程就会提升效率是一个错觉,分配资源本身就会牺牲掉很多的性能。所以当我们代码中引入多线程的时候一定要提前认真考虑好维护的代价。
包括书中提到的文件读取,可以让QA测试需要读取ftp文件的功能的时候,做大批量文件的测试,确保开发做了资源释放。
网友评论