Невозможно оформить заказ с большим количеством товаров (более 200) в корзине - Magento 1.4.2

Я создал сайт B2B, основанный на версии сообщества Magento 1.4.2. Иногда покупатели пытаются оформить заказ с большим количеством товаров в корзине - до 250! Мои проблемы двояки:

  1. Когда в корзине столько товаров, простая навигация по сайту становится крайне медленной для пользователя.
  2. На кассе OnePage, когда им удается отправить заказ, они получают всплывающее окно javascript, в котором просто указано "undefined", и они остаются на странице извлечения на одной странице.

У кого-нибудь есть подобный опыт в решении этого типа проблем?

Я пытался реализовать memcached, а также кэширование на полных страницах, надеясь, что это поможет уменьшить нагрузку на сервер, но не решило эту проблему.

2 ответа

Решение

Я столкнулся с похожими проблемами с версией Magento для предприятий. Вы можете попробовать отключить боковую панель корзины покупок, если вы этого еще не сделали, это должно помочь сайту ускорить просмотр. Мы изменили боковую панель, чтобы, если в ней было более 25 элементов, она не пыталась загружать продукты, что очень помогло.

Что касается второй ошибки, если вы используете Firebug и Firefox при выполнении процесса заказа, вы должны получить больше информации об ошибке, чем "undefined", что поможет выяснить, что там происходит.

Вы также можете попробовать увеличить memory_limit для php.ini, в итоге мы установили нашу 256MB, что решило большинство ошибок памяти для нашего сайта.

Я не знаю структуру БД в CE 1.4, но у меня были серьезные проблемы с производительностью в CE 1.6.
Причина: неверные и отсутствующие индексы. Они были зафиксированы в CE 1.6.2
Вы можете проверить, поможет ли это вам.
Я сократил время оформления заказа на 38 строк с 73 предметами в общей сложности с 123 до 4 секунд!!!!

Вот оно:

/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;

/* Foreign Keys must be dropped in the target to ensure that requires changes can be done*/

ALTER TABLE `core_url_rewrite` 
DROP FOREIGN KEY `FK_CORE_URL_REWRITE_CTGR_ID_CAT_CTGR_ENTT_ENTT_ID`  , 
DROP FOREIGN KEY `FK_CORE_URL_REWRITE_STORE_ID_CORE_STORE_STORE_ID`  ;


/* Alter table in target */
ALTER TABLE `catalog_category_entity_varchar` 
DROP KEY `MAGMI_CCEV_OPTIMIZATION_IDX` ;


/* Alter table in target */
ALTER TABLE `catalog_product_bundle_stock_index` 
DROP KEY `PRIMARY`, ADD PRIMARY KEY(`entity_id`,`website_id`,`stock_id`,`option_id`) ;


/* Alter table in target */
ALTER TABLE `catalog_product_entity_media_gallery` 
DROP KEY `MAGMI_CPEM_OPTIMIZATION_IDX` ;


/* Alter table in target */
ALTER TABLE `core_url_rewrite` 
CHANGE `id_path` `id_path` varchar(255)  COLLATE utf8_general_ci NULL COMMENT 'Id Path' after `store_id` , 
CHANGE `request_path` `request_path` varchar(255)  COLLATE utf8_general_ci NULL COMMENT 'Request Path' after `id_path` , 
CHANGE `target_path` `target_path` varchar(255)  COLLATE utf8_general_ci NULL COMMENT 'Target Path' after `request_path` , 
CHANGE `is_system` `is_system` smallint(5) unsigned   NULL DEFAULT 1 COMMENT 'Defines is Rewrite System' after `target_path` , 
CHANGE `options` `options` varchar(255)  COLLATE utf8_general_ci NULL COMMENT 'Options' after `is_system` , 
CHANGE `description` `description` varchar(255)  COLLATE utf8_general_ci NULL COMMENT 'Deascription' after `options` , 
CHANGE `category_id` `category_id` int(10) unsigned   NULL COMMENT 'Category Id' after `description` , 
CHANGE `product_id` `product_id` int(10) unsigned   NULL COMMENT 'Product Id' after `category_id` , 
ADD KEY `FK_CORE_URL_REWRITE_PRODUCT_ID_CATALOG_CATEGORY_ENTITY_ENTITY_ID`(`product_id`) , 
DROP KEY `FK_CORE_URL_REWRITE_PRODUCT_ID_CATALOG_PRODUCT_ENTITY_ENTITY_ID` , 
ADD CONSTRAINT `FK_CORE_URL_REWRITE_PRODUCT_ID_CATALOG_CATEGORY_ENTITY_ENTITY_ID` 
FOREIGN KEY (`product_id`) REFERENCES `catalog_product_entity` (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE , 
DROP FOREIGN KEY `FK_CORE_URL_REWRITE_PRODUCT_ID_CATALOG_PRODUCT_ENTITY_ENTITY_ID`  ;


/* Alter table in target */
ALTER TABLE `eav_attribute` 
DROP KEY `MAGMI_EA_CODE_OPTIMIZATION_IDX` ;


/* Alter table in target */
ALTER TABLE `eav_attribute_option_value` 
DROP KEY `MAGMI_EAOV_OPTIMIZATION_IDX` ;


/* The foreign keys that were dropped are now re-created*/

ALTER TABLE `core_url_rewrite` 
ADD CONSTRAINT `FK_CORE_URL_REWRITE_CTGR_ID_CAT_CTGR_ENTT_ENTT_ID` 
FOREIGN KEY (`category_id`) REFERENCES `catalog_category_entity` (`entity_id`) ON DELETE CASCADE ON UPDATE CASCADE , 
ADD CONSTRAINT `FK_CORE_URL_REWRITE_STORE_ID_CORE_STORE_STORE_ID` 
FOREIGN KEY (`store_id`) REFERENCES `core_store` (`store_id`) ON DELETE CASCADE ON UPDATE CASCADE ;

/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
Другие вопросы по тегам