![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
forumuser |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 24.3.2003 Репутация: нет Всего: нет |
Есть скрипт, который выдает сумму скачанного трафика ориентируясь по IP посетителя. Так вот если выполнять запрос даже лишь по одной дате, время выполнения составляет 3,минимум 2, секунды! Это нормально или я что-то криво сделал.
#!/usr/bin/perl use DBI; use CGI qw(:all); ########################################################### ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time); $hour="0".$hour if length($hour)==1; $min="0".$min if length($min)==1; $sec="0".$sec if length($sec)==1; $first_time = $hour.$min.$sec; ########################################################### my $dbh = DBI->connect("DBI:mysql:database=name;host=xxx.xxx.xxx.xxx","user", "pass") || die $DBI::errstr; ########################################################### my $ip=$ENV{'REMOTE_ADDR'};#определение ip адреса $date1=param('date1');#присвоение переменной первой даты из формы $date2=param('date2');#присвоение переменной второй даты из формы ########################################################### my $ID=$dbh->prepare("SELECT * FROM filter_ip WHERE IP_address='$ip'"); $ID->execute; my $viv=$ID->fetchrow_hashref(); my $id=$viv->{"Filter_ID"}; ########################################################### my $IB=$dbh->prepare("SELECT * FROM traffic WHERE ts BETWEEN '$date1' AND '$date2' AND filterid='$id'"); $IB->execute; my $iv=$IB->fetchrow_hashref(); my $summa=$iv->{"recv"}; ########################################################### $shotsumma=($summa/1024)/1024; $shotsumma=sprintf "%.3f",$shotsumma; ########################################################### ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time); $hour="0".$hour if length($hour)==1; $min="0".$min if length($min)==1; $sec="0".$sec if length($sec)==1; $second_time = $hour.$min.$sec; $end_time = $second_time - $first_time; ########################################################### print "<html><head><title>Результат подсчета</title></head><body>"; print "<table align=center border=1>"; print "<tr><td><font size=4>За период с <b>$date1</b> по <b>$date2</b> скачано <b>$shotsumma</b> Мб (=$summa байт) </font></tr></td>"; print "<tr align=center><td><font size=4>Ваш IP адрес <b>$ip</b></font></td></tr>"; print "<tr align=center><td>Время выполнения запроса $end_time секунд</td></tr>"; print "</table>"; print "<table align=center border=0>"; print "<tr><td>"; print "<FORM ACTION='/cgi-bin/forma_traffic.pl' align=center>"; print "<INPUT TYPE=submit VALUE='Назад'>"; print "</tr></td>"; print "</table>"; print "</body></html>"; ########################################################### $dbh-> disconnect(); ########################################################### Ось на которой стоит MySQL NT4. |
|||
|
||||
kronon |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 22.3.2003 Репутация: нет Всего: нет |
Вряд ли это ускорит, просто бросилось в глаза:
вместо print " html code "; print " html code "; ........................... print " html code "; лучше пиши для уменьшения кода print <<"abc"; html code ..... .... html code abc; # abc - любое сочетание букв ещё ты не забыл сделать индексы по используемым в запросах полям, особенно по датам? |
|||
|
||||
forumuser |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 24.3.2003 Репутация: нет Всего: нет |
Ну ка, ну ка, поподробнее по поводу индексов, может я ничего об этом не знаю! Что это такое?
|
|||
|
||||
HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: нет Всего: 42 |
1)Если это сервер, то возможно он перегружен и скрипт действительно тормозит.
2)Попробуй поставить dissconnect сразу после fetch 3)Ns грузишь весь! модуль CGI и не где им не пользуешься?! Не понял... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |