我正在测试我编写的多线程服务器应用程序的负载,以确定它可以在某些硬件上处理的最大连接数。
在此服务器上运行无头客户端时,我达到了可以看到机器中所有内核完全饱和的状态,此时应用程序崩溃并挂起(它注册一个中断信号,然后将其发送到它的处理程序,但不能完全退出)。
我想知道,如果我期望程序在正常执行的所有点都能干净利落地处理退出信号,是否认为超载硬件CPU限制可能会破坏“正常执行”并因此导致无法预测的行为,例如程序挂起?
当我故意重载CPU时,是否可以对程序进行任何假设,除了执行将不再正常进行之外,或者还有其他需要考虑的问题,例如程序中的错误?
感谢所有帮助!