Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Производительность денвера, Какой размер данных вы, Денвер  (Прочитано 10798 раз)
0 Пользователей и 1 Гость смотрят эту тему.
serg-php
Гость
« : 18-01-2008 19:47 » 

Столкнулся с проблемой перевода данных в .xls в базу доски объявлений.
Данные успешно импортировал в базу мускула (денвер), ~ 1400 строк, обновил 3 таблицы. Запускаю на денвере получаю - Fatal error: Maximum execution time of 30 seconds exceeded in Y:\home\localhost\www\euroinvest_com_ua\send_alerts.php on line 148

На денвере в php.ini я 30 секунд заменил 300 - работает, но очень медленно, учитывая, что база весит 4 метра.


из таблиц, методом тыка, обнаружил, что данное сообщение я получаю после импорта данных в таблицу пользователей.
Загрузка ЦП - 100% (атлон 2,5)
Подробнее о таблице:
CREATE TABLE `sbbleads_members` (
`sb_id` bigint(20) NOT NULL auto_increment,
`sb_username` varchar(255) default NULL,
`sb_password` varchar(255) default NULL,
`sb_firstname` varchar(255) default NULL,
`sb_lastname` varchar(255) default NULL,
`sb_email` varchar(255) default NULL,
`sb_street` varchar(255) default NULL,
`sb_city` varchar(255) default NULL,
`sb_state` varchar(255) default NULL,
`sb_zip` varchar(255) default NULL,
`sb_country` bigint(20) default NULL,
`sb_phone` varchar(255) default NULL,
`sb_fax` varchar(255) default NULL,
`sb_mobile` varchar(255) default NULL,
`tempdate` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
`sb_ondate` timestamp NOT NULL default '0000-00-00 00:00:00',
`sb_expiry_date` timestamp NOT NULL default '0000-00-00 00:00:00',
`sb_memtype` bigint(20) default NULL,
`sb_lastlogin` timestamp NOT NULL default '0000-00-00 00:00:00',
`sb_suspended` varchar(255) default NULL,
`sb_company` varchar(255) default NULL,
PRIMARY KEY (`sb_id`)
) ENGINE=MyISAM AUTO_INCREMENT=1471 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1471 ;

1) Это импорт данных с 1- 300 строки
INSERT INTO `sbbleads_members` VALUES (1, 'plazma', '123456', 'ООО "Компания', ' "Плазма"', 'info@plasma.com.ua', 'Харьков', 'Харьков', 'Харьковская', '61170', 206, '38-057-7548782', '38-057-7518723', '', '2008-01-07 00:39:20', '2007-12-01 23:21:04', '0000-00-00 00:00:00', 3, '2008-01-07 00:39:20', 'no', NULL);

2) Это импорт дополнительных 1100 строк (привожу последние 2 строки)

INSERT INTO `sbbleads_members` VALUES (1469, 'infosandingmasterru', '123456', 'Sandingmaster-ru', 'Россия', 'info@sandingmaster.ru', 'Россия', 'Россия', 'Россия', '00000', 2, '', '--', '', '2007-12-03 15:27:29', '2007-12-03 15:26:59', '0000-00-00 00:00:00', 3, '2007-12-03 15:27:29', 'no', NULL);
INSERT INTO `sbbleads_members` VALUES (1470, 'lenta005mailru', '123456', 'Павел', 'Россия', 'lenta.005@mail.ru', 'Россия', 'Россия', 'Россия', '00000', 2, '', '--', '', '2007-12-03 15:27:29', '2007-12-03 15:26:59', '0000-00-00 00:00:00', 3, '2007-12-03 15:27:29', 'no', NULL);

Сообщение получаю - импорт произведен успешно!
То же самое сделал с базой на хосинге, в отличие от Денвера - все работает!

Отсюда:
1. Где ошибка?
2. Если денвер парится, значит, не все правильно!
3. Если на хостинге при таких импортах все работает, то если я буду продолжать импортироватьтаким образом, возможно у меня возникнут проблемы с базой и на хостинге.

Проблему пока не нашел!
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 18-01-2008 20:02 » new

денвер, как сам понимаешь, плюшка для локальной отладки.
Реальные данные нужно проверять на реальном хостинге
если сервер не свой, то сложно сказать что-либо, не видя нагрузки сервера.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
serg-php
Гость
« Ответ #2 : 19-01-2008 13:09 » 

Я тестил , все работает нормально, с 300 записями табилицы пользователей, но увеличением базы засчет добавления данных в другие таблицы.

Как только добавлены данные в таблицу пользователей с 300 до 1500, тут начинаются тормоза!
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 22-01-2008 09:25 » 

serg-php, думаю, что тебе стоит копать в сторону настроек mysql-сервера - настроить буфера и т.п. вещи.
Кроме того, для массовой вставки полезно временно запретить индексы и разрешить их после завершения вставки - ускорение приличное. Правда, это оказывает влияние только на неуникальные индексы - их у тебя я не вижу (вдруг ты их просто не привел).
Код: (SQL)
ALTER TABLE TABLE DISABLE KEYS;

ALTER TABLE TABLE ENABLE KEYS;

Производительность связки php-mysql не столь высока, чтобы делать импорт-экспорт больших объемов за один запрос. Либо надо разбивать задачу на несколько коротких и выполнять за N запросов, либо выполнять бекап/востановление через командную строку (надо иметь доступ к оболочке хостинга).

Для примера: когда бекап этого форума достиг 50МБ, то возможности phpmyadmin-а перестало хватать. Сейчас объем около 80МБ и бекап делается только из оболочки.
« Последнее редактирование: 22-01-2008 09:31 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
serg-php
Гость
« Ответ #4 : 23-01-2008 17:45 » 

Мне бы узнать грамотна ли структура таблиц у меня?
Правильно ли скрипт по базе бегает?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 23-01-2008 19:35 » 

serg-php, приведи sql-код таблиц или графическое представление.

Цитата
Правильно ли скрипт по базе бегает?
Опять же - запросы в студию.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
serg-php
Гость
« Ответ #6 : 24-01-2008 20:07 » 

Моя подпись сильно мешала?

Как разместить часть кода скрипта или во вложении оформить?
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 24-01-2008 20:30 » 

обернуть тегом
]code[
]/code[

] заменить на [
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines