Toon posts:

Webserver website bezoeken en downloaden tegelijk

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor een klant ben ik bezig met een website waar bezoekers films kunnen uploaden en films kunnen downloaden. Tevens biedt de website de mogelijkheid om een preview van de film te bekijken.

Het gaat om een Strato VPS server. Hij is helemaal ingesteldt en de website is ook helemaal gereed en getest. Echter loop ik nog tegen een probleem aan.

Wanneer er een film wordt gedownload dan kan je de website niet tegelijk bezoeken. Je moet dus eerst wachten tot je download klaar is. Dit is niet echt handig, vooral niet als de downloads maximaal 200 MB kunnen zijn.

Ik dacht de oplossing te hebben door mod bw voor Apache te installeren. Deze heb ik dan ook ingesteld en werkt ook. Een bezoeker kan met een lagere snelheid downloaden, maar geen succes.

Ik heb veel gezocht op internet en veel fora's en websites doorgepluisd op bruikbaar materiaal, maar ik kan niet echt een oplossing vinden.

Als ik met IE een film download kan ik met dezelfde browser de website niet bezoeken. Als ik daarnaast Firefox start kan ik de website wel bezoeken als is het tegen een beperkte snelheid.

Mijn vraag is of iemand weet wat de oplossing is, of in welke richting ik moet zoeken. Het gaat om een OpenSuse 10.3 webserver.

  • ChillerBG
  • Registratie: Februari 2008
  • Laatst online: 19-11-2025
Hoi,

Ik weet niet welke webserver je gebruikt (OpenSuse is OS, geen WebServer), maar ik denk dat je in de richting van de aantal sessies moet zoeken. Het lijkt erop, dat op het moment dat webserver al een gebruiker bedient, dat ie 'wacht' totdat dat slot klaar is.

Dus - er is vast ergens instelling in webserver waardoor een gebruiker meer dan een slot / sessie zou mogen gebruiken.

Meer specifiek kan ik helaas niet wezen, maar denk dat je in iedere geval in de goede richting hiermee zou slaan.

Succes!

Mvg,
Aleks

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Geen idee waar je specifieke probleem in zit ( ik vermoed geen sessie coding oid want met een andere client werkt het blijkbaar wel ). Of bedoel je in IE downloaden en daarnaast FF gebruiken om te browsen, want dan is het idd een coding / session probleem, elke browser opent een nieuwe sessie namelijk. ( maar als je het al met 2 gebruikers een snelheidsverschil merkt dan zou ik goed kijken naar de rest van de code, want met 10 gebruikers zal het enkel nog meer inzakken )

Maar wat ik je zou aanraden is om het systeem in 2'en te hakken en bijv je downloads via een apart domein / subdomein te verzorgen. Alle browsers hebben nog steeds een max aantal concurrent downloads op 1 domein en ik durf even niet hardop te zeggen of de downloadmanager in een browser de download meetelt voor het max aantal...
Verwijderd schreef op woensdag 30 december 2009 @ 22:04:
De kans is groot dat het gaat om het aantal connecties. De meeste browsers zijn zo in elkaar gezet dat ze bijvoorbeeld maar 2 simultane connecties naar dezelfde host toestaan. Probeer eens om de downloads via een andere domeinnaam aan te bieden.
2 is wel heel erg oud afaik. Dat was in de tijd van IE5 ofzo? IE8/FF3/Safari etc ondersteunen volgens mij allemaal 8, maar alsnog 1 download is maar 1 connectie dus er zou wel iets moeten binnenkomen

[ Voor 25% gewijzigd door Gomez12 op 30-12-2009 22:15 ]


Verwijderd

De kans is groot dat het gaat om het aantal connecties. De meeste browsers zijn zo in elkaar gezet dat ze bijvoorbeeld maar 2 simultane connecties naar dezelfde host toestaan. Probeer eens om de downloads via een andere domeinnaam aan te bieden.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

PHP's standaard gedrag met sessie-files is dat ie ze locked... Dat betekent dus effectief dat je de requests serialized en bij een download (als die dus vanuit php doorgezet wordt) of andere slome pagina zal dat dan duidelijk opvallen.
Het door jou beschreven gedrag met losse browsers lijkt me daar een sterke indicator om in ieder geval eens te kijken hoe sessies verwerkt worden als er inderdaad sprake is van PHP (of een ander systeem met file-based sessies).

Als hier inderdaad sprake van is, kan je kijken naar een memcached- of mysql-based sessiehandler.

Verwijderd

ACM schreef op woensdag 30 december 2009 @ 22:39:
PHP's standaard gedrag met sessie-files is dat ie ze locked... Dat betekent dus effectief dat je de requests serialized en bij een download (als die dus vanuit php doorgezet wordt) of andere slome pagina zal dat dan duidelijk opvallen.
Dat zou ook nog kunnen. In dat geval moet je gewoon session_write_close aanroepen zodra je klaar bent om de data door te gaan sturen. Anders heb je kans op allerlei wazige bijeffecten.

Verwijderd

Topicstarter
Ik maak gebruik van Apache webserver + mysql db + php.

De website maakt gebruik van PHP sessies om te controleren of een gebruiker en welke gebruiker precies is ingelogd. Dat bedoelen jullie toch?

Dat zou betekenen dat downloads buiten sessies om geen problemen mogen veroorzaken? Dat wil ik als eerste gaan uit testen.

Bedankt alvast voor jullie vele reactie!

Verwijderd

Topicstarter
Ben vandaag weer bezig geweest met het download probleem.

Werking download systeem:
Een gebruiker geeft aan dat hij een film wilt downloaden, de website controleert vervolgens of hij die mag downloaden. Er wordt namelijk gewerkt met abonnementen. Na goedkeuring wordt er een download link getoond en kan de gebruiker de film downloaden. Door te klikken op de link wordt er een 'nieuw' venster geopend en wordt de download direct gestart (gepusht).

Blijkbaar maakt de download pagina ook gebruik van een sessie.
Ga kijken of ik dit tijdelijk uit kan schakelen.

Echter als ik een tijdelijk bestandje aanmaak en daar een aantal directe links naar films plaats. Dan kan ik die downloaden en de website ondertussen bezoeken in een nieuw scherm / of andere browser.

[ Voor 12% gewijzigd door Verwijderd op 04-01-2010 12:20 . Reden: Download pagina maakt wel gebruik van sessie waardoor eerdere context niet klopt. ]


Verwijderd

Topicstarter
Verwijderd schreef op woensdag 30 december 2009 @ 23:11:
[...]

Dat zou ook nog kunnen. In dat geval moet je gewoon session_write_close aanroepen zodra je klaar bent om de data door te gaan sturen. Anders heb je kans op allerlei wazige bijeffecten.
Dit was de oplossing!

Zo kan ik ook de sessie beveiliging erin houden.

Ik kan nu downloaden en de website bezoeken!

Nog een laatste vraag:
Ik kan via de commandline in OpenSuse het commando zypper update uitvoeren. Ik krijg dan een overzicht te zien van paketten die verandert zijn. Is het wijs die telkens ook te installeren aangezien het verbeteringen zijn en misschien ook op beveiligingsgebied?

  • Hipska
  • Registratie: Mei 2008
  • Laatst online: 29-01 15:27
Ja, maar doe dit niet op een live/production server, maar test je code e.d. met deze nieuwe pakketten eerst uit op een test server (oud bakje thuis, of vmware)

Verwijderd

Topicstarter
Hipska schreef op maandag 04 januari 2010 @ 13:02:
Ja, maar doe dit niet op een live/production server, maar test je code e.d. met deze nieuwe pakketten eerst uit op een test server (oud bakje thuis, of vmware)
Ok, bedankt voor je antwoord!
Pagina: 1