Я экспериментирую с GAE за последние 2 месяца.Насколько быстро Google App Engine?
Я сохраняю записи на большой стол, загружая CSV-файл.
Размер моего тестового файла - 300 КБ.
Вот что я нашел
Локальная система
- Загрузить принять менее чем за 1 секунду
- Обрабатывать 2500 записей в течение 3 секунд
На Google Sandbox
Загрузка занимает 5-7 секунд.
Файл обработки дает время ожидания.
Он сохраняет только 60-180 записей.
Мои вопросы
- Почему это занимает слишком много времени?
- Есть ли способ уменьшить это время?
- Google учитывает эту обработку для использования ЦП. Они не раскрывают h/w так, какой процессор они используют внутри страны? Я имею в виду, что я получаю центральный процессор или больше, чем PIII?
Edited для @Drew Sears «ы ответ.
Что я делаю в настоящее время
- Загрузить файл в GAE
- Получить загруженные байты данных. По потоку, подсчитайте строки, сохраните их в большой таблице.
- Существует уникальное поле, id, моя запись.
- Теперь я создать очередь
ИНТ х = linesCount/50;
for(int i<0;i=x;i++)
{
x = i * 50;
Queue queue = QueueFactory.getQueue("test-queue");
queue.add(TaskOptions.Builder.url("/TestQueue")
.param("id", id.toString())
.param("startIdx",String.valueOf(x))
.param("totRec",String.valueOf(50))
);
}
int y = linesCount % 50;
if(y > 0)
{
x = (linesCount/50) * 50;
Queue queue = QueueFactory.getQueue("test-queue");
queue.add(TaskOptions.Builder.url("/TestQueue")
.param("id", id.toString())
.param("startIdx",String.valueOf(x))
.param("totRec",String.valueOf(y))
);
}
Обработка задач сервлет чтения файла из хранилища и использованием totRec и startIdx обработать файл и закройте его ..
Действительно ли время, которое вы испытываете в песочнице Google по первому запросу? Как насчет последующих запросов? – naikus
Задержка, которую вы испытываете, не вызвана отсутствием мощности ЦП, а путем внедрения хранилища данных GAE (и вашего сетевого соединения). GAE разделяет ресурсы с другими приложениями на тех же серверах, но у них есть много циклов процессора, чтобы обойти ... Это хранилище данных, которое отстает. – 2010-07-09 11:15:20
В первом запросе он сохраняет только 60 rceords. Следующий запрос улучшает скорость и сохраняет 120-150 записей. теперь максимум доходит до 184 записей – Manjoor