diff --git a/src/or/directory.c b/src/or/directory.c
index 5d5a1fde58dd38dad66a86046f83933b310c1db7..2890736f1f5660d0aa327488635e7d96e35c0ceb 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -42,7 +42,7 @@ char rend_publish_string[] = "/rendezvous/publish";
 /** Prefix for downloading rendezvous descriptors. */
 char rend_fetch_url[] = "/rendezvous/";
 
-#define MAX_HEADERS_SIZE 10000
+#define MAX_HEADERS_SIZE 50000
 #define MAX_BODY_SIZE 500000
 
 /********* END VARIABLES ************/
diff --git a/src/or/or.h b/src/or/or.h
index d1fd6e97612cc7d8cb2ad0b21974aa9dec83cc25..7548bf4e2c72e07fee7264ec75917c93c7682794 100644
--- a/src/or/or.h
+++ b/src/or/or.h
@@ -16,8 +16,6 @@
 #define WIN32_WINNT 0x400
 #define _WIN32_WINNT 0x400
 #define WIN32_LEAN_AND_MEAN
-/* Number of fds that select will accept; default is 64. */
-#define FD_SETSIZE 512
 #endif
 
 #include <stdio.h>
@@ -118,7 +116,7 @@
 
 /** Upper bound on maximum simultaneous connections; can be lowered by
  * config file. */
-#define MAXCONNECTIONS 1000
+#define MAXCONNECTIONS 10000
 
 #define DEFAULT_BANDWIDTH_OP (1024 * 1000)
 #define MAX_NICKNAME_LEN 19
diff --git a/src/or/rendservice.c b/src/or/rendservice.c
index 296f60876e7d0b0e576f4a107155695bcada1271..d10d47c82e8c774b803364cc0e2aa6926b313af4 100644
--- a/src/or/rendservice.c
+++ b/src/or/rendservice.c
@@ -24,10 +24,10 @@ typedef struct rend_service_port_config_t {
 #define NUM_INTRO_POINTS 3
 
 /** If we can't build our intro circuits, don't retry for this long. */
-#define INTRO_CIRC_RETRY_PERIOD 60*15
+#define INTRO_CIRC_RETRY_PERIOD 60*10
 /** Don't try to build more than this many circuits before giving up
  * for a while.*/
-#define MAX_INTRO_CIRCS_PER_PERIOD 20
+#define MAX_INTRO_CIRCS_PER_PERIOD 10
 
 /** Represents a single hidden service running at this OP. */
 typedef struct rend_service_t {