Stress test (was: Re: [squeak-dev] Re: New trunk server)

Levente Uzonyi leves at elte.hu
Mon Jan 11 09:43:05 UTC 2010


On Sun, 10 Jan 2010, Andreas Raab wrote:

> Bert Freudenberg wrote:
>> Rock!
>> 
>> Let's watch if that fixes the next Multilingual package upload ...
>
> Works all right so far, but I think we still got two problems:
>
> 1) Does anyone have an idea where the double line ends come from when mailing 
> out the diffs? It's really annoying. Any pointers to where to start looking 
> at would be greatly welcome.
>
> 2) Does anyone feel as if we're getting a higher number of connection 
> failures than usual? It could be an issue on my end but I somehow doubt that. 
> I seem to getting connection failures about 20% of the time when trying to 
> update. It's quite noticable.
>

I did a bit of stress testing, by uploading a few packages one after 
another. There was no problem during the uploads, but when all uploads 
were finished it took 20-30 seconds for the server to respond for the next 
few 1-2 minutes. I guess it's related to the gc settings, so tweaking them 
may help. For a reference, here are the "seaside defaults":

SmalltalkImage current
    vmParameterAt: 5 put: 100000;
    vmParameterAt: 6 put: 35000;
    vmParameterAt: 24 put: 16 * 1024 * 1024;
    vmParameterAt: 25 put: 8 * 1024 * 1024.
Smalltalk
    setGCBiasToGrowGCLimit: 16 * 1024 * 1024;
    setGCBiasToGrow: 1

The uploaded changes were produced with the code critics feature of 
OmniBrowser. I think we should use it regularly, because it can point out 
issues which could be hard to find otherwise and there are plenty of 
issues to be fixed. They are bit broken at the moment, so running them on 
the whole image needs a few fixes.
Some issues are easy to fix, others require deep understanding of the 
system.

Some categories which should be fixed (number of possible issues):
Messages sent but not implemented (571)
Sends unknown message to global (36)
Subclass responsibility not defined (82)
Instance variable capitalization (4)
Temporary variable capitalization (5)
Inconsistent method classification (324)
Non-blocks in special messages (24)
Unnecessary assignment or return in block (45)
Uses "(a and: [b]) and: [c]" instead of "a and: [b and: [c]]" (78)
Uses (to:)do: instead of to:do: (23)
Variable is only assigned a single literal value (44)
Instance variable overridden by temporary variable (21)
Possible missing "; yourself" (490)
Returns a boolean and non boolean (42)
Subclass of collection that has instance variable but doesn't define copyEmpty (1)
Menus missing translations (75)
Method source contains linefeeds (123)
Assignment has no effect (22)
Check for same statements at end of ifTrue:ifFalse: blocks (43)
Instance variables not read AND written (209)
Method just sends super message (17)
Variable referenced in only one method and always assigned first (69)
Variables not referenced (266)

I hope we can decrease these numbers soon.


Levente

> Cheers,
>  - Andreas
>
>



More information about the Squeak-dev mailing list