[Seaside] Concurrent requests from multiple sessions

Sven Van Caekenberghe sven at stfx.eu
Fri Mar 6 14:55:40 UTC 2015


> On 06 Mar 2015, at 11:17, wilwarin <Ondrej.Altman at seznam.cz> wrote:
> 
> We didn't know, where our problem lies, so we tried a similar test with a
> single page with a difficult calculation inside. Then we tried the same in
> Pharo to exclude the problem in VAST. Both with the same results.

I just tried the following on Pharo 4 with Seaside 3.1, in a WATask

go
  self inform: 'WATest1 ready.'.
  (self confirm: 'Wait 30s ?')
    ifTrue: [ 
      (self confirm: 'Do some benchmarking ?')
        ifTrue: [ 
          self inform: ([ 100 factorial ] benchFor: 30 seconds) asString ]
        ifFalse: [ 
          30 seconds wait.
          self inform: 'Back from waiting 30s' ] ]
    ifFalse: [ self inform: 'OK then, I did not wait' ]

In both cases, you can do other work during the 30s. Of course, things will get quite slow during the benchmarking, but that is logical since you are pushing the machine 100%, consuming all CPU power.

Like Jan suggests, some DB interfaces are blocking, effectively killing (serialising) multiprocessing. I know that PostgresV2 is not like that, since it uses a TCP networking interface.

But that problem (not being able to process concurrent requests) is certainly not inherent to Seaside or Pharo. If that were the case we should all stop using it.

Sven



More information about the seaside mailing list