Добрый день. Вот и случилось. Сегодня столкнулся, лицом к лицу, с ошибкой автора темы, хотя до этого только "симптоматика" была схожей.
До сегоднешнего дня мной выгружались лишь товары со статусом наличия и со статусом предзаказ - товары со статусом "нет в наличии" не выгружались, и были отключены.
Решили сделать некоторую ревизию за весь период, и обновить seo, наименования, артикулы, цены и придать статус "вкл" всем товарам, что отсутствуют, так как вычитал, что - по хорошему, лучше чтоб отсутсвующие товары все равно были активны, и могли просматриваться покупателями для большей индексации, но не суть...
Таких товаров оказалось больше, чем тех, что были в наличии. В наличии обычно не больше 19т. Сегодня в выгрузку с отсутствующими в наличии товарами выпало 40,5т.
И вот тут, после, уже привычных, получаса ожидания выгрузки на сайт, выдало ошибку.
Подумал, что в настройках что-то нето... так как статус наличия товара формируется на основании того, у какого поставщика он есть/нет и с помощью SQL запросов, решил, что убрать SQL запросы и убрать галочку с "Выгружать данные только выбранных контрагентов" может стать моим "спасательным кругом"... запустил снова экспорт... и снова полчаса ожидания... и снова ошибка.
Хм... вбиваю в форму "Время ожидания операции истелко"- Ответ неумолим: "Подходящих сообщений не найдено, поскольку слово
истелко нигде не встречается". Почти случайно наткнулся эту тему.
Начал действовать согласно рекомендациям:
e-special писал(а):Скорость интернета не влияет на ошибку. Влияют настройки хостинга на котором находится сайт. Обрететесь в к хостингу для увлечения времени, которое выделяется для выполнения скрипта.
Так же можете выслать нам БД для проверки.
Забыл напомнить, что
ВСЁ ПРОИСХОДИТ НА DENWER (
http://www.denwer.ru/), что дает определенную волю в экспериментах.
Открываю HTACESS:
php_value upload_max_filesize 999M
php_value post_max_size 999M
php_value max_execution_time 300000
php_value max_input_time 200000
Окрываю php.ini:
magic_quotes_gpc = Off;
register_globals = Off;
default_charset = UTF-8;
memory_limit = 2000M;
max_execution_time = 300000;
upload_max_filesize = 999M;
safe_mode = Off;
mysql.connect_timeout = 200000;
session.use_cookies = On;
session.use_trans_sid = Off;
session.gc_maxlifetime = 12000000;
allow_url_fopen = on;
Окрываю admin/php.ini:
magic_quotes_gpc = Off;
register_globals = Off;
default_charset = UTF-8;
memory_limit = 2000M;
max_execution_time = 300000;
upload_max_filesize = 999M;
safe_mode = Off;
mysql.connect_timeout = 200000;
session.use_cookies = On;
session.use_trans_sid = Off;
session.gc_maxlifetime = 12000000;
allow_url_fopen = on;
Открываю HTACESS файл в папке HTTP tunnel, там:
<IfModule mod_php.c>
php_value max_input_time 600000
php_value post_max_size 999M
php_value memory_limit 2000M
php_value max_execution_time 300000
php_value upload_max_filesize 999M
</IfModule>
На всякий случай, снова, конфиг железа:
Miloslavskij писал(а):Прошу рекомендаций по повышению скорости экспорта через туннель... мы экспортируем на денвере, экспорт занимает около 20 минут, товаров от 15 до 20 тысяч, конфиг машины след.:
Проц - core i5 3570K (не разгоняли),
озу - 8 гб,
жесткий - sata3 WD5003AZEX,
мать - GIGABYTE GA-Z77MX-D3H
win 2008r2
CMS - Ocstore 1.5.5.1
Хотелось бы уменьшить время экспорта до 5-7 минут хотя бы, соответсвенно вопрос - Что, где "подкрутить"?
Проверил экспорт только товаров со статусом наличия "Есть" и "Подзаказ" -в экспорт "падает" 17,5т. товаров и
ВСЁ РАБОТАЕТ!, долго правда ппц просто, но всё-таки...
Прошу помощи - как решить проблему с ошибкой?
Заодно и Денису ответил:
Денис писал(а):Miloslavskij, а в настройках MySQL на самом денвере ковырялись или все по умолчанию стоит?
выше описаны все мои ковырялки в денвере, больше вроде ничего не делал...
Также, предлагаю всё-таки вынести на голосование реализацию идеи работать напрямую с MySQL по 3306 порт:
http://elbuz.reformal.ru/proj/elbuz?ia=649322
TechAdmin писал(а):This script allows you to manage database server even if the corresponding port is blocked or remote access to database server is not allowed.
На данный момент в ПЛИ и СС нет возможности работать напрямую с MySQL по 3306 порту, это планировалось сделать, но скорость обновления сайта через "туннель" достаточно велика, поэтому такая потребность отпала, более того, подавляющее большинство хостингов (90%) запрещает использование прямого доступа к БД сайта, поэтому данная возможность будет мало востребована и смысла её использования нет, потому как использование "туннеля" по скорости достаточно приемлема для обновления сайта, поэтому не планируется доработка ПЛИ и СС для работы напрямую с MySQL по 3306 порту. На видео был показан процесс обновления сайта на базе WebAsyst ShopScript, показана выгрузка каталога товаров с количеством ~30000, весь процесс занял ~3минуты, из них непосредственно на работу с сервером БД MySQL было затрачено ~1:30мин, остальное время это выгрузка категорий и товаров из ПЛИ во временный файл для обновления сайта. Всего полторы минуты на обновление БД сайта...
"Данный сайт использует стандартный виртуальный хостинг со всеми вытекающими. Мы пошли со своей стороны на некоторые уступки и выделили больше ресурсов. Выгрузка проходит без ошибок, но очень долго, все равно. Мы смотрели ваше видео с выгрузкой базы за 3 минуты. Все очень здорово, только Вы не учли один момент: Вы используете монопольный доступ к базе, у нас, Слава Богу, десятки сайтов, и тысячи запросов на этот же сервер ежесекундно, более того пока обновляется БД данного сайта, Вы же прекрасно понимаете, что его никто не выключает для доступа с наружи. И он вынужден обрабатывать запросы на чтение тех таблиц которые обновляются в процессе выгрузки.
Это ответ вам tkachenkoser, почему так всё долго происходит, у вас обычный "виртуальный хостинг со всеми вытекающими"... Нет смысла выделять вам больше ресурсов, если на одном хостинг сервере, кроме вашего сайта есть еще "десятки сайтов, и тысячи запросов на этот же сервер ежесекундно".
так как найти всё-таки эти самые 10% хостеров с портом 3306 в теории реально, а вот найти хостера, который будет давать такое хостинг/железо, меньше чем 3т.р. в месяц очень маловероятно :
tkachenkoser писал(а):Перешел на выделенный сервер. Взял Xeon 4 ядерный, 3 гб оперативы. Скорость сайта не особо изменилась, а вот выгрузка теперь около минуты. Сначала даже не верил, думал ошибка. Было час, стало в 60 раз меньше.
Работает как предыдущая, так и последняя версия туннеля. Как обычно техподдержка сработала на отлично!