Та же проблема здесь на нескольких сайтах. Нулевых ошибок все же изначально рост числа страниц, а затем снижение до текущих уровней, что составляет примерно половину от общего числа проиндексированных страниц. Я провел много дней, исследуя и пробуя различные тесты, чтобы понять, смогу ли я это выяснить. Все безрезультатно. Я изменил внутренние ссылки, меню, нижние колонтитулы, карты сайта, удалил javascript и т. Д. Ни в одном из данных не было обнаружено каких-либо изменений, связанных с тем, что я сделал, и нет никакой связи между веб-сайтами. Единственное, что я могу видеть, это то, что они, кажется, имеют приоритеты примерно в соответствии со значением страницы (количество внутренних ссылок и близость ссылок на домашнюю страницу), так как пункты меню и связанные страницы с домашней страницы представлены больше, но я не смог вызвать любые изменения, играя с этими факторами. Я не вижу никаких проблем с мобильной выдачей, связанных с этим, поэтому я временно сдался.
В конце концов, я могу лишь утверждать, что Google в первую очередь ставит приоритеты для всех на мобильных устройствах, поэтому они только распределяют ресурсы (кэширование, индексирование, сканирование бюджета) на то, что, по его мнению, являются важными страницами на каждом веб-сайте, пока они не закончат мобильный сначала индексирует все сайты.
Я также искал других людей с той же проблемой, но ты первый, кого я нашел, который опубликовал об этом.
Я записал быструю программу, которая берет один аргумент, сколько A
символы для печати к стандартному выводу в секунду (отрицательный аргумент не означает ограничения уровня).Надеюсь, это поможет! :-) (На GNU libc, необходимо будет связать программу с -lrt
.)
Править: пересмотренный для печати точки по умолчанию, если второй аргумент не указан, в этом случае первый символ этого используется. (И это означает, если Вы хотите распечатать символ NUL, просто укажите пустую строку как второй аргумент. :-))
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
int
sleeptill(const struct timespec *when)
{
struct timespec now, diff;
clock_gettime(CLOCK_REALTIME, &now);
diff.tv_sec = when->tv_sec - now.tv_sec;
diff.tv_nsec = when->tv_nsec - now.tv_nsec;
while (diff.tv_nsec < 0) {
diff.tv_nsec += 1000000000;
--diff.tv_sec;
}
if (diff.tv_sec < 0)
return 0;
return nanosleep(&diff, 0);
}
int
main(int argc, char **argv)
{
double rate = 0.0;
char *endp;
struct timespec start;
double offset;
if (argc >= 2) {
rate = strtod(argv[1], &endp);
if (endp == argv[1] || *endp)
rate = 0.0;
else
rate = 1 / rate;
if (!argv[2])
argv[2] = ".";
}
if (!rate) {
fprintf(stderr, "usage: %s rate [char]\n", argv[0]);
return 1;
}
clock_gettime(CLOCK_REALTIME, &start);
offset = start.tv_nsec / 1000000000.0;
while (1) {
struct timespec till = start;
double frac;
double whole;
frac = modf(offset += rate, &whole);
till.tv_sec += whole;
till.tv_nsec = frac * 1000000000.0;
sleeptill(&till);
write(STDOUT_FILENO, argv[2], 1);
}
}
Ну, я теперь использую nuttcp, чтобы сделать "реальные" нагрузочные тесты вместо этого. Это, кажется, имеет довольно низко наверху, таким образом, система тестирования не очень нарушена.
Если Вы соглашаетесь с получением всей сотни байтов за один раз, Вы могли бы сделать цикл с sleep
и простой echo
в оболочке как первая попытка, по крайней мере.