开发者

Does apache / php blocks a single file to be processed from the same client concurrently?

I have everything setup and running with KalturaCE & Drupak and the server (Ubuntu 8.02+Apache2+PHP5+MySql) is work开发者_如何学运维ing fine. The issue here I am having is unclassified.

When I play two videos together from my site, the second video which I played later doesn't start until the first completes its buffering. I did some HTTP watch and came to know that, both of the entries request the file with the URL as follows,

/kalturace/p/1/sp/100/flvclipper/entry_id/xxxxxx/flavor/1/version/100000

so the first video which I played receives a 302 redirect response to the URL as follows,

/kalturace/p/1/sp/100/flvclipper/entry_id/xxxxxxx/flavor/1/version/100000/a.flv?novar=0

and starts buffering and playing. While the second video which I started later just wait for a response till the first video end its buffering and then the second video receives its 302 redirect and start buffering

My question is, why can't both videos buffer concurrently? and Obviously this is what I require.

Your help is highly anticipated and much welcome.


PHP file-based sessions will lock the session file while a request is active. If you intend to use parallel requests like this, you'll have to make sure each script closes the session as soon as possible (ie: after writing out any changes) with session_write_close() to keep the lock time to a minimum.


I found the solution to my problem and it was surely the Marc at first place suggested but it was some problem with mysql timeout as well.

So putting session_write_close() in both the files at right places solved my problem.

For a complete overview please visit the suggested thread at http://www.kaltura.org/videos-not-playing-simultaneously-0


I posted several suggestions at http://drupal.org/node/1002144 for the same question, this is one of them:

In Apache space, a possible cause might be MaxClients (or, the capacity of your Apache server to respond to multiple requests). If that apache setting or server capacity is low, then the server may be dropping your connections into its backlog until the first connection is completed. You can test this using regular large files which take some time to download on the server - that will establish whether it's KalturaCE or Apache which is causing the issue. To see this you'd either need a site which is already sitting at max for MaxClients (ie, not an unused dev site), or a very low MaxClients setting (like, 1!).


Another suggestion posted at http://drupal.org/node/1002144 for the same question -

It's possible that this behaviour might be due to a mysql query lock. If KalturaCE's SQL was locking a table until the first request is completed (I have no reason to believe this is the case, just floating possible causes), then a second request might hang like this.

I'm not familiar enough with CE to suggest that this is the case, but you could easily debug using mtop on the server during the request to see if this is what's actually happening.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜