The resource of a software come from these three components:
However there is coherence between this resources I try to handle these as separate parts of the project. But if a modification has a big impact in one component but this decrease the overall performance I have to doubt it.
Remarks by David
“When the last reference to an object goes away, the object is automatically destroyed.. (This may even be after you exit, if you've stored references in global variables.)”
Remarks by Andras
Remarks by David
Remarks by the team
Remarks by David
Remarks by Andras
With the first two I can't do anything. Maybe regularly should be freed in the loop if didn't consists valid information. The third one is a serious problem I have to go deeper and check around the subrutines...
Remarks by David
Remarks by David
Remarks by David
Remarks by the team
We think that the best rate effort / result for you would be obtained by focusing an the bulk.pl daemon modifications, the wwsympa.fcgi process (especially the global variables) and maybe the memory leaks in sympa.pl, as you could use the results of the experiments led by Olivier and reproduces at the bottom of this page.
Remarks by David
Remarks by David
Remarks by David
Remarks by David
My suggestion: At the MTA→sympa communication implement LMTP. LMTP is an extension of ESMTP where the receiver can reject a letter on per recipient basis. So no need to write the message to the disk.
Disadvantages: * Limited queue: because of the sympa.pl is a single thread app, the queue is limited by the OS TCP queue * The priority system can't be implemented: the sympa.pl become a FCFS system.
Remarks by David
Remarks by the team
Facts noted by Olivier Salaün.
sympa.pl processes see their memory concumption brutally rise.
Characteristics:
Methodology:
ps auwx to know the size of the process (le figure to take into account is RSS, expressed in kB)Tools:
A test reveals the problem while sending a 26 MB message, rejected by sympa.pl:
The parts of the code in which memmory consumption rise (base=message de 26Mo) :
Remarks by Andras
</box>
Remarks by Andras
Remarks by Andras
Remarks by Andras
Remarks by Andras
Remarks by Andras
Remarks by Andras
Remarks by Andras
Remarks by Andras
Remarks by Andras
To sum up, the memory consumption rise when:
Remarks by Andras
Possbile solutions:
Remarks by Andras
Remarks by Andras
Remarks by Andras