Увеличить количество потоков в гусеничном шасси - PullRequest
0 голосов
/ 13 июля 2011
This is the code taken from http://code.google.com/p/crawler4j/ and the name of this file is MyCrawler.java


public class MyCrawler extends WebCrawler {

        Pattern filters = Pattern.compile(".*(\\.(css|js|bmp|gif|jpe?g"
                + "|png|tiff?|mid|mp2|mp3|mp4"
                + "|wav|avi|mov|mpeg|ram|m4v|pdf"
                + "|rm|smil|wmv|swf|wma|zip|rar|gz))$");

        /*
         * You should implement this function to specify
         * whether the given URL should be visited or not.
         */
        public boolean shouldVisit(WebURL url) {
                String href = url.getURL().toLowerCase();
                if (filters.matcher(href).matches()) {
                        return false;
                }
                if (href.startsWith("http://www.xyz.us.edu/")) {
                        return true;
                }
                return false;
        }

        /*
         * This function is called when a page is fetched
         * and ready to be processed by your program
         */
        public void visit(Page page) {
                int docid = page.getWebURL().getDocid();
                String url = page.getWebURL().getURL();         
                String text = page.getText();
                List<WebURL> links = page.getURLs();            
        }
}

И это код для Controller.java, откуда вызывается MyCrawler ..

public class Controller {
        public static void main(String[] args) throws Exception {
                CrawlController controller = new CrawlController("/data/crawl/root");
                controller.addSeed("http://www.xyz.us.edu/");
                controller.start(MyCrawler.class, 10);  
        }
}

Так что я просто хочу убедиться, что означает эта строка в файле controller.java

controller.start(MyCrawler.class, 10);

вот в чем смысл 10 .. И если мы увеличим эти 10 до 20, то каков будет эффект ... Любые предложения будут оценены ...

Ответы [ 2 ]

3 голосов
/ 13 июля 2011

На этом веб-сайте показан исходный код CrawlController.

Увеличение с 10 до 20 увеличивает количество искателей (каждый в своем собственном потоке) - изучение этого кода покажет вам, как на это повлияетбудет иметь.

1 голос
/ 13 июля 2011

Учитывая имя, которое вы указали в сообщении, вы, похоже, уже знаете, что это делает - оно задает количество потоков на гусеничном шасси. Что касается того, какой эффект это будет иметь ... это зависит в значительной степени от того, сколько времени каждый поток будет ожидать ввода-вывода - в основном по сети и небольшого диска, и от того, сколько у вас пропускной способности процессора и диска. Пиковая пропускная способность произойдет, когда произойдет одно из следующих событий:

  • больше не осталось времени процессора
  • больше пропускной способности сети
  • больше пропускной способности диска

Для процессора не рассчитывайте достичь 100% - максимум 80% или около того.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...