Много гаден проблем
13 отговора
387 прегледа
Много гаден проблем
Разработвам един доста голям сайт и понеже сървъра вече издъхва се появи един много гаден проблем:
Образно казано е следното:
Имам main.php в който include-вам отначалото sub.php който обработва информация като прибавя стойности към една таблица, след това затваря редовете като сетва променлива status=done.
Но работата е там, че когато потребителят кликва устоичиво многократно на REFRESH - този скрипт се изпалнява многократно.
Наистина не знам как да се справя с този проблем, някой има ли идеи??
[линк]
Образно казано е следното:
Имам main.php в който include-вам отначалото sub.php който обработва информация като прибавя стойности към една таблица, след това затваря редовете като сетва променлива status=done.
Но работата е там, че когато потребителят кликва устоичиво многократно на REFRESH - този скрипт се изпалнява многократно.
Наистина не знам как да се справя с този проблем, някой има ли идеи??
[линк]
Re: Много гаден проблем
при инклуд проверяваш дали има сетнато сейшън статус и ако е то дали е дон, ако не е инклудваш там и вършиш тарикатлъка, ислед което сетваш сейшън променлива - това е най-елементарното и най-бъързото което може да се направи.
Re: Много гаден проблем
Човече това направих първо :)
Даже права usleep s random число от 200 000 до 3 000 000 микросекунди ... освен това инклудвам само на повече от 1 минута (помна с бисквитка)
пробвах и с LOCK на таблиците в mysql - при което ми блокира сървъра за минути просто.
Други идеи плсссссс
[линк]
Даже права usleep s random число от 200 000 до 3 000 000 микросекунди ... освен това инклудвам само на повече от 1 минута (помна с бисквитка)
пробвах и с LOCK на таблиците в mysql - при което ми блокира сървъра за минути просто.
Други идеи плсссссс
[линк]
Re: Много гаден проблем
Ами пак има случаи в които се изпалняват заявките двойно .... сякаш кода ми се изпалнява 2 или повече пъти с 1-2 реда закъснение ... и това е лошо.
Просто ако един превод е бил 200 лв става 400 лв .... представи си за по големи цифри.
[линк]
Просто ако един превод е бил 200 лв става 400 лв .... представи си за по големи цифри.
[линк]
Re: Много гаден проблем
Доста е да ....
~500 000 посещения на ден.
От тогава почна да ги прави тия проблеми.
Но съм сигурен, че трябва да има начин да се оправи това
[линк]
~500 000 посещения на ден.
От тогава почна да ги прави тия проблеми.
Но съм сигурен, че трябва да има начин да се оправи това
[линк]
Re: Много гаден проблем
Твой ли е? Ако е твоя опитай понастройване на apache-to или какъвто ти е сървъра... ако е много натоварен наистина нещата може да не могат да се оправят без оптимизация на сървъра... или пък на скрипта... дай малко повече инфо по въпроса за да ти дам съвет... като начало ми кажи (ако знаеш) каква е машината/те...
Day after day, love turns grey
Like the skin of a dying man
Day after day, love turns grey
Like the skin of a dying man
Re: Много гаден проблем
изглежда, че ДБ се бави, то ест зисковети операции, пробвай да сетваш променливата преди заявка, но това няма да те спаси много. Май имаш нужда от ъпгрейд на хардуер.
Re: Много гаден проблем
абе ти друго кажи, какво да се прави когато следваща заявка за изпълнение на скрипт от същия клиент идва преди да е приключила предишната.
Re: Много гаден проблем
едно малко глупаво предложение, създаваш нова таблица с едно поле SID, и преди всeеки инсърт търсиш за SID, и ако го няма го добавяш, и правиш инсърт-а, а ако го има, нищо не правиш ;)
Re: Много гаден проблем
Абе при около 500 хил. посещения на ден (както беше писано по-горе), не мисля че е добра идея да се утежнят ептем нещата с още един INSERT (на SID-a) и контролен SELECT по някое време след това.
Мисля си, че сет-ването не едно SESSION флагче при INSERT е далеч по-добре. Както и ъпгрейд на хардуера и връзката. Друго спасение не виждам.
Мисля си, че сет-ването не едно SESSION флагче при INSERT е далеч по-добре. Както и ъпгрейд на хардуера и връзката. Друго спасение не виждам.