Subject Re: [firebird-php] Re: Webserver crash due to Ibase problems
Author Jochem Maas
Mikael Krogius wrote:
>>Lester Caine wrote:
>>increase the memory/connections available/used by firebird?
>
>
> You wouldn't have more information about changing connections/memory
> settings? I have played with the pagesize & sweep without any
> noticable difference. Read the "10 things you can do to make interbase
> scream" and didn't find anything that helped there either.
>
>
>>use a RAM disk for storing temp data (for firebird and php)?
>
>
> Thought about it, but this isn't a performance problem really.
>
>
>>make sure you are not suffering from problems related to locking
>>of session files (which can be a problem for concurrency, because
>>requests from a single browser can pile up when then all want to
>>start/use the session, rather than being handle in parallel)
>
>
> I am not sure I fully understand. What session files? How can I
> prevent locking of them?

php session files, if you have concurrent requests going on using a
single session id then those requests have to be handled in series,
because each request needs to open the relevant file containing session
data, read and possibly write to it.

>
>
>>>in the short term. It would be nice to know hoe FB1.5 performs!
>
>
> In reply to this earlier question, FB1.5 has the same problems. Only
> difference is that when using FB1.5 the webserver-service does not
> crash, it only hangs and the system can't even restart it.
>
> Changes back to Apache, rewrote the whole chat first to use one
> transaction for every separate query, and then changed it to use one
> global transaction for each pageload (2-30 queries depending on what
> the chatter is doing) and same problem still. Really, I started with
> using ibase_query and changed every single query to use ibase_prepare
> and ibase_execute with a transaction identifier and none of this made
> any difference.

are you explcitly calling ibase_commit() / ibase_rollback() ?
if not the whole transaction will be held up until the end of request.

are you using ibase_connect() or ibase_pconnect() ?

have you tried opening a readonly transaction for those queries that
are just SELECTing stuff?

>
> now, I have a script that restarts apache every 5 minutes in order for
> the service to stay up. If I restart every 10 minutes it does not work
> because if the apache once hangs (just like sambar) then a restart
> does not help - FB must also be restarted and a couple of minutes must
> pass before restarting (otherwise apache just hogs memory instantly
> and hangs).
>
> It's all been very educational in regards to using Ibase and PHP, but
> I can't figure out why it keeps crashing... It is a mystery and I have
> run out of ideas of what I could change anymore to make a difference.
> I even rewrote the tables so that most UPDATE queries related to
> gathering statistics (loads/messages/logins/logouts etc.) would be
> INSERTS into another table to avoid deadlocks and then I consolidate
> the data from the other table every now and then...

you have got good indexes right?

>
> - Mikael
>
>
>
>
>
>
>
> Yahoo! Groups Links
>
>
>
>
>
>