Скорость вставки в базу можно проверить отдельно, посмотрев SHOW PROCESSLIST;
Однако исходя из описания у вас проблема не со вставкой в базу, а с тем что бы обработать большой XML файл.
jaxel правильно подсказывает что загружать весь XML в память плохая практика, но, скорее всего вы так и делаете.
Армянское Радио правильно указывает на то что нужно пользоваться средствами мониторинга и профилирования. Попробуйте поставить и освоить xhprof, это будет вам очень полезно с точки зрения общего понимания что и как работает и сможете ответить на вопрос точно - где тратиться больше всего времени, без догадок и домыслов.
Гуглите на тему "поточный парсинг xml", с его помощью сможете парсить практически без ограничений и с минимальным потреблением ресурсов, в рамках возможного в PHP, конечно же.
Для сравнения кейс парсинга каталога книг с ozon.ru на Golang:
- 3.9 гигабайт файл xml
- 2.3 миллиона книг (у каждой книги название, авторы, описание, ссылка на обложку, перечень языков, стоимость книги, перечень категорий и отдельно список всех категорий к книгам)
- 10 минут поточного парсинга с сохранением в базу
- без предварительного сохранения на диск
- с автодокачкой при сетевых разрывах